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锁机制
Apr 05 MySQL
zabbix监控mysql的实例方法
Jun 02 MySQL
MySQL索引失效的典型案例
Jun 05 MySQL
MySQL中utf8mb4排序规则示例
Aug 02 MySQL
MySQL数据库索引的最左匹配原则
Nov 20 MySQL
关于mysql中时间日期类型和字符串类型的选择
Nov 27 MySQL
详解Mysql事务并发(脏读、不可重复读、幻读)
Apr 29 MySQL
详细介绍MySQL中limit和offset的用法
May 06 MySQL
MYSQL事务的隔离级别与MVCC
May 25 MySQL
MySQL如何修改字段类型和字段长度
Jun 10 MySQL
delete in子查询不走索引问题分析
Jul 07 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
德生PL330的评价与改造
2021/03/02 无线电
留言板翻页的实现详解
2006/10/09 PHP
php中cookie的作用域
2008/03/27 PHP
php与java通过socket通信的实现代码
2013/10/21 PHP
PHP用户注册邮件激活账户的实现代码
2017/05/31 PHP
WordPress伪静态规则设置代码实例
2020/12/10 PHP
PHP 使用位运算实现四则运算的代码
2021/03/09 PHP
jQuery学习笔记(4)--Jquery中获取table中某列值的具体思路
2013/04/10 Javascript
JS中 用户登录系统的解决办法
2013/04/15 Javascript
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
js的参数有长度限制吗?发现不能超过2083个字符
2014/04/20 Javascript
jQuery实现的原图对比窗帘效果
2014/06/15 Javascript
排序算法的javascript实现与讲解(99js手记)
2014/09/28 Javascript
NodeJs中的VM模块详解
2015/05/06 NodeJs
JS动态插入并立即执行回调函数的方法
2016/04/21 Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
2016/07/27 Javascript
面包屑导航详解
2017/12/07 Javascript
vue监听键盘事件的快捷方法【推荐】
2018/07/11 Javascript
ios设备中angularjs无法改变页面title的解决方法
2018/09/13 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
2018/10/10 Javascript
vue插件draggable实现拖拽移动图片顺序
2018/12/01 Javascript
HTML+JavaScript实现扫雷小游戏
2019/09/30 Javascript
Python 匹配任意字符(包括换行符)的正则表达式写法
2009/10/29 Python
浅析Python 3 字符串中的 STR 和 Bytes 有什么区别
2018/10/14 Python
Python笔记之facade模式
2019/11/20 Python
Pytorch 实现focal_loss 多类别和二分类示例
2020/01/14 Python
Django3中的自定义用户模型实例详解
2020/08/23 Python
HTML5中的新元素介绍
2008/10/17 HTML / CSS
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
2014/04/10 HTML / CSS
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2012/04/17 面试题
单位授权委托书范文
2014/08/02 职场文书
解放思想大讨论活动心得体会
2014/09/11 职场文书
教师节简报
2015/07/20 职场文书
服装店员工管理制度
2015/08/07 职场文书
2016年小学优秀班主任事迹材料
2016/02/29 职场文书
《给予树》教学反思
2016/03/03 职场文书