sql >> Base de Datos >  >> RDS >> Mysql

¿Algún controlador JDBC admite el comando LOAD DATA INFILE sql?

Lo siguiente funcionará a través de JDBC. Tenga en cuenta que para usar LOAD DATA INFILE necesita privilegios de superusuario. Que no necesita para LOAD DATA LOCAL INFILE

Connection con = DriverManager.getConnection("jdbc:mysql://localhost/foobar", "root", "password");
Statement stmt = con.createStatement();
String sql = 
    "load data infile 'c:/temp/some_data.txt' \n" +
    "   replace \n" +
    "   into table prd \n" +
    "   columns terminated by '\\t' \n" +
    "   ignore 1 lines";
stmt.execute(sql);

Si usa LOAD DATA INFILE ¡La ubicación del archivo se basa en el sistema de archivos del servidor! Si usa un archivo local, obviamente se basa en el sistema de archivos del cliente.