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 07 MySQL
Mysql中调试存储过程最简单的方法
Jun 30 MySQL
MySQL中的隐藏列的具体查看
Sep 04 MySQL
MySQL中的引号和反引号的区别与用法详解
Oct 24 MySQL
MySQL 数据类型详情
Nov 11 MySQL
解决MySQL添加新用户-ERROR 1045 (28000)的问题
Mar 03 MySQL
MySQL的索引你了解吗
Mar 13 MySQL
MySQL慢查询优化解决问题
Mar 17 MySQL
在MySQL中你成功的避开了所有索引
Apr 20 MySQL
详细介绍MySQL中limit和offset的用法
May 06 MySQL
MySQL中正则表达式(REGEXP)使用详解
Jul 07 MySQL
SQL中去除重复数据的几种方法汇总(窗口函数对数据去重)
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
php各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
php数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
PHP中对缓冲区的控制实现代码
2013/09/29 PHP
php中关于socket的系列函数总结
2015/05/18 PHP
PHP模拟asp中response类实现方法
2015/08/08 PHP
thinkPHP3.2.2框架行为扩展及demo示例
2018/06/19 PHP
JavaScript 事件的一些重要说明
2009/10/25 Javascript
js对象之JS入门之Array对象操作小结
2011/01/09 Javascript
jquery 笔记 事件
2011/11/02 Javascript
js作用域及作用域链概念理解及使用
2013/04/15 Javascript
用jquery统计子菜单的条数示例代码
2013/10/18 Javascript
JavaScript制作的可折叠弹出式菜单示例
2014/04/04 Javascript
用js模拟struts2的多action调用示例
2014/05/19 Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
2017/03/24 jQuery
基于JavaScript实现的折半查找算法示例
2017/04/14 Javascript
Easyui ueditor 整合解决不能编辑的问题(推荐)
2017/06/25 Javascript
angular指令笔记ng-options的使用方法
2017/09/18 Javascript
不使用 JS 匿名函数理由
2017/11/17 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
2017/11/22 Javascript
js判断非127开头的IP地址的实例代码
2020/01/05 Javascript
JS中间件设计模式的深入探讨与实例分析
2020/04/11 Javascript
python中使用urllib2获取http请求状态码的代码例子
2014/07/07 Python
Python提取网页中超链接的方法
2016/09/18 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
2017/09/30 Python
Python中使用Counter进行字典创建以及key数量统计的方法
2018/07/06 Python
python中sys.argv函数精简概括
2018/07/08 Python
Python 实现文件读写、坐标寻址、查找替换功能
2019/09/11 Python
计算机通信专业推荐信
2014/02/22 职场文书
党员2014两会学习心得体会
2014/03/17 职场文书
2014财务人员自我评价范文
2014/09/21 职场文书
财务检查整改报告
2014/11/06 职场文书
苦儿流浪记读书笔记
2015/07/01 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书
中秋节英文祝福语句(14句)
2019/09/11 职场文书
导游词之潮音寺
2019/09/26 职场文书
读《庄子》有感:美而不自知
2019/11/06 职场文书