Mysql DML 學習隨筆 6 增刪改

2021-10-10 21:32:05 字數 3549 閱讀 7178

資料操作語言:

插入:insert

修改:update

刪除:delete

方式一:經典的插入

語法:insert into 表名(列名,…) values(值1,…);

方式二:

語法:insert into 表名

set 列名=值,列名=值,…

兩種方式大pk:

1、方式一支援插入多行,方式二不支援

2、方式一支援子查詢,方式二不支援

1.修改單錶的記錄

語法:update 表名

set 列=新值,列=新值,…

where 篩選條件;

2.修改多表的記錄【補充】

語法:sql92語法:

update 表1 別名,表2 別名

set 列=值,…

where 連線條件

and 篩選條件;

sql99語法:

update 表1 別名

inner/left/right join 表2 別名

on 連線條件

set 列=值,…

where 篩選條件;

方式一:delete

語法:1、單錶的刪除

delete from 表名 where 篩選條件

2、多表的刪除【補充】

sql92語法:

delete 表1的別名,表2的別名

from 表1 別名,表2 別名

where 連線條件

and 篩選條件;

sql99語法:

delete 表1的別名,表2的別名

from 表1 別名

inner/left/right join 表2 別名 on 連線條件

where 篩選條件;

方式二:truncate

語法:truncate table 表名;

delete pk truncate ☆☆☆

1.delete 可以加where 條件, truncate 不能加

2.truncate 刪除,效率高一丟丟

3.假如要刪除的表中有自增長列,如果用delete刪除後,再插入資料,自增長列的值從斷點開始,而truncate刪除後,再插入資料,自增長列的值從1開始。

4.truncate 刪除沒有返回值,delete 刪除有返回值。

5.truncate刪除不能回滾,delete刪除可以回滾。

例:1.執行以下指令碼建立表my_employees和users

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 的結構

desc my_employees;
3.向my_employees 表中插入下列資料

#方式一:

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);

#方式二:

insert

into my_employees

select1,

'patel'

,'ralph'

,'rpatel'

,895

union

select2,

'dancs'

,'betty'

,'bdancs'

,860

union

select3,

'biri'

,'ben'

,'bbiri'

,1100

union

select4,

'newman'

,'chad'

,'cnewman'

,750

union

select5,

'ropeburn'

,'audrey'

,'aropebur'

,1550

;

4.向 users表中插入下列資料

insert

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的users表和my_employees表的記錄全部刪除

delete u,e

from users u

join my_employees e

on u.

`userid`

=e.`userid`

where u.userid=

'bbiri'

;

8.刪除所有資料

delete

from my_employees;

delete

from users;

9.檢查所做的修正

delete

from my_employees;

delete

from users;

10.清空表my_employees

truncate

table my_employees;

MySql DML語言(增刪改)

資料庫四個基本操作增刪改查,其中查博主已經總結過,想檢視的傳送門 查詢篇 今天總結資料庫的增刪改部分。一 方式一 語法 insert into 表名 欄位名,values 值,例 往beauty表中插入字段 經典款 select from beauty 1.插入的值的型別要與列的型別一致或相容 in...

Mysql DML 表資料的增刪改

插入 insert 修改 update 刪除 delete 一 插入語句 方式一 經典的插入 語法 insert into 表名 列名,values 值1,插入的值的型別要與列的型別一致或相容 insert into beauty id,name,borndate,phone,photo,boyfr...

MySQL DML 資料操作語言 增刪改操作

data manipulation language,資料操作語言,以insert update delete三種指令為核心,分別代表插入 更新與刪除,是必須要掌握的指令,dml和sql中的select俗稱crud 增刪改查 注意 值和字段需要一一對應 如果是字元型或日期型別,值需要用單引號引起來 ...