MySQL之DML语言


Posted in MySQL onApril 05, 2021

基于MySQL Server 5.5 版本进行演示

本章学习数据操作语言DML

插入

经典插入:使用频率高
语法:
		insert into 表名(列名,...)
		values(值,...)

set插入
语法:
		insert into 表名
		set 列名 = 值,列名 = 值,...

			多行查询       子查询
经典插入       支持         支持
set插入       不支持
#经典插入

#1.插入的值类型要与列的类型一致或者兼容
INSERT INTO beauty(`id`,`name`,`sex`,`borndate`,`phone`,`photo`,`boyfriend_id`)
VALUES(13,'唐艺昕','女','1990-4-23','18988888888',NULL,2);

SELECT * FROM beauty;

#2.不可以为null的必须插入值

#3.可以为null的列如何插入值?
#方式一:
INSERT INTO beauty(`id`,`name`,`sex`,`borndate`,`phone`,`photo`,`boyfriend_id`)
VALUES(13,'唐艺昕','女','1990-4-23','18988888888',NULL,2);
#方式二:
INSERT INTO beauty(`id`,`name`,`sex`,`borndate`,`phone`,`boyfriend_id`)
VALUES(14,'冰冰','女','1992-7-18','18988888888',9);

#4.列的顺序是否可以调换? 可以
INSERT INTO beauty(NAME,sex,id,phone)
VALUES('蒋欣','女',15,'15846151256');

#5.列数和值的个数必须一致
INSERT INTO beauty(NAME,sex,id,phone,`boyfriend_id`)
VALUES('九十八','女',16,'16246151256');

#6.可以省略列名,默认是所有列,而且列的顺序与表中列的顺序是一致的
INSERT INTO beauty
VALUES(17,'莹莹','女',NULL,'18977778888',NULL,8);

#
INSERT INTO beauty
SET id = 18,NAME = '扬扬',sex ='女',phone = '18974561356';

修改

修改单表的纪录:执行顺序  update  where  set
语法
		update  表名
		set 列 = 新值,列 = 新值,...
		where 筛选条件;
		
修改多表的纪录[补充]
sql92语法:
		update 表1  别名,表2 别名
		set 列 = 值,...
		where 连接条件
		on 筛选条件

sql99语法:
		update 表1  别名
		inner|left|right join 表2 别名
		on 连接条件
		set 列 = 值,...
		where 筛选条件
#修改单表的记录
#案例1:修改beauty表中姓唐的女神的电话为13899888899
UPDATE beauty
SET `phone` = "13899888899"
WHERE NAME LIKE "%唐%";

#案例2:修改boys表中id为2的名称为张飞,魅力值为10
UPDATE boys
SET `boyName` = "张飞",`userCP` = 10
WHERE id = 2

#修改多表的记录

#案例1:修改张无忌的女朋友的手机号为11432650189
UPDATE boys bo
INNER JOIN beauty b
ON bo.`id` = b.`boyfriend_id`
SET b.`photo` = '11432650189'
WHERE bo.`boyName` = "张无忌";

#案例2:修改没有男朋友的女神的男朋友编号为 2 号

UPDATE boys bo
RIGHT JOIN beauty b
ON bo.`id` = b.`boyfriend_id`
SET b.`boyfriend_id` = 2
WHERE bo.`id` IS NULL

删除

语法:
		方式一:delete
		单表的删除:
			delete from 表名 where 筛选条件;

		多表的删除:
		sql92语法:
			delete  别名
			from 表1 别名,表2 别名
			where 连接条件
			on 筛选条件;

		sql99语法:
			delete  别名
			from 表1 别名
			inner|left|right join 表2 别名
			on 连接条件
			where 筛选条件
		
		方式二:truncate
			truncate table 表名;

特点:
	1.delete 可以加 where 条件,truncate 不能加
	2.truncate 删除,效率高一些
	3.假如删除的表中有自增长列
		如果用delete删除后,在插入数据,自增长列的值从断点开始
		如果用truncate删除后,在插入数据,自增长列的值从1开始
	4.truncate 删除没有返回值,delete 删除有返回值
	5.truncate 删除不能回滚,delete 删除可以回滚
#方式一
#单表的删除

#案例1:删除手机号以9结尾的女神信息
DELETE FROM beauty 
WHERE phone LIKE "%9";

#多表删除
#案例1:删除张无忌的女朋友的信息
DELETE b
FROM boys bo
INNER JOIN beauty b
ON bo.`id` = b.`boyfriend_id`
WHERE bo.`boyName` = "张无忌";

#案例2:删除黄晓明的信息以及她的女朋友的信息
DELETE bo,b
FROM boys bo
INNER JOIN beauty b
ON bo.`id` = b.`boyfriend_id`
WHERE bo.`boyName` = "黄晓明";

#方式二:truncate 语句

#案例1:删除boys表
truncate table boys;

 

MySQL 相关文章推荐
MySQL 隔离数据列和前缀索引的使用总结
May 14 MySQL
MYSQL(电话号码,身份证)数据脱敏的实现
May 28 MySQL
如何搭建 MySQL 高可用高性能集群
Jun 21 MySQL
MySQL系列之十四 MySQL的高可用实现
Jul 02 MySQL
SQL实现LeetCode(177.第N高薪水)
Aug 04 MySQL
Mysql分析设计表主键为何不用uuid
Mar 31 MySQL
MySQL 表锁定 LOCK和UNLOCK TABLES的 SQL语法
Apr 18 MySQL
详细介绍MySQL中limit和offset的用法
May 06 MySQL
sql查询语句之平均分、最高最低分及排序语句
May 30 MySQL
MySQL数据库简介与基本操作
May 30 MySQL
MySQL自定义函数及触发器
Aug 05 MySQL
了解MySQL查询语句执行过程(5大组件)
Aug 14 MySQL
多属性、多分类MySQL模式设计
Apr 05 #MySQL
多表查询、事务、DCL
Mysql Show Profile
Apr 05 #MySQL
Mysql - 常用函数 每天积极向上
Apr 05 #MySQL
mysql多表查询-笔记七
Apr 05 #MySQL
mysql部分操作
Apr 05 #MySQL
left join、inner join、right join的区别
You might like
数据库中排序的对比及使用条件详解
2012/02/23 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
2013/06/08 PHP
php获取操作系统语言代码
2013/11/04 PHP
php数组键名技巧小结
2015/02/17 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
2015/10/21 PHP
php常用日期时间函数实例小结
2019/07/04 PHP
JS支持带x身份证号码验证函数
2008/08/10 Javascript
javascript 动态添加事件代码
2008/11/30 Javascript
原生JS可拖动弹窗效果实例代码
2013/11/09 Javascript
jQuery实现折线图的方法
2015/02/28 Javascript
JS实现超简单的仿QQ折叠菜单效果
2015/09/21 Javascript
理解javascript中的MVC模式
2016/01/28 Javascript
javascript插件开发的一些感想和心得
2016/02/28 Javascript
node.js cookie-parser之parser.js
2016/06/06 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
LayUI动态设置checkbox不显示的解决方法
2019/09/02 Javascript
使用Vue+Django+Ant Design做一个留言评论模块的示例代码
2020/06/01 Javascript
vue如何搭建多页面多系统应用
2020/06/17 Javascript
[56:20]LGD vs VP Supermajor 败者组决赛 BO3 第三场 6.10
2018/07/04 DOTA
Python 判断 有向图 是否有环的实例讲解
2018/02/01 Python
Python实现字典(dict)的迭代操作示例
2018/06/05 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
2018/11/30 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
TensorFlow tf.nn.conv2d实现卷积的方式
2020/01/03 Python
python使用numpy实现直方图反向投影示例
2020/01/17 Python
Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
2020/04/08 Python
Python如何获取文件指定行的内容
2020/05/27 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
2020/06/23 Python
澳洲小众品牌的集合网站:BNKR
2018/02/23 全球购物
美国购买汽车零件网站:Buy Auto Parts
2018/04/02 全球购物
出纳员岗位职责
2014/03/13 职场文书
大学理论知识学习自我鉴定
2014/04/28 职场文书
2015年党员公开承诺书范文
2015/01/22 职场文书
幼儿园教师个人总结
2015/02/05 职场文书
《卖火柴的小女孩》教学反思
2016/02/19 职场文书
java实现对Hadoop的操作
2021/07/01 Java/Android