INSERT INTO
本章节介绍如何插入数据。
基本语法
- 标准格式插入数据。
INSERT INTO [db.]table [(c1, c2, c3)] VALUES (v11, v12, v13), (v21, v22, v23), ...
对于存在于表结构中但不存在于插入列表中的列,它们将会按照如下方式填充数据:
- 如果存在DEFAULT表达式,根据DEFAULT表达式计算被填充的值。
- 如果没有定义DEFAULT表达式,则填充零或空字符串。
接复制表结构创建表示例,插入数据:
insert into demo_t values(1,'Candy','23','M'),(2,'cici','33','F');
- 使用SELECT的结果写入。
INSERT INTO [db.]table [(c1, c2, c3)] SELECT ...
写入的列与SELECT的列的对应关系是使用位置来进行对应的,它们在SELECT表达式与INSERT中的名称可以是不同的。需要对它们进行对应的类型转换。
除了VALUES格式之外,其他格式中的数据都不允许出现诸如now(),1+2等表达式。VALUES格式允许您有限度的使用这些表达式,但是不建议您这么做,因为执行这些表达式很低效。