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获取所有分类的前N条记录
May 07 MySQL
MySQL如何构建数据表索引
May 13 MySQL
MySQL官方导出工具mysqlpump的使用
May 21 MySQL
mysql外连接与内连接查询的不同之处
Jun 03 MySQL
为什么代码规范要求SQL语句不要过多的join
Jun 23 MySQL
Mysql中调试存储过程最简单的方法
Jun 30 MySQL
浅谈MySQL之select优化方案
Aug 07 MySQL
浅谈redis的过期时间设置和过期删除机制
Mar 18 MySQL
简单聊一聊SQL注入及防止SQL注入
Mar 23 MySQL
sql查询语句之平均分、最高最低分及排序语句
May 30 MySQL
mysql函数之截取字符串的实现
Aug 14 MySQL
DQL数据查询语句使用示例
Dec 24 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中实现进程锁与多进程的方法
2016/09/18 PHP
php微信公众平台开发(四)回复功能开发
2016/12/06 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
2017/02/28 PHP
mongodb和php的用法详解
2019/03/25 PHP
PHP文件上传小程序 适合初学者学习!
2019/05/23 PHP
两个SUBMIT按钮,如何区分处理
2006/08/22 Javascript
javascript jQuery $.post $.ajax用法
2008/07/09 Javascript
top.location.href 没有权限 解决方法
2008/08/05 Javascript
javascript中方便增删改cookie的一个类
2012/10/11 Javascript
JS通过ajax动态读取xml文件内容的方法
2015/03/24 Javascript
jQuery使用fadein方法实现渐出效果实例
2015/03/27 Javascript
学习javascript面向对象 javascript实现继承的方式
2016/01/04 Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
2016/04/01 Javascript
值得分享和收藏的Bootstrap学习教程
2016/05/12 Javascript
Jquery修改image的src属性,图片不加载问题的解决方法
2016/05/17 Javascript
three.js实现3D视野缩放效果
2017/11/16 Javascript
基于iScroll实现内容滚动效果
2018/03/21 Javascript
微信小程序实现页面分享onShareAppMessage
2019/08/12 Javascript
js轮播图之旋转木马效果
2020/10/13 Javascript
[02:59]DOTA2完美大师赛主赛事第三日精彩集锦
2017/11/25 DOTA
Python常用随机数与随机字符串方法实例
2015/04/09 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
python爬虫实现中英翻译词典
2019/06/25 Python
python 根据字典的键值进行排序的方法
2019/07/24 Python
python函数的作用域及关键字详解
2019/08/20 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
2020/01/10 Python
Django 删除upload_to文件的步骤
2020/03/30 Python
用CSS3的box-reflect设置文字倒影效果的方法讲解
2016/03/07 HTML / CSS
韩国三星旗下的一家超市连锁店:Home Plus
2016/07/30 全球购物
六月份红领巾广播稿
2014/02/03 职场文书
语文教学随笔感言
2014/02/18 职场文书
给客户的检讨书
2014/12/21 职场文书
求职自荐信范文(优秀篇)
2015/03/27 职场文书
小学生法制教育心得体会
2016/01/14 职场文书
建筑工程挂靠协议书
2016/03/23 职场文书
MySQL索引是啥?不懂就问
2021/07/21 MySQL