Mysql筆記之(十一)DML語言

2021-10-06 12:48:46 字數 4781 閱讀 4857

2.方式二:

兩種方式pk

二、修改語句

三、刪除語句

資料操作語言

插入:insert

修改:update

刪除:delete

語法:1.方式一: insert into 表名(列名,。。。) values(值1,。。。)

2.方式二: insert into 表名 set 列名=值,列名=值,列名=值,。。。

insert

into 表名(列名,。。。) values(值1,。。。)

1.1插入的值得型別要與列的型別一致或者相容
select

*from beauty;

insert

into beauty(id,name,***,borndate,phone,photo,boyfriend_id)

values(13

,'吳倩'

,'女'

,'1990-4-23'

,'12345678999'

,null,2

);

1.2.不可以為null的值必須插入值,可以為null的列如何插入值?

#方式一:寫為null

insert

into beauty(id,name,***,borndate,phone,photo,boyfriend_id)

values(13

,'吳倩'

,'女'

,'1990-4-23'

,'12345678999'

,null,2

);

#方式二:該列直接不寫,列名和值都省略

insert

into beauty(id,name,***,borndate,phone,boyfriend_id)

values(14

,'吳倩'

,'女'

,'1990-4-23'

,'12345678999',2

);

1.3.列的順序可以調換
insert

into beauty(name,id,***,borndate,phone,boyfriend_id)

values

('吳倩',15

,'女'

,'1990-4-23'

,'12345678999',2

);

1.4.列數和值得個數必須一致
insert

into beauty(name,id,***,borndate,phone,boyfriend_id)

values

('關曉彤',15

,'女'

,'1990-4-23'

,'12345678999',2

);

1.5.可以省略列名,預設是所有列,且列的順序和表中列的順序是一致的
insert

into beauty

values(16

,'熱巴'

,'女'

,'1990-4-23'

,'12345678999'

,null,2

);

insert

into 表名 set 列名=值,列名=值,列名=值,。。。

insert

into beauty

set id=

19,name=

'小麗',phone=

'999'

;

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

into beauty

values(22

,'熱巴'

,'女'

,'1990-4-23'

,'12345678999'

,null,2

),(23,

'吳倩2'

,'女'

,'1990-4-23'

,'12345678999'

,null,2

),(24,

'吳倩3'

,'女'

,'1990-4-23'

,'12345678999'

,null,2

);

2.方式二支援子查詢,方式二不支援
insert

into beauty(id,name,phone)

select26,

'song'

,'12345678999'

;

語法:

1.修改單錶的記錄【重要】

語法:

update 表名

set 列=新值,列=新值,。。。

where 篩選條件;

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

語法:sql92語法:

update 表1 別名,表2 別名

set 列=值,。。。

where 連線條件

and 篩選條件;

sql99語法:

update 表1 別名

inner

/left

/right

join 表2 別名

on 連線條件

set 列=值,。。。

where 篩選條件;

案例1;修改beauty表中姓吳的女生**為138888888888

update beauty

set phone =

'13888888'

where name like

'吳%'

;

案例2:修改boys表中id為2的名為張飛

update boys set boyname =

'張飛'

where id=

2;

#案例1;修改張無忌的女朋友是我手機號為114

update boys bo

inner

join beauty be

on bo.id=be.boyfriend_id

set be.phone=

'114'

where bo.boyname =

'張無忌'

;

#案例2:修改沒有男朋友的女生的男朋友編號都為2號

update beauty b

right

join boys bo

on bo.id=b.boyfriend_id

set b.boyfriend_id =

2where bo.id is

null

;

1.方式一:delete

語法:1.1.單錶的刪除【重點】

delete

from 表名 where 篩選條件

1.2.多表的刪除【補充】

sql92:

delete 表1的別名或表2的別名

from 表1 別名,表2 別名

where 連線條件

and 篩選條件;

sql99

delete 表1的別名或表2的別名

from 表1 別名

inner

/left

/right 表2 別名

on 連線條件

where 篩選條件;

方式二:truncate

語法: truncate table 表名;

1.1單錶的刪除

#案例1:刪除手機號已9結尾的女神資訊

delete

from beauty where phone like

'%9'

;select

*from beauty;

1.2.多表的刪除

#案例:刪除張無忌女朋友的資訊

delete b

from beauty b

inner

join boys bo

on bo.id=b.boyfriend_id

where bo.boyname =

'張無忌'

;

#案例:刪除黃曉明的資訊以及他女朋友的資訊

delete b,bo

from beauty b

inner

join boys bo

on bo.id=b.boyfriend_id

where bo.boyname =

'黃曉明'

;

#案例:將魅力值大於100的男神資訊刪除

truncate

table boys where usercp>

100;

#這句是錯的,truncate不允許加where,去掉where,一刪全刪

1.delete 可以加where ,truncate不能

2.truncate刪除效率更高

3.加入要刪除的表中有自增長列,如果用delete刪除後,自增長列的值從刪除處開始

而truncate刪除後,再插入資料,自增長列的值從1開始。

4.truncate刪除沒有返回值,delete有返回值(幾行刪除了)

mySQL筆記(十二) DML語言

dml data manipulation language 資料操縱語言 涉及到的關鍵字 insert update delete 對錶中的資料的增刪改 dml語言 一 資料的插入 語法 插入單行 insert into 表名 欄位名1,欄位名2 values 值1,值2,插入多行 insert ...

MySQL學習筆記 三 DML語言

dml data manipulate language資料操作語言 1.方式一 insert into 表名 欄位名,values 值.特點 1.要求值的型別和字段的型別要一致或相容 2.欄位的個數和順序不一定與原始表中的字段個數和順序一致,但必須保證值和字段一 一對應 3.假如表中有可以為nul...

MySQL基礎(五)之DML語言

dml語言又稱為資料操作語言 插入 insert 修改 update 刪除 delete 一 插入語句 方法一 語法 insert into 表名 列名,values 值1,值2,1 插入的值的型別要與累的型別一致或相容 insert into beauty id,name borndate,pho...