DML语言|表内数据增删改(MySQL)

前言

这次我们介绍对表内数据的增删改操作,首先我们先建立两个表stuinfo、teachinfo,表的格式如下:

下面在这这两个表的基础上进行增删查操作。

插入语句

插入方式一

语法 i n s e r t   i n t o   表 名 ( 列 名 , . . . )   v a l u e s ( 值 1 , . . . ) ; \color{Violet}insert \ into \ 表名(列名,...) \ values(值1,...); insert into (,...) values(1,...);

注意

∙ \bullet 插入的值的类型要与列的类型一致或者兼容

∙ \bullet 不可以为null的列一定要插入值,可以为null的列当不想写入值时,可以写入null,或者直接不写对应的列名

∙ \bullet 列的顺序可以调换,但是要与值一一对应

∙ \bullet 可以省略列名,默认所有列,而且列的顺序与表中列的顺序相同

示例一:学生stuinfo表插入数据

示例二:老师teachinfo表插入数据

插入方式二

语法 i n s e r t   i n t o   表 名   s e t   列 名 = 值 , 列 名 = 值 . . . \color{Violet}insert \ into \ 表名 \ set \ 列名=值,列名=值... insert into  set =,=...

示例一:学生stuinfo表插入数据

示例二:老师teachinfo表插入数据

对比

类型一次插入行数子查询
方式一支持插入多行支持子查询
方式二一次插入一行不支持子查询

修改语句

修改单表的记录

语法 u p d a t e   表 名   s e t   列 = 新 值 , 列 = 新 值 , . . .   w h e r e 筛 选 条 件 \color{Violet}update \ 表名 \ set \ 列=新值,列=新值,... \ where 筛选条件 update  set =,=,... where

示例一:修改id=1学生的老师为1号

修改多表的记录

sql92语法 u p d a t e   表 1   别 名 , 表 2   别 名   s e t   列 = 值 , . . .   w h e r e   连 接 条 件   a n d   筛 选 条 件 \color{Violet}update \ 表1 \ 别名,表2 \ 别名 \ set \ 列=值,... \ where \ 连接条件 \ and \ 筛选条件 update 1 ,2  set =,... where  and 

sql99语法 u p d a t e   表 1   别 名   i n n e r ∣ l e f t ∣ r i g h t   j o i n   表 2   别 名   o n   连 接 条 件   s e t   列 = 值 , . . .   w h e r e   筛 选 条 件 \color{Violet}update \ 表1 \ 别名 \ inner|left|right \ join \ 表2 \ 别名 \ on \ 连接条件 \ set \ 列=值,... \ where \ 筛选条件 update 1  innerleftright join 2  on  set =,... where 

示例一:sql99语法,将id=1老师的学生年龄改为16

删除语句

方式一:delete

单表删除语法 d e l e t e   f r o m   表 名   w h e r e   筛 选 条 件 ; \color{Violet} delete \ from \ 表名 \ where \ 筛选条件; delete from  where ;

示例一:删除id=2的学生信息

多表删除语法

sql92语法 d e l e t e   表 1 别 名 , 表 2 别 名 ( 需 要 删 除 哪 个 表 的 连 接 内 容 就 输 入 哪 个 表 的 别 名 )   f r o m   表 1   别 名 , 表 2   别 名   w h e r e   连 接 条 件   a n d   筛 选 条 件 \color{Violet}delete \ 表1别名,表2别名(需要删除哪个表的连接内容就输入哪个表的别名) \ from \ 表1 \ 别名,表2 \ 别名 \ where \ 连接条件 \ and \ 筛选条件 delete 1,2() from 1 ,2  where  and 

sql99语法 d e l e t e   表 1 别 名 , 表 2 别 名 ( 需 要 删 除 哪 个 表 的 连 接 内 容 就 输 入 哪 个 表 的 别 名 )   f r o m   表 1   别 名   i n n e r ∣ l e f t ∣ r i g h t   j o i n   表 2   别 名   o n   连 接 条 件   w h e r e   筛 选 条 件 \color{Violet}delete \ 表1别名,表2别名(需要删除哪个表的连接内容就输入哪个表的别名) \ from \ 表1 \ 别名 \ inner|left|right \ join \ 表2 \ 别名 \ on \ 连接条件 \ where \ 筛选条件 delete 1,2() from 1  innerleftright join 2  on  where 

方式二:truncate(清空数据)

语法 t r u n c a t e   t a b l e   表 名 ; \color{Violet}truncate \ table \ 表名; truncate table ;

比较

类型筛选条件效率自增长列返回值回滚
方式一可以加where相对较低自增长列值从断点开始有返回值可以回滚
方式二不可以加where相对较高自增长列值从1开始无返回值不能回滚
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

比奇堡咻飞兜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值