语法格式
INSERT [INTO] [database_name.]table_name [(col_name,...)]
VALUES ({expr | DEFAULT},...),(...),...
或
INSERT [INTO] [database_name.]table_name
SELECT ... FROM [database_name.]table_name ...
INSERT 将新行插入到一个已存在的表中。INSERT...VALUES 形式的语句基于明确
的值插入记录行。INSERT ... SELECT 形式的语句从另一个或多个表中选取出值,
并将其插入。
参数说明如下:
table_name:是要被插入数据的表。
col_name:指出语句指定的值赋给哪个列。
如果在INSERT...VALUES 或INSERT...SELECT 中没有指定column 列,
那么所有列
的值必须在VALUES()列表中或由SELECT 提供。如果用户不知道表的列的次序,
可以使用DESC table_name 来查看。
使用关键词DEFAULT,明确地把列设置为默认值。这样,编写向所有列赋值的
INSERT 语句时可以更容易,因为使用DEFAULT 可以避免编写出不完整的、未包
含全部列值的VALUES 清单。如果不使用DEFAULT,用户必须注明每一个列的名
称,与VALUES 中的每个值对应。
可以使用DEFAULT (col_name)作为设置列默认值的一个更通用的形式。
如果column 列表和VALUES 列表都为空,INSERT 将创建一个行,它的每一列都
设置为它的默认值。
可以指定一个表达式expr 来提供列值。例如,插入一个INT 型的数据表达式可以
写为INSERT INTO t(a) VALUES(3+5);