【MySQL資料庫】DML語言,增刪改
阿新 • • 發佈:2021-01-26
技術標籤:Mysql資料庫
文章目錄
DML語言
資料操縱語言DML(Data Manipulation Language),使用者通過它可以實現對資料庫的基本操作。
一、插入
常用語法
# 單行插入
insert into 表名(欄位名,...)
values(值1,...);
# 多行插入 插入3行
insert into 表名(欄位名,...)
values(值1,...),(值2,...),(值3 ,...);
# 查詢插入
insert into(id,name,phone)
select 26,'宋茜','11111111';
通過set插入值
insert into beauty
set id=19,name='劉濤',phone='999';
特點:
1、欄位型別和值型別一致或相容,而且一一對應
2、可以為空的欄位,可以不用插入值,或用null填充
3、不可以為空的欄位,必須插入值
4、欄位個數和值的個數必須一致
5、欄位可以省略,但預設所有欄位,並且順序和表中的儲存順序一致
二、修改
修改單表語法
update 表名 set 欄位=新值,欄位=新值 【where 條件】
修改多表語法
update 表1 別名1,表2 別名2
set 欄位=新值,欄位=新值
where 連線條件
and 篩選條件
sql99 連線+修改 語法
# 1、修改張無忌的女朋友的手機號為114
update boys bo
inner join beauty b on bo.id=b.boyfriend_id
set b.phone='114'
where bo.boyName='張無忌'
# 2、修改沒有男朋友的女神的男朋友編號都為2
update boys bo
right join beauty b on bo.id=b.boyfriend_id
set b.boyfriend_id= 2
where bo.id is null;
三、刪除
方式1:delete語句
單表的刪除: ★
delete from 表名 【where 篩選條件】
多表的刪除:
delete 別名1,別名2
from 表1 別名1,表2 別名2
# 也可以用inner join內連線
where 連線條件
and 篩選條件;
方式2:truncate語句
直接操作磁碟,不經過事務!
truncate table boys; # 一刪全刪,在清空表的時候效率比較高
truncate table 表名
delete和truncate兩種方式的區別【面試題】
#1.truncate不能加where條件,而delete可以加where條件
#2.truncate的效率高一丟丟
#3.truncate 刪除帶自增長的資料後,如果再插入資料,資料從1開始
# delete 刪除帶自增長的資料後,如果再插入資料,資料從上一次的斷點處開始
#4.truncate刪除不能回滾,delete刪除可以回滾