Summarize some knowledge points of MySQL: MySQL import data

MySQL import data

In this chapter, we introduce several simple MySQL data import commands.


1. mysql command import

The syntax format of using the mysql command to import is:

mysql -u用户名    -p密码    <  要导入的数据库数据(kxdang.sql)

Example:

# mysql -uroot -p123456 < kxdang.sql

The above command will import the entire backup database kxdang.sql.


2. Source command import

To import the database with the source command, you need to log in to the database terminal first:


mysql> create database abc;      # 创建数据库
mysql> use abc;                  # 使用已创建的数据库 
mysql> set names utf8;           # 设置编码
mysql> source /home/abc/abc.sql  # 导入备份数据库

3. Use LOAD DATA to import data

MySQL provides the LOAD DATA INFILE statement to insert data. In the following example, the file dump.txt will be read from the current directory, and the data in the file will be inserted into the mytbl table of the current database.


mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;

 If the LOCAL keyword is specified, it indicates that the file is read from the client host according to the path. If not specified, file is read on the server by path.

You can explicitly specify column value delimiters and end-of-line markers in the LOAD DATA statement, but the default markers are locators and newlines.

The syntax for the FIELDS and LINES clauses is the same for both commands. Both clauses are optional, but if both are specified, the FIELDS clause must appear before the LINES clause.

If the user specifies a FIELDS clause, its clauses (TERMINATED BY, [OPTIONALLY] ENCLOSED BY, and ESCAPED BY) are also optional, however, the user must specify at least one of them.


mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl
  -> FIELDS TERMINATED BY ':'
  -> LINES TERMINATED BY '\r\n';

By default, LOAD DATA inserts data in the order of the columns in the data file. If the columns in the data file are inconsistent with the columns in the inserted table, you need to specify the order of the columns.

For example, the order of columns in the data file is a, b, c, but the order of columns in the inserted table is b, c, a, then the data import syntax is as follows:


mysql> LOAD DATA LOCAL INFILE 'dump.txt' 
    -> INTO TABLE mytbl (b, c, a);

4. Use mysqlimport to import data

The mysqlimport client provides a command-line interface to the LOAD DATA INFILEQL statement. Most options to mysqlimport correspond directly to the LOAD DATA INFILE clause.

To import data from the file dump.txt into the mytbl data table, you can use the following command:


$ mysqlimport -u root -p --local mytbl dump.txt
password *****

The mysqlimport command can specify options to set the specified format. The format of the command statement is as follows:


$ mysqlimport -u root -p --local --fields-terminated-by=":" \
   --lines-terminated-by="\r\n"  mytbl dump.txt
password *****

Use the --columns option in the mysqlimport statement to set the order of the columns:


$ mysqlimport -u root -p --local --columns=b,c,a \
    mytbl dump.txt
password *****

Introduction to common options of mysqlimport

options Function
-d or --delete Delete all information in the data table before importing new data into the data table
-f or --force Regardless of whether an error is encountered, mysqlimport will forcefully continue to insert data
-i or --ignore mysqlimport skips or ignores rows with the same unique key, and the data in the import file is ignored.
-l or -lock-tables Lock the table before the data is inserted, which prevents user queries and updates from being affected when you update the database.
-r or -replace This option is the opposite of the -i option; this option will replace records with the same unique key in the table.
--fields-enclosed- by= char Specify what to enclose the data records in the text file. In many cases, the data is enclosed in double quotation marks. By default data is not enclosed in characters.
--fields-terminated- by=char Specifies the delimiter between the values ​​of each data, which is a period in a period-delimited file. You can use this option to specify the delimiter between data. The default delimiter is Tab
--lines-terminated- by=str This option specifies the string or character that delimits data between lines in a text file. By default, mysqlimport uses newline as the line separator. You can choose to replace a single character with a string: a newline or a carriage return.

Commonly used options for the mysqlimport command include -v to display the version (version), -p to prompt for a password (password) and so on.

Guess you like

Origin blog.csdn.net/2301_76147196/article/details/130887974