1. 程式人生 > 其它 >【MySQL資料庫】DML語言,增刪改

【MySQL資料庫】DML語言,增刪改

技術標籤: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 條件】

修改多表語法

update1 別名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
from1 別名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刪除可以回滾