INSERT语句
向表中插入数据,可以使用SQL的 INSERT 语句。该语句的基本语法如下:
sql
INSERT INTO table_name (column1, column2, ..., columnN)
VALUES (value1, value2, ..., valueN);
其中:
* table_name 是要插入数据的表名。
* column1 , column2 , ..., columnN 是要插入数据的列名。
* value1 , value2 , ..., valueN 是要插入数据的列值。
批量插入
如果需要向表中插入大量数据,可以使用批量插入操作。批量插入可以显着提高插入效率。
MySQL中可以通过 LOAD DATA 语句实现批量插入:
sql
LOAD DATA INFILE 'data_file_path'
INTO TABLE table_name
(column1, column2, ..., columnN)
FIELDS TERMINATED BY '\t'
(column1, column2, ..., columnN);
其中:
* data_file_path 是包含插入数据的文本文件路径。
* table_name 是要插入数据的表名。
* column1 , column2 , ..., columnN 是要插入数据的列名。
* FIELDS TERMINATED BY '\t' 指定分隔符,本例中使用制表符。
* (column1, column2, ..., columnN) 指定列名与数据文件中的列顺序的对应关系。
INSERT...SELECT语句
INSERT...SELECT 语句可以将一个表中的数据插入到另一个表中:
sql
INSERT INTO table_name (column1, column2, ..., columnN)
SELECT column1, column2, ..., columnN
FROM other_table_name
WHERE condition;
其中:
* table_name 是要插入数据的表名。
* column1 , column2 , ..., columnN 是要插入数据的列名。
* other_table_name 是要从其选择数据的表名。
* column1 , column2 , ..., columnN 是要选择的列名。
* WHERE condition 是可选的条件,用于过滤要选择的数据。
注意点
向表中插入数据时,需要注意以下几点:
* 要插入的数据必须符合列的数据类型和约束条件。
* 列值必须用引号括起来,除非它们是数值或布尔值。
* INSERT 语句会自动插入当前时间戳作为带有 TIMESTAMP 数据类型的列的值。
* 如果表中有主键列,则插入的数据必须包含唯一的主键值。