Data Manipulation Language

DML数据操作语言

  • 插入:insert
  • 修改:update
  • 删除:delete

3.1 插入

3.1.1 value

支持一次性插入多行
支持子查询:将values等价(替换即可)于select语句

insert into 表名(列名) #默认所有列就可以省略括号
values (值)

insert into 表名(列名) #默认所有列就可以省略括号
select 字段
  • 插入的值类型与列类型须一致或兼容
  • 主key值出现重复将无法插入
  • 列插入顺序可以调换
  • 列数与值数须一致(指insert语句中)
    示例

    INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
    VALUES(13,'天才','女','1990-4-4','17769277876',NULL,9)
    ,(15,'天才2','女','1993-4-4','17769227876',NULL,10)
    ,(17,'天才3','女','1992-4-4','17749277876',NULL,6)
    SELECT * FROM beauty

nullable列可以不插入内容:

  • null
  • 直接不写(逗号不涉及)自动填充:相关列名也不涉及

3.1.2 set

只能单行插入

insert into 表名
set 列名=值,...

可以只插入自己想插入的指定列,其他未指定列将作默认处理自动填充

3.2 修改(整体修改)

3.2.1 修改单表

update 表名
set 列=新值,列=新值,...
where 筛选条件

举例

#修改beauty表中姓魏的电话为17769277876
update beauty set phone='17769277876'
where name like '魏%'
#记得刷新

3.2.2 修改多表

sql92的多表修改:
实际是内连接再修改

update 表1 别名,表2 别名
set 列=值,...
where 连接条件
and 筛选条件

sql99语法:

update 表1 别名
inner(or whatever) join 表2 别名
on 连接条件
set 列=值,... #多表的列都可
where 筛选条件 #依然是确定更新对象用的

例如:

#张无忌的女朋友手机号错了,修改为114
update boys bo
inner join beauty b 
on bo.id = b.boyfriend_id
set b.phone='114'
where bo.boyName='张无忌'

3.3 删除

3.3.1 delete:一删删整行

单表删除

delete from 表名
where 筛选条件 #不加全删除

#删除手机号结尾为9的女生信息
delete from beauty
where phone like '%9'

多表删除

delete 表1别名(,表2别名)
from 表1 别名
inner(or whatever) join 表2 别名
on 连接条件
where 筛选条件

删的到底是谁呢?删除表1的
查联合表,删指定表

#删除张无忌的女朋友信息
delete b
from beauty
inner join boys bo
on b.boyfriend_id=bo.id
where bo.boyName='张无忌'

3.3.2 truncate:

不能加where。。。清空作用,效率更高(高到返回时不知道删了几行)

truncate table 表名
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇