資料的增刪改查 DML(學習記錄四 )

2021-10-08 13:48:05 字數 4203 閱讀 7755

二、修改語句

三、刪除語句

語法:

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

select * from beauty;

#1.插入的值的型別要與列的型別一致或相容

insert into beauty

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

values(13

,'唐藝昕'

,'女'

,'1990-4-23'

,'1898888888'

,null,2)

;#2.不可以為null的列必須插入值。可以為null的列如何插入值?

#方式一:

insert into beauty

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

values(13

,'唐藝昕'

,'女'

,'1990-4-23'

,'1898888888'

,null,2)

;#方式二:

insert into beauty

(id,name,***,phone)

values(15

,'娜扎'

,'女'

,'1388888888');

#3.列的順序是否可以調換

insert into beauty

(name,***,id,phone)

values

('蔣欣'

,'女',16

,'110');

#4.列數和值的個數必須一致

insert into beauty

(name,***,id,phone)

values

('關曉彤'

,'女',17

,'110');

#5.可以省略列名,預設所有列,而且列的順序和表中列的順序一致

insert into beauty

values(18

,'張飛'

,'男'

,null,

'119'

,null,null)

;

語法:

insert into 表名

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

insert into beauty

set id=

19,name=

'劉濤'

,phone=

'999'

;#兩種方式大pk ★

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

insert into beauty

values(23

,'唐藝昕1'

,'女'

,'1990-4-23'

,'1898888888'

,null,2)

,(24,

'唐藝昕2'

,'女'

,'1990-4-23'

,'1898888888'

,null,2)

,(25,

'唐藝昕3'

,'女'

,'1990-4-23'

,'1898888888'

,null,2)

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

insert into beauty

(id,name,phone)

select 26

,'宋茜'

,'11809866'

;insert into beauty

(id,name,phone)

select id,boyname,

'1234567'

from boys where id<

3;

語法:

update 表名

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

where 篩選條件;

語法:

sql92語法:

update 表1 別名,表2 別名

set 列=值,…

where 連線條件

and 篩選條件;

#1.修改單錶的記錄

#案例1:修改beauty表中姓唐的女神的**為13899888899

update beauty set phone =

'13899888899'

where name like '唐%'

;#案例2:修改boys表中id好為2的名稱為張飛,魅力值 10

update boys set boyname=

'張飛'

,usercp=

10where id=

2;

sql99語法:

update 表1 別名

inner|left|right join 表2 別名

on 連線條件

set 列=值,…

where 篩選條件;

#2.修改多表的記錄

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

update boys bo

inner join beauty b on bo.`id`=b.`boyfriend_id`

set b.`phone`=

'119'

,bo.`usercp`=

1000

where bo.`boyname`=

'張無忌'

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

update boys bo

right join beauty b on bo.`id`=b.`boyfriend_id`

set b.`boyfriend_id`=

2where bo.`id` is null;

select * from boys;

語法:

1、單錶的刪除【★】

delete from 表名 where 篩選條件

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

delete from beauty where phone like '%9'

;select * from beauty;

2、多表的刪除【補充】

sql92語法:

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

from 表1 別名,表2 別名

where 連線條件

and 篩選條件;

sql99語法:

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

from 表1 別名

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

where 篩選條件;

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

delete b

from beauty b

inner join boys bo on b.`boyfriend_id` = bo.`id`

where bo.`boyname`=

'張無忌'

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

delete b,bo

from beauty b

inner join boys bo on b.`boyfriend_id`=bo.`id`

where bo.`boyname`=

'黃曉明'

;

truncate

table boys ;

delete 與 truncate 對比:

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

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

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

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

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

DML(增刪改查)

在實際專案中,使用最多的是讀取操作,但是插入資料和刪除資料同等重要,而修改操作相對較少 插入操作 元組值的插入 查詢結果的插入 最基本的插入方式 insert into tablename values val1,val2,如果表名之後沒有列,那麼只能將所有的列都插入 insert into tab...

DML之SQL增刪改查

dml 資料操作語言 適用物件 表中的資料 功能 1 向表中新增資料 mysql insert into goods id,name,price,type values 2,褲子 100,服裝 注意 如果我們新增資料時,每一列的值都不為空的話,我們可以省去列,如下 mysql insert into...

DML 資料操作(增刪改)

dml data manipulation language 資料操作語言,用來定義資料庫記錄 資料 dml是對錶中的資料進行增 刪 改的操作。插入操作 insert insert into 表名 values 值列表 值列表 insert into t1 values 01,二狗 選擇插入 ins...