Importing an SQL file using the command line in MySQL
Start your free 7-days trial now!
We can import an SQL file using the command line in MySQL using the following command:
mysql -u username -p database_name < file_name.sql
Where:
usernameis your MySQL username.database_nameis the name of the database you would like to import the file to.file_nameis the name of the sql file you would like to import. It is best practice to include the full file path.
If the database_name that you specify does not yet exist, then you will have to create it first if your SQL file does not contain a CREATE DATABASE statement. Learn more about how to create a database here.
Example
Consider we have the following table students residing within the people database:
student_id | fname | lname | day_enrolled | age | username |
|---|---|---|---|---|---|
1 | Sky | Towner | 2015-12-03 | 17 | stowner1 |
2 | Ben | Davis | 2016-04-20 | 19 | bdavis2 |
3 | Travis | Apple | 2018-08-14 | 18 | tapple3 |
4 | Arthur | David | 2016-04-01 | 16 | adavid4 |
5 | Benjamin | Town | 2014-01-01 | 17 | btown5 |
The above sample table can be created using the code here.
To import an SQL file test.sql that contains the SQL statement SELECT * FROM students; to database people:
mysql -u root -p people < /Users/Bob/test.sql
student_id fname lname day_enrolled age username1 Sky Towner 2015-12-03 17 stowner12 Ben Davis 2016-04-20 19 bdavis23 Travis Apple 2018-08-14 18 tapple34 Arthur David 2016-04-01 16 adavid45 Benjamin Town 2014-01-01 17 btown5
On running the command and inputting our password, we can see that the SQL code within the test.sql file is executed returning the contents of the students table within the people database.