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 相关文章推荐
浅析InnoDB索引结构
Apr 05 MySQL
mysql批量新增和存储的方法实例
Apr 07 MySQL
MySQL主从复制断开的常用修复方法
Apr 07 MySQL
mysql的MVCC多版本并发控制的实现
Apr 14 MySQL
mysql left join快速转inner join的过程
Jun 30 MySQL
MySQL子查询中order by不生效问题的解决方法
Aug 02 MySQL
SQL实现LeetCode(177.第N高薪水)
Aug 04 MySQL
MySQL中datetime时间字段的四舍五入操作
Oct 05 MySQL
MySql重置root密码 --skip-grant-tables
Apr 11 MySQL
Windows 64位 安装 mysql 8.0.28 图文教程
Apr 19 MySQL
MySQL索引失效场景及解决方案
Jul 23 MySQL
面试官问我Mysql的存储引擎了解多少
Aug 05 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验证复选框有效性的示例
2013/11/13 PHP
PHP中模拟处理HTTP PUT请求的例子
2014/07/22 PHP
基于thinkPHP类的插入数据库操作功能示例
2017/01/06 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
ThinkPHP 5.1 跨域配置方法
2019/10/11 PHP
一段实现页面上的图片延时加载的js代码
2010/02/11 Javascript
关于二级域名下使用一级域名下的COOKIE的问题
2011/11/07 Javascript
Jquery读取URL参数小例子
2013/08/30 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
2014/05/26 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
2014/10/10 Javascript
推荐9款炫酷的基于jquery的页面特效
2014/12/07 Javascript
jQuery trigger()方法用法介绍
2015/01/13 Javascript
jQuery实现左侧导航模块的显示与隐藏效果
2016/07/04 Javascript
简单实现js进度条加载效果
2020/03/25 Javascript
vue proxyTable 接口跨域请求调试的示例
2017/09/12 Javascript
vue做移动端适配最佳解决方案(亲测有效)
2018/09/04 Javascript
cdn模式下vue的基本用法详解
2018/10/07 Javascript
微信小程序bindtap事件与冒泡阻止详解
2019/08/08 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
解决Element中el-date-picker组件不回填的情况
2020/11/07 Javascript
python+django快速实现文件上传
2016/10/24 Python
python 获取页面表格数据存放到csv中的方法
2018/12/26 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
2020/03/10 Python
详解css position 5种不同的值的用法
2019/07/30 HTML / CSS
HTML5 播放 RTSP 视频的实例代码
2019/07/29 HTML / CSS
Desigual德国官网:在线购买原创服装
2018/03/27 全球购物
初中毕业生的自我评价
2014/03/03 职场文书
纪检监察建议书
2014/05/19 职场文书
客户答谢会活动方案
2014/08/31 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
党委班子纠正“四风”问题整改措施
2014/10/28 职场文书
大学生自我评价范文
2015/03/03 职场文书
销售开票员岗位职责
2015/04/15 职场文书
反腐倡廉观后感
2015/06/08 职场文书
单位工资证明范本
2015/06/12 职场文书
借钱欠条怎么写
2015/07/03 职场文书