MySQL-第六篇DML语句
1、DML主要操作数据表里的数据,主要完成3个任务:
1》insert:插入数据。格式:insert into ...
2》delete:删除数据。格式:delete from ...
3》update:修改数据。
2、insert into语句
insert into xxx [(column[,column...])]values(value[,value...]);
如果省略了表名后面的括号及括号里的列名表,默认将为所有列插入值,则需为每一列都指定一个值,某些可以写固定某个值,比如null。
还可以使用子查询插入数据。
insert into xxx [(column[,column...])] subquery;
还有一种插入方式是values后面使用多个括号包含多条记录,记录之间使用“,”分隔。
insert into xxx [(column[,column...])]values(value[,value...]),(value[,value...]);
3、update语句
update语句用于修改数据表的记录,每次可以修改多条记录,通过where子句限定修改条件。
update xxx set column1=value1[,column2=value2]... [where condition];
一次修改多列:
update xxx set column1=value1[,column2=value2]...
4、delete from语句
删除指定表的记录。使用delete from不需要指定列名,因为总是按行删除的。
where子句用于指定删除哪些行,缺省where子句将删除整张表的数据。
delete from xxx [where condition];
当主表记录被从表记录参照时,主表记录不能被删除,只有先将从表中参照主表记录的所有记录全部删除后,才可以删除主表记录;如果定义外键约束时定义了主表记录和从表记录之间的级联删除on delete cascade,或者使用on delete set null限定在主表记录被删除时将参照记录的外键字段值设置为null。