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
MySQL8.0.24版本Release Note的一些改进点
Apr 22 MySQL
MySQL 重写查询语句的三种策略
May 10 MySQL
MySQL之PXC集群搭建的方法步骤
May 25 MySQL
一文读懂navicat for mysql基础知识
May 31 MySQL
MySQL库表名大小写的选择
Jun 05 MySQL
MySQL高速缓存启动方法及参数详解(query_cache_size)
Jul 01 MySQL
MyBatis 动态SQL全面详解
Oct 05 MySQL
mysql5.6主从搭建以及不同步问题详解
Dec 04 MySQL
一次Mysql update sql不当引起的生产故障记录
Apr 01 MySQL
MySQL库表太大怎么办? 数据库分库分表项目实践
Apr 11 MySQL
Mysql 8.x 创建用户以及授予权限的操作记录
Apr 18 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
Protoss兵种对照表
2020/03/14 星际争霸
PHP中操作ini配置文件的方法
2013/04/25 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
简单实现php上传文件功能
2017/09/21 PHP
转一个日期输入控件,支持FF
2007/04/27 Javascript
JQuery 绑定事件时传递参数的实现方法
2009/10/13 Javascript
Javascript 中的 && 和 || 使用小结
2010/04/25 Javascript
javascript 闭包疑问
2010/12/30 Javascript
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
JS实现QQ图片一闪一闪的效果小例子
2013/07/31 Javascript
jQuery中ajax和post处理json的不同示例对比
2014/11/02 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
2015/10/25 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
2016/10/10 Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
2016/11/29 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
详解node child_process模块学习笔记
2018/01/24 Javascript
浅谈vue 单文件探索
2018/09/05 Javascript
京东优选小程序的实现代码示例
2020/02/25 Javascript
js制作提示框插件
2020/12/24 Javascript
[03:01]2014DOTA2国际邀请赛 小组赛7月13日TOPPLAY
2014/07/14 DOTA
Python 抓取动态网页内容方案详解
2014/12/25 Python
Python 迭代器工具包【推荐】
2016/05/06 Python
Python MD5加密实例详解
2017/08/02 Python
Python自动化运维_文件内容差异对比分析
2017/12/13 Python
浅谈python日志的配置文件路径问题
2018/04/28 Python
Python使用reportlab模块生成PDF格式的文档
2019/03/11 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
2019/08/01 Python
如何将你的应用迁移到Python3的三个步骤
2019/12/22 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
2020/03/25 Python
Python 实现PS滤镜的旋涡特效
2020/12/03 Python
Sunglasses Shop瑞典:欧洲领先的太阳镜网上商店
2018/04/22 全球购物
运动会跳远加油稿
2014/02/20 职场文书
活动总结范文
2014/08/30 职场文书
同事打架检讨书
2015/05/06 职场文书
七年级上册生物的课件
2019/08/07 职场文书
php微信小程序解包过程实例详解
2021/03/31 PHP