DML: Data ManipulationLanguage
数据处理语言
.DML: INSERT, DELETE,UPDATE
.INSERT
INSERT [INTO]tbl_name[(col_name,...)] {VALUES | VALUE} (val1,...),(...),…
例子
insert intoscore(name,gender,math,english) values("ab","f",90,80),("cd","m",99,89);
可以同时写多条记录,用逗号隔开
复制表score,并将新表命名为分数,但是这样复杂过来的新表,有一些属性,如主键,附加属性,如自动升序等不会被拷贝
create table fenshu select* from score;
如果要将旧表的所有的属性,还有表的数据全部拷贝过来,用以下两个命令执行;
create table f2 like score;这个语句会将表的所有属性还有表结构都拷贝到新表f2里
insert into f2 select *
from score;用这个语句将旧表score的数据都拷贝到新表f2里;
以下语句,将表分数的内容全部清空,但是保留了表的结构
delete from fenshu;
以下语句将score这张表的内容复制到表fenshu里
insert into fenshu select* from score;
以下的语句,直接把student的表里内容插入到emp这里表,这里要求emp要存在,同时,emp和student两张表的结构要一模一
insert into emp select * from student;
.UPDATE
UPDATE tbl_nameSET col1=val1, col2=val2, ... [WHERE clause][ORDER BY 'col_name' [DESC]] [LIMIT [m,]n];
例子如下,更新表datetb中id=1的记录,将id调整为2
update datetb set id=2,name=sunnywhere id=1;
同时更改一个条件中的多个字段,用逗号隔开
.DELETE:
DELETE FROM tbl_name[WHEREclause] [ORDER BY 'col_name' [DESC]] [LIMIT [m,]n];
可先排序再指定删除的行数;如以下的语句表示将english这一列降序排列,将前面两行删掉
delete from fenshu orderby english desc limit 2;
.TRUNCATE TABLE tbl_name;清空表,不记录日志