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 相关文章推荐
如何使用Maxwell实时同步mysql数据
Apr 08 MySQL
MySQL Router的安装部署
Apr 24 MySQL
MySQL 5.7常见数据类型
Jul 15 MySQL
Mysql中where与on的区别及何时使用详析
Aug 04 MySQL
浅谈MySQL表空间回收的正确姿势
Oct 05 MySQL
MySQL数据库中varchar类型的数字比较大小的方法
Nov 17 MySQL
mysql创建存储过程及函数详解
Dec 04 MySQL
pt-archiver 主键自增
Apr 26 MySQL
MySQL数据库之内置函数和自定义函数 function
Jun 16 MySQL
MySQL 原理与优化之原数据锁的应用
Aug 14 MySQL
mysql序号rownum行号实现方式
Dec 24 MySQL
详解MySQL的内连接和外连接
May 08 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
全国FM电台频率大全 - 13 福建省
2020/03/11 无线电
php cookis创建实现代码
2009/03/16 PHP
php flv视频时间获取函数
2010/06/29 PHP
PHP用SAX解析XML的实现代码与问题分析
2011/08/22 PHP
php强制文件下载而非在浏览器打开的自定义函数分享
2014/05/08 PHP
收藏Javascript中常用的55个经典技巧
2007/08/12 Javascript
idTabs基于JQuery的根据URL参数选择Tab插件
2012/04/11 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
2013/08/05 Javascript
javascript动画算法实例分析
2015/07/31 Javascript
js倒计时抢购实例
2015/12/20 Javascript
DOM事件探秘篇
2017/02/15 Javascript
Vue实现动态显示textarea剩余字数
2017/05/22 Javascript
微信JS SDK接入的几点注意事项(必看篇)
2017/06/23 Javascript
chorme 浏览器记住密码后input黄色背景处理方法(两种)
2017/11/22 Javascript
Vue 2.5.2下axios + express 本地请求404的解决方法
2018/02/21 Javascript
如何使用less实现随机下雪动画详解
2019/01/02 Javascript
Jquery实现无缝向上循环滚动列表的特效
2019/02/13 jQuery
JS实现动态星空背景效果
2019/11/01 Javascript
小程序简单两栏瀑布流效果的实现
2019/12/18 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
[01:09]DOTA2次级职业联赛 - ishow.HMM战队宣传片
2014/12/01 DOTA
python轻松实现代码编码格式转换
2015/03/26 Python
使用Python实现博客上进行自动翻页
2017/08/23 Python
对pandas中两种数据类型Series和DataFrame的区别详解
2018/11/12 Python
python GUI实现小球满屏乱跑效果
2019/05/09 Python
eclipse创建python项目步骤详解
2019/05/10 Python
python顺序执行多个py文件的方法
2019/06/29 Python
tensorflow模型继续训练 fineturn实例
2020/01/21 Python
解决pycharm不能自动补全第三方库的函数和属性问题
2020/03/12 Python
HTML5+CSS设置浮动却没有动反而在中间且错行的问题
2020/05/26 HTML / CSS
意大利买卖二手奢侈品网站:LAMPOO
2020/06/03 全球购物
解释DataSet(ds) 和 ds as DataSet 的含义
2014/07/27 面试题
办公室副主任岗位职责
2013/11/25 职场文书
国贸类专业毕业生的求职信分享
2013/12/08 职场文书
2014年学生会主席工作总结
2014/11/07 职场文书
2015年119消防宣传日活动总结
2015/03/24 职场文书