Mysql data import method mysqlimport_MySQL

Source: Internet
Author: User
Mysql data import method mysqlimport

Mysql data import method mysqlimport

1). mysqlimport syntax introduction:

Mysqlimport is located in the mysql/bin directory and is a very effective tool for mysql to load (or import) data. This is a command line tool. There are two parameters and a large number of options to choose from. This tool imports a text file into your specified database and table. Finally, we want to import data from the customers.txt file to the Custermers table in the Meet_A_Geek database:

Mysqlimport Meet_A_Geek Customers.txt

Note: customers.txt is the text file for data import, while Meet_A_Geek is the database to be operated, and the table name in the database is Customers, the data format of the text file must be the same as that of the record in the MERS table. Otherwise, the mysqlimport command will fail.

The table name is the file string before the first period (.) of the imported file. Another example is as follows:

Mysqlimport Meet_A_Geek

Then we will import the content in the file to the Cus table in the database Meet_A_Geek.

In the above example, only two parameters are used and no more options are used. The following describes the options of mysqlimport.

2). common mysqlimport options:


-D or -- delete all information in the data table before the new data is imported into the data table.

-F or -- force: no matter whether an error occurs or not, mysqlimport will force data insertion to continue.

-I or -- ignore mysqlimport skip or ignore those with the same unique

The data in the imported file is ignored.

-L or-lock-tables: the table is locked before data is inserted. This prevents,

When you update a database, user queries and updates are affected.

-R or-replace is opposite to-I.

The table contains records with the same unique keywords.

-- Fields-enclosed-by = char

Specify what records are included in a text file. in many cases

The data is enclosed in double quotation marks. By default, data is not enclosed by characters.

-- Fields-terminated-by = char

Specifies the delimiter between values of each data. in files separated by periods,

The delimiter is a period. You can use this option to specify the delimiter between data.

The default delimiter is a Tab)

-- Lines-terminated-by = str

This option specifies the delimiter between rows and rows in a text file.

Or character. By default, mysqlimport uses newline as the line separator.

You can use a string to replace a single character:

A new line or press Enter.

Common options of the mysqlimport command include-v display version and-p prompt for password.

3). example: import a file with a comma as the separator

The record format of the file row is as follows:

"1", "ORD89876", "1 Dozen Roses", "19991226"

Our task is to import the data in this file to the table Orders in the Meet_A_Geek database,

We use this command:

Bin/mysqlimport-prolactin-fields-enclosed-by = "-fields-terminated-by =, Meet_A_Geek Orders.txt

This command may seem uncomfortable, but it is very simple when you are familiar with it.

The first part is bin/mysqlimport, which tells the operating system that the command you want to run is mysqlimport in the mysql/bin directory. option p requires a password, this requires you to enter the password before changing the database, which makes the operation safer. We use the r option because we want to replace the record with a unique keyword that already exists in the file record with the data in the file. The data in our form is not up-to-date and must be updated using the data in the file. Therefore, we use the r option to replace the existing records in the database. L option is used to lock the table when we insert data, which prevents users from querying or changing the table when we update the table.

Mysql data import command (2): Using batch processing and LOAD

Batch processing imports files and imports data from SQL files to databases. batch processing is a non-interactive way to run mysql programs, just like the commands you use in mysql, you will still use these commands.

To implement batch processing, you need to redirect a file to the mysql program. First, we need a text file containing the same text as the command we entered in mysql.

The suffix and any other legal names do not have to end with SQL ):

USE Meet_A_Geek;

Insert into mers (Customer_ID, Last_Name) VALUES (NULL, "Block ");

Insert into mers (Customer_ID, Last_Name) VALUES (NULL, "Newton ");

Insert into mers (Customer_ID, Last_Name) VALUES (NULL, "Simmons ");

Note that the syntax of these sentences must be correct, and each sentence ends with a semicolon. Select the database for the above USE command, and INSERT the command to INSERT data.

Next, we need to import the above files to the database. before importing the files, we need to confirm that the database is running, that is, the mysqld process (or service, which is called "service" under Windows NT). unix is running.

Then run the following command:


Enter the password as Prompted. if the statements in the above file are correct, the data will be imported to the database.

Use load data infile in the command line to import DATA from the file to the database:

Now you may ask yourself, "Why do I need to input all these SQL statements into the file and then run them through the program ?" This seems to require a lot of work. That's good. you may be right. But what if you have a log record generated from all these commands? This is great now. well, most databases will automatically generate the log of event records in the database. Most logs contain original SQL commands that have been used. Therefore, if you cannot export data from your current database to a new mysql database, you can use the batch processing features of log and mysql, to quickly and conveniently import your data. Of course, this saves the trouble of typing.


This is the last method to import data to the MySQL database. This command is very similar to mysqlimport, but this method can be used in the mysql command line. That is to say, you can use this command in all APIs. With this method, you can import the data you want to import in the application. Before using this command, the mysqld process (server) must be running.

Start mysql command line:


Enter the password as Prompted. after entering the mysql command line, enter the following command:

USE Meet_A_Geek;

Load data infile "/home/mark/data. SQL" INTO TABLE Orders;

To put it simply, the content in the file data. SQL will be imported into the table Orders. like the mysqlimport tool, this command also has some optional parameters. For example, if you want to import data from your computer to a remote database server, run the following command:

Load data local infile "C:/MyDocs/SQL .txt" INTO TABLE Orders;

The LOCAL parameter above indicates that the file is a LOCAL file, and the server is the server you log on. In this way, you can use ftp to upload files to the server, and MySQL completes the process for you. you can also set the priority of the insert statement. if you want to mark it as LOW_PRIORITY, MySQL will wait until no one else reads the table, insert data. You can use the following command:

Load data LOW_PRIORITY INFILE "/home/mark/data. SQL" INTO TABLE Orders;

You can also specify whether to replace or ignore duplicate key values in the file and data table when inserting data. Syntax to replace duplicate key values:

Load data LOW_PRIORITY INFILE "/home/mark/data. SQL" REPLACE INTO TABLE Orders;

The above sentence looks a little clumsy, but it puts the keywords in a place that your parser can understand.

The following options describe the file record format. these options are also available in mysqlimport. They look a little different here. First, you need to use the FIELDS keyword. if you use this keyword, the MySQL parser wants to see at least one of the following options:

Terminated by character

Enclosed by character

Escaped by character

These keywords have The same usage as their parameters in mysqlimport. The terminated by delimiter that describes The field, which is a tab character (/t) BY default)

Enclosed by describes the starting characters of a field. For example, enclose each field in quotation marks.

Escape characters described by escaped. The default value is backslash :/).

The following example uses the mysqlimport command to import the same file to the database using the load data infile statement:

Load data infile "/home/mark/Orders.txt" replace into table Orders fields terminated by ', 'enabledby '"';

In the load data infile statement, mysqlimport has no features:

Load data infile can import files to the database according to the specified columns. This feature is important when we want to import part of the data. For example, when upgrading from the Access database to the MySQL data database, you need to add some columns (columns/fields) to the MySQL database to meet some additional needs.

At this time, the data in our Access database is still available, but because the columns (fields) of the data are no longer matched with those in MySQL, the mysqlimport tool cannot be used. Even so, we can still use load data infile. the following example shows how to import DATA to a specified field:

Load data infile "/home/Order.txt" into table Orders (Order_Number, Order_Date, Customer_ID );

As you can see, we can specify the required topic (fields ). These specified fields are still enclosed in parentheses and separated by commas. if you omit any of them, MySQL will remind you

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.