六、MySQL DML数据操纵语言学习笔记(插入、修改、删除详解 + 强化复习)
DML語言
數(shù)據(jù)操作語言:
- 插入:insert
- 修改:update
- 刪除:delete
一、插入語句
(1)方式一:經(jīng)典的插入方式
語法:
insert into 表名(列名,…)values(值1,…);
(2)方式二:
語法:
insert into 表名
set 列名=值,列名=值,…
兩種方式大PK:
1、方式一 支持一次性插入多行數(shù)據(jù),但方式二不支持
2、方式一支持子查詢,但方式二不支持
二、修改語句
1.修改單表的記錄★
語法:
update表名set列=新值,列=新值,.…
where 篩選條件;
2.修改多表的記錄【補充】
語法:
sql 92語法:
update 表1別名,表2別名set 列=值,.….
where 連接條件
and 篩選條件;
sql 99語法:
update 表1別名
inner/left/right join 表2 別名
on連接條件
where 篩選條件;
三、刪除語句
方式一:delete
注意:
1、如果不加where篩選條件的話,delete會刪除整張表中的數(shù)據(jù)(保留表的結(jié)構(gòu))。
2、并且delete會記錄日志,意味著刪除后的數(shù)據(jù)還可以恢復(fù),但是效率低。
語法:
1、單表的刪除
delete from 表名
where 篩選條件;
2、多表的刪除【補充】
sql 92語法:
delete表1的別名,表2的別名
from表1 別名,表2 別名
where 連接條件
and 篩選條件;
sql 99語法:
delete表1的別名,表2的別名
from表1別名
inner/left/right join表2 別名
on連接條件
where 篩選條件;
方式二: truncate
語法:truncate table 表名;
注意:
1、truncate不會記錄日志,刪除后的數(shù)據(jù)不能恢復(fù),但是效率高;truncate不能用于有外鍵約束引用的表。
2、truncate語句后面不允許加篩選條件
#delete pk truncate:
1.delete 可以加where條件,truncate不能加
2.truncate刪除,效率高一丟丟
3.假如要刪除的表中有自增長列,如果用delete刪除后,再插入數(shù)據(jù),自增長列的值從斷點開始,而truncate刪除后,再插入數(shù)據(jù),自增長列(比如索引)的值從1開始。
4.truncate 刪除后沒有返回值,而delete刪除后有返回值(比如:刪除了幾行數(shù)據(jù))
5.truncate 刪除不能回滾,delete刪除可以回滾
數(shù)據(jù)的插入修改刪除強化練習(xí):
# 數(shù)據(jù)的插入修改刪除強化練習(xí) # 1、運行以下腳本創(chuàng)建表 my_employees USE myemployees; CREATE TABLE my_employees(Id INT(10),First_name VARCHAR(10),Last_name VARCHAR(10),Userid VARCHAR(10),Salary DOUBLE(10,2) ); CREATE TABLE users(id INT,userid VARCHAR(10),department_id INT );#2. 顯示表my_employees的結(jié)構(gòu) DESC my_employees;#3. 向my_employees表中插入下列數(shù)據(jù) ID FIRST_NAME LAST_NAME USERID SALARY 1 patel Ralph Rpatel 895 2 Dancs Betty Bdancs 860 3 Biri Ben Bbiri 1100 4 Newman Chad Cnewman 750 5 Ropeburn Audrey Aropebur 1550#方式一: INSERT INTO my_employees VALUES(1,'patel','Ralph','Rpatel',895), (2,'Dancs','Betty','Bdancs',860), (3,'Biri','Ben','Bbiri',1100), (4,'Newman','Chad','Cnewman',750), (5,'Ropeburn','Audrey','Aropebur',1550); DELETE FROM my_employees;#方式二: INSERT INTO my_employees SELECT 1,'patel','Ralph','Rpatel',895 UNION SELECT 2,'Dancs','Betty','Bdancs',860 UNION SELECT 3,'Biri','Ben','Bbiri',1100 UNION SELECT 4,'Newman','Chad','Cnewman',750 UNION SELECT 5,'Ropeburn','Audrey','Aropebur',1550;#4. 向users表中插入數(shù)據(jù) 1 Rpatel 10 2 Bdancs 10 3 Bbiri 20 4 Cnewman 30 5 Aropebur 40INSERT INTO users VALUES(1,'Rpatel',10), (2,'Bdancs',10), (3,'Bbiri',20);#5.將3號員工的last_name修改為“drelxer” UPDATE my_employees SET last_name='drelxer' WHERE id = 3;#6.將所有工資少于900的員工的工資修改為1000 UPDATE my_employees SET salary=1000 WHERE salary<900;#7.將userid 為Bbiri的user表和my_employees表的記錄全部刪除 DELETE u,e FROM users u JOIN my_employees e ON u.`userid`=e.`Userid` WHERE u.`userid`='Bbiri';#8.刪除所有數(shù)據(jù) DELETE FROM my_employees; DELETE FROM users;#9.檢查所作的修正 SELECT * FROM my_employees; SELECT * FROM users;#10.清空表my_employees TRUNCATE TABLE my_employees; 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的六、MySQL DML数据操纵语言学习笔记(插入、修改、删除详解 + 强化复习)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS面向对象——class定义类、类的构
- 下一篇: Node使用MySQL