Mysql DML 插入 修改 刪除

2021-09-24 18:52:56 字數 2175 閱讀 7863

一、插入

插入使用關鍵字insert into,插入有兩種方式:

#方式一:常用

insert

into t_a

values(.

..);

#方式二:使用set,不常用

insert

into t_a

set id=1,

`name`

='劉濤'

;

使用方式一的好處:

1️⃣方式一支援一次性插入多行資料(只需要建立一次資料庫連線),且效率遠遠高於使用多個insert語句(乙個insert語句會建立乙個連線,因此insert語句很多的時候效率很低):

insert

into beauty

values

('1'

,'陳意涵'),

('2'

,'陳喬恩'),

('3'

,'劉亦菲'

);

2️⃣方式一支援將子查詢的查詢結果插入到表中:

insert

into t_a

select

*from t_b;

二、修改

修改使用的關鍵字是update,update也支援連線修改:

#sql92語法:僅支援內連線

update t_1 t1,t_2 t2

set 列=值,..

.where 連線條件

and 篩選條件;

#sql99語法:支援內連線、外連線、交叉連線

update t_1 t1,

inner

|left

|right

join t_2 t2 on 連線條件

set 列=值,..

.where 篩選條件;

示例:

update boys bo

inner

join beauty b on bo.id = b.boyfriend_id

set b.phone =

'112'

where bo.name =

'張無忌'

;

三、刪除

刪除使用的關鍵字有delete和truncate,truncate只能用來清空表且清空後不能進行事務回滾,因此要慎用truncate。

detele from t where 條件;

truncate

table t;

使用delete和truncate刪除表的比較:

1️⃣若刪除的表中有自增長列,使用delete刪除後,在插入的資料自增長列的值從斷點處開始,而使用truncate清空表後,自增長列從1開始

2️⃣truncate刪除沒有返回值,delete刪除會返回刪除的行數

3️⃣truncate刪除不能回滾,delete可以回滾

刪除也支援連線刪除:

#sql92語法

delete t1,t2 #刪除哪個表delete後寫哪個表,不寫不刪

from t_1 t1,t_2 t2

where 連線條件

and 篩選條件;

#sql99語法

delete t1,t2 #刪除哪個表delete後寫哪個表,不寫不刪

from t_1 t1

inner

|left

|right

join t_2 t2 on 連線條件

where 篩選條件;

示例1:刪除乙個表的資料

delete b

from beauty b

inner

join boys bo on b.boyfriend_id = bo.id

where bo.name =

'張無忌'

;

示例2:刪除兩個表的資料

delete b,bo

from beauty b

inner

join boys bo on b.boyfriend_id = bo.id

where bo.name =

'張無忌'

;

MySQL DML 插入,修改,刪除

一 方式一 語法 insert into 表名 欄位名,values 值,特點 要求值的型別和字段的型別要一致或相容 欄位的個數和順序不一定與原始表中的字段個數和順序一致 但必須保證值和字段一一對應 假如表中有可以為null的字段,注意可以通過以下兩種方式插入null值 欄位和值都省略 欄位寫上,值...

插入修改刪除

六 插入資料 insert 表名 列名 values 插入的列值 insert stuinfo stuname,stuno,stuage,stuid,stuaddress values 張三 001,20,100,hello 1 注意事項 a 每次插入一行資料,不可能只插入半行或者幾列資料,因此,插...

插入 修改 刪除

dml語言 資料操作語言 插入 insert 修改 update 刪除 delete 插入語句 方式一 經典插入 語法 insert into 表名 列名1,列名2 values 值1,值2 borndate 1.插入的值的型別要與列的型別一致或相容。insert into beauty id,na...