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 02 MySQL
MySQL 重命名表的操作方法及注意事项
May 21 MySQL
mysql在项目中怎么选事务隔离级别
May 25 MySQL
MySQL的安装与配置详细教程
Jun 26 MySQL
MySQL中连接查询和子查询的问题
Sep 04 MySQL
关于k8s环境部署mysql主从的问题
Mar 13 MySQL
mysql如何查询连续记录
May 11 MySQL
MySQL 语句执行顺序举例解析
Jun 05 MySQL
MySQL外键约束(Foreign Key)案例详解
Jun 28 MySQL
MySQL实现字段分割一行转多行的示例代码
Jul 07 MySQL
mysql查看表结构的三种方法总结
Jul 07 MySQL
MySQL分布式恢复进阶
Jul 23 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
php数组合并与拆分实例分析
2015/06/12 PHP
Javascript面向对象之四 继承
2011/02/08 Javascript
页面回到顶部的三种实现(锚标记,js)
2012/10/01 Javascript
JavaScript中OnLoad几种使用方法
2012/12/15 Javascript
当前页禁止复制粘贴截屏代码小集
2013/07/24 Javascript
返回上一页并自动刷新的JavaScript代码
2014/02/19 Javascript
js获得网页背景色和字体色的方法
2014/03/21 Javascript
jQuery对象和DOM对象之间相互转换的方法介绍
2015/02/28 Javascript
基于Css3和JQuery实现打字机效果
2015/08/11 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
2016/11/09 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
2018/07/19 Javascript
vue实现微信分享功能
2018/11/28 Javascript
jQuery-ui插件sortable实现自由拖动排序
2018/12/01 jQuery
jQuery动态生成的元素绑定事件操作实例分析
2019/05/04 jQuery
python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
2014/06/09 Python
Python中生成器和yield语句的用法详解
2015/04/17 Python
Python 如何访问外围作用域中的变量
2016/09/11 Python
Python爬虫实战:分析《战狼2》豆瓣影评
2018/03/26 Python
对python中的for循环和range内置函数详解
2018/04/17 Python
Python socket 套接字实现通信详解
2019/08/27 Python
详解如何用python实现一个简单下载器的服务端和客户端
2019/10/28 Python
关于pandas的离散化,面元划分详解
2019/11/22 Python
Python环境下安装PyGame和PyOpenGL的方法
2020/03/25 Python
Python使用sys.exc_info()方法获取异常信息
2020/07/23 Python
潘多拉珠宝美国官方网站:Pandora US
2020/06/18 全球购物
VLAN和VPN有什么区别?分别实现在OSI的第几层?
2014/12/23 面试题
怎样客观的做好自我评价
2013/12/28 职场文书
中医临床专业自我鉴定范文
2014/01/15 职场文书
企业后勤岗位职责
2014/02/28 职场文书
建筑工地质量标语
2014/06/12 职场文书
品质口号大全
2014/06/17 职场文书
大学生第一学年自我鉴定
2014/09/12 职场文书
2014年党员自我评议总结
2014/09/23 职场文书
辞职书格式样本
2015/02/26 职场文书
中学教代会开幕词
2016/03/04 职场文书
ConditionalOnProperty配置swagger不生效问题及解决
2022/06/14 Java/Android