前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL(DML数据定义语句)

MySQL(DML数据定义语句)

作者头像
全栈开发日记
发布2022-05-12 21:08:31
9500
发布2022-05-12 21:08:31
举报
文章被收录于专栏:全栈开发日记全栈开发日记

目录:

插入语句 单行插入 多行插入 批量插入 更新语句 删除语句

插入语句

单行插入

语法:

代码语言:javascript
复制
INSERT INTO 表名【(字段1,字段2,字段3)】 VALUES (值1,值2,值3);

注意:值列表的个数和字段列表的个数完全一致,并且类型一致。

代码示例:

只插入一个指定数据:

代码语言:javascript
复制
insert into b_user(name) values('张三');

不指定插入数据(需要与字段列表顺序一致):

代码语言:javascript
复制
insert into b_user values(1,'李四','男','2020-01-01');

注意:

1.如果表名后没有字段列表,values后的值列表中的个数和表字段个数一致,并且值列表的顺序和字段列表的顺序一致。一般如果主键列自增,不显示的给自增列赋值;

2.在值列表中字符、日期字段都应该使用单引号括起来 ;

3.如果表中有NOT NULL字段,该字段必须赋值 ;

4.如果表中没有NOT NULL,可以赋值,也可以不赋值(NULL);

多行插入

语法:

代码语言:javascript
复制
INSERT INTO 表名【(字段1,字段2,字段3..)】 VALUES (值1,值2,值3...),(值1,值2,值3...),(值1,值2,值3...);

代码示例:

代码语言:javascript
复制
insert into b_user(name,sex,birthday) values('王1','男','2020-01-01'),('王2','男','2020-01-01'),('王3','男','2020-01-01');

批量插入

将一个查询结果全部插入到数据库中

语法:

代码语言:javascript
复制
INSERT INTO 表名【(字段1,字段2,字段3...)】(SELECT c1,c2,c3 FROM 表名 【WHERE 筛选条件】);

代码示例:

代码语言:javascript
复制
insert into temp_user(name,sex,birthday) (select name,sex,birthday from b_user where user_id>2);

注意:字段列表应该和SELECT后的显示字段列表个数,类型一致

另一种插入方式

语法:

代码语言:javascript
复制
INSERT INTO 表名 SET 字段名=值,字段名=值;

示例代码:

代码语言:javascript
复制
INSERT INTO temp_user SET name='kobe',sex='男',birthday='1976-01-01';

更新语句

语法:

代码语言:javascript
复制
UPDATE 表名 SET 字段名=值,字段名=值UPDATE 表名 SET 字段名=值,字段名=值 WHERE 筛选条件WHERE 筛选条件;

注意:最后一个 字段名=值 没有逗号 。

代码示例:

将temp_user表中的所有性别都改为男

代码语言:javascript
复制
UPDATE temp_user SET sex='女'; 
UPDATE temp_user SET sex='男' WHERE user_id=1 OR user_id=4;

删除语句

语法:

代码语言:javascript
复制
DELETE FROM 表名 WHERE 筛选条件;

注意:如果没有筛选条件,等于清空整张表。

代码示例:

删除ID=3的用户信息

代码语言:javascript
复制
DELETE FROM temp_user WHERE user_id=3;

注意:企业开发过程中谨慎的去使用delete语句

建议书写方式:

1.先用查询语句

代码语言:javascript
复制
SELECT * FROM temp_user WHERE user_id=2;

2.将SELECT *改为DELETE

代码语言:javascript
复制
DELETE FROM temp_user WHERE user_id=2;

TRUNCATE(截断表)和DELETE的差别

1. TRUNCATE在截断表时,自增列重新从1开始自增,DELETE不影响自增列;

2. DELETE支持事务回滚,而TRUNCATE不支持事务回滚;

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈开发日记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 单行插入
  • 多行插入
  • 批量插入
  • 另一种插入方式
  • 建议书写方式:
  • TRUNCATE(截断表)和DELETE的差别
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档