SQL(4)DML語言 增刪改

2021-10-08 12:41:27 字數 3424 閱讀 4260

第一部分的內容:

sql(2)dql語言 條件查詢+排序查詢+常見函式+分組查詢+連線查詢

sql(3)dql語言 子查詢+分頁查詢+聯合查詢

/*資料操作語言

插入 insert

修改 update

刪除 delete

*//*

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

特點:1.值的型別和字段型別要求一致或相容

2.插入的字段和資料,和原始**可以不一致,但每個欄位和資料要一一對應

3.可以為null的字段,可以寫null或者同時省略該字段和值

4.欄位名可以省略,但預設所有列,並按照原表順序 */

# 方式一:插入資料

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

values(13,'唐藝昕','女','1990-4-23','1898888',null,2);

# 2. 可以為null的列如何插入值?

# 方式一  null

# 方式二 列名 和值都不寫

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

values(14,'金星','女','1990-4-23','1891288',2);

# 方式二

/*語法:

insert into 表名

set 列名= 值,列名 = 值*/

insert into beauty

set id = 19,name='劉濤',phone='999'

/*

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

*/

insert into beauty

values(15,'唐藝昕1','女','1990-4-23','1898888',null,2)

,(16,'唐藝昕2','女','1990-4-23','1898888',null,2);

/*

方式二支援子查詢,方式二不支援

*/

insert into beauty(id,name,phone)

select 26,'宋茜','118855985';

/*1.修改單錶的記錄 ★

語法:update 表名

set 列=值,列= 新值

where 篩選條件;

2.修改多表的記錄

語法:sql92語法

update 表1 別名,表2 別名

set 列=值

where 連線條件

and 篩選條件

sql99語法

update 表1 別名

inner|left|right join 表2 別名

on 連線條件

set 列=值

where 篩選條件 */

#1.修改單錶的記錄

#案例1 修改beauty中姓唐的**修改為123

update `beauty`

set phone = '123'

where name like '唐%';

#案例2 修改2號男神名

update `boys`

set `boyname` = '張飛',`usercp`=10

where id = 2;

#2.修改多表的記錄

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

update `beauty` b

inner join `boys` bo

on b.`boyfriend_id` = bo.`id`

set b.`phone` = '114'

where bo.`boyname`='張無忌'

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

update`beauty` b

left join `boys` bo

on b.`boyfriend_id` = bo.`id`

set b.`boyfriend_id`= 10

where bo.id is null

/*方法1 :多表和單錶刪除

deletefrom表名 where 篩選條件

【多表刪除】

sql92

delete 想要刪除記錄的表的別名

from 表1 別名, 表2 別名

where 連線條件

and 篩選條件

sql99

delete 想要刪除記錄的表的別名

from 表1 別名

inner|left|right 表2 別名

on 連線條件

where 篩選條件

方法2: truncate

truncatetable表名;刪除整個表*/

#方式一 delete

#1.單錶刪除

#案例1:刪除手機號用9結尾的

deletefrombeauty where phone like '%9'

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

#sql92

delete b

from beauty.b, `boys`,bo

where b.`boyfriend_id` = bo.`id`

and bo.`boyname` = '張無忌'

#sql99

delete b

from beauty.b

inner join `boys`,bo

on b.`boyfriend_id` = bo.`id`

where bo.`boyname` = '張無忌'

#方法2: truncate

# truncate table 表名;刪除整個表

truncate table boys;

# delete pk truncate 【常見面試題】

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

2.truncate 刪除,效率高 

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

如果用truncate    ,再插入資料,自增長列的值從1開始 

4.delete 有返回值(返回幾行受影響),truncate 沒有

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

*/

DML 語言 增刪改

總體而言資料操作語言分為三種 插入insert,更新update,刪除delete 一,插入語句 語法 方式一 insert into 表名 列名,values 值1,支援插入多行 支援子查詢 方式二 insert into 表名 set 列名 值,列名 值,特點 插入值型別要與列型別保持一致 不可...

DML之SQL增刪改查

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

mysql之dml語言 增刪改

語法 insert into 表名 欄位名1,欄位名2,欄位名3.value 值1 值2 值3 示例insert into grade gradename values 大四 insert into grade gradename values 大二 大一 insert into student n...