insert into
插入一条数据
INSERT INTO student(sid,sname,sage,ssex) VALUES(1,"wangdali",18,0);
插入多条数据
INSERT INTO student(sid,sname,sage,ssex) VALUES(2,"wangmeili",18,1) , (3,"lida",18,1);
插入三条数据
INSERT INTO student
SELECT 4,"zhangsan",19,1 UNION ALL
SELECT 5,"zhaodade",19,1 UNION ALL
SELECT 6,"nali",19,0;
replace into
replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中,
-
如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。
-
否则,直接插入新数据。
MySQL replace into 有三种形式:
replace into tbl_name(col_name, ...) values(...)
replace into tbl_name(col_name, ...) select ...
replace into tbl_name set col_name=value, ...
insert ignore into
当使用INSERT语句向表中添加一些行数据并且在处理期间发生错误时,INSERT语句将被中止,并返回错误消息。因此,可能不会向表中没有插入任何行。但是,如果使用INSERT INGORE语句,则会忽略导致错误的行,并将其余行插入到表中。
INSERT INGORE语句的语法如下:
避免重复插入数据语句
INSERT IGNORE INTO TableName values(...)
如果有主键冲突,则忽略插入操作