语法
INSERT INTO 表名称 VALUES (值1, 值2,....)
我们也可以指定所要插入数据的列:
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
插入完整的行
指定表名和被插入到新行中的值。下面举一个例子:
insert into news value(2, 'jones', '123456'); # 插入一条数据到news表
此例子插入一个新客户到news表。存储到每个表列中的数据在VALUES子句中给出,对每个列必须提供一个值。如果某个列没有值(如上面的jones和123456列),应该使用NULL值(假定表允许对该列指定空值)。各个列必须以它们在表定义中出现的次序填充。第一列id也为NULL。这是因为每次插入一个新行时,该列由MySQL自动增量。你不想给出一个值(这是MySQL的工作),又不能省略此列(如前所述,必须给出每个列),所以指定一个NULL值(它被MySQL忽略,MySQL在这里插入下一个可用的cust_id值)。
插入多个行
INSERT可以插入一行到一个表中。但如果你想插入多个行怎么办?
可以使用多条INSERT语句,甚至一次提交它们,每条语句用一个分号结束,如下所示:
INSERT INTO 表名(字段名)VALUES (字段值),(第二条数据),(第三条数据)...; #VALUES则是可以插入多条数据
例子
insert into posts(author, title, content) values ('xiaohong', 'python大法好', 'Python是真的很棒'), ('xiaoming', 'java大法好', 'Java比Python牛多了'), ('laowang', 'php大法好', 'php是世界上最好语言');