If you’re at the MySQL command line mysql> you can declare the SQL file as source, like:
mysql> source 'path/to/test.sql';
Or use the MySQL command line client:
mysql -hhostname -uuser database < path/to/test.sql
SQL → MySQL reference
Type mapping
| Value kind | in SQL | in MySQL |
|---|---|---|
| Float | DOUBLE PRECISION | DOUBLE |
| Long text | TEXT / CLOB | LONGTEXT |
| Datetime | TIMESTAMP | DATETIME |
| Binary | BLOB / BYTEA | LONGBLOB |
| Boolean | BOOLEAN / SMALLINT | TINYINT(1) |
| JSON | JSON / TEXT | JSON |
Dialect differences
SQL is a file format and MySQL is a database server, so the target has to be told the types the file never carried – the rows below are where the two sides diverge.
| Property | in SQL | in MySQL |
|---|---|---|
| port | — | 3306 |
| identifiers | Two competing conventions: single-quoted literals and diale... | `backtick` |
| row limit | — | LIMIT n |
| dates | Depends on the dialect: DATE literals, TO_DATE(), or plain ... | DATETIME, TIMESTAMP, DATE, TIME |
| long text | — | TINYTEXT / TEXT / MEDIUMTEXT / LONGTEXT |
| binary | Dialect-specific: X-quoted literal, 0x hex, or decode() | BLOB / TINYBLOB / LONGBLOB |
| separator | Statement terminators (;) | — |
| encoding | No declaration | — |
| typing | Types belong to the target database, and they differ betwee... | — |
| shape | Statements; a dump usually means CREATE TABLE plus INSERT rows | Tables of rows and columns |
| ceiling | No formal limit, but a single INSERT statement has to fit i... | — |
Command line
| Side | Command |
|---|---|
| MySQL | mysqldump, or mysql -e "SELECT ..." > out.csv |
| MySQL (load) | mysqlimport, or LOAD DATA INFILE |
Convert your data online, free
Free in-browser converters for CSV, Excel, JSON, XML and SQL: Withdata Online Data Conversion. Large files, batch conversion or scheduling? See the offline desktop apps, or browse all data conversion tools.