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;清空表,不記錄日志