MySQL进阶10--DML数据操纵预言: insert/delete/update --多表连接修改/.多表连接删除/多表连接查询-- truncate 和 delete的区别
/* DML -- 数据操纵预言: insert/delete/update */ #一: 插入语句
/*
语法1: insert into 表名(列名,..,列名....)
values(值1,值2,...),(值1,值2,...),(值1,值2,...);
语法2: insert into 表名
set 列名1=值1,列名2=值2,....;
*/
/*二: 修改语句 1.修改单表的记录
语法: update 表名
set 列1=新值1,列2=新值2,列2=新值2...
where 筛选条件 ; #如果省略,结果就是对全部数据进行了操作 2.修改多表的记录[补充]
SQL92语法:
update 表1 别名,表2 别名
set 列1=新值1,列2=新值2,列2=新值2...
where 连接条件
and 筛选条件; SQL99语法:
update 表1 别名
inner/left/right join 表2 别名
on 连接条件
set 列=值,...
where 筛选条件; */
#二: 修改语句
/*
1.修改单表的记录
语法: update 表名
set 列1=新值1,列2=新值2,列2=新值2...
where 筛选条件 ; #如果省略,结果就是对全部数据进行了操作 2.修改多表的记录[补充]
SQL92语法:
update 表1 别名,表2 别名
set 列1=新值1,列2=新值2,列2=新值2...
where 连接条件
and 筛选条件; SQL99语法:
update 表1 别名
inner/left/right join 表2 别名
on 连接条件
set 列=值,...
where 筛选条件;
*/
#三 删除条件
/*
方式1:delete
语法:
1.单标删除
delete from 表名 where 筛选条件
2.多表的删除
SQL92 语法:
delete 表1的别名,表2的别名...
from 表1 别名,表2 别名
where 连接条件
and 筛选条件;
SQL99 语法:
delete 表1的别名,表2的别名...
from 表1 别名
inner/left/right join 表2 别名
on 连接条件
where 筛选条件;
方式2:truncate语句
清空table数据 : truncate table; #不可以加任何条件
----------------------------
两者的区别和联系:
1.使用where 筛选条件
2.整表删除效率
3.面对自增长列, 用delete清空数据后,再插入数据,自增列从断点开始(删前的最大序号);
用truncate清空数据后,再插入数据,自增长列从0开始;
4.delete 删除,有返回值;可以回滚;
truncate删除,无返回值; 不能回滚; */ #1.插入的values值的类型与列的一致或兼容
INSERT INTO beauty (id,NAME,sex,borndate,phone)
VALUES(13,'唐艺昕','女','1990-4-23',''); #2.可以为null 的列可以不用插入,插入顺序可以颠倒,但必须一一对应,剩余所有列为默认值(NULL等) INSERT INTO beauty (id,NAME,borndate,sex)
VALUES(14,'娜扎','1990-4-23','女'); #3:可以省略列名,默认需要插入所有的列的信息,而且顺序和表中数据信息一致
INSERT INTO beauty
VALUES(15,'信小呆','女','1998-9-14','',NULL,NULL); #---------------------
#4.方法2
INSERT INTO beauty
SET id=16,NAME='刘涛',sex='女'; #表间插入
INSERT INTO beauty(NAME,phone) #从boy表选择全部数据插入beauty表
SELECT boyname,''
FROM boys;
#再删除上面的插入的数据
DELETE
FROM beauty
WHERE phone=''; #2 修改多表的数据 #案例1 :修改张无忌的女朋友们的手机号都为114
UPDATE boys bo
INNER JOIN beauty b
ON bo.`id`=b.`boyfriend_id`
SET b.`phone`=''
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; #3 多表的删除
#案例1: 删除张无忌的女朋友的信息
DELETE b
FROM beauty b
INNER JOIN boys bo
ON b.`boyfriend_id` = bo.`id`
WHERE bo.`boyName`='张无忌';
MySQL进阶10--DML数据操纵预言: insert/delete/update --多表连接修改/.多表连接删除/多表连接查询-- truncate 和 delete的区别的更多相关文章
- MySQL 详细解读undo log :insert undo,update undo
转自aobao.org/monthly/2015/04/01/ 本文是对整个Undo生命周期过程的阐述,代码分析基于当前最新的MySQL5.7版本.本文也可以作为了解整个Undo模块的代码导读.由于涉 ...
- MySQL进阶13--常见六大约束: 非空/默认/主键/唯一约束/检查约束/外键约束--表级约束 / 列级约束
/* MySQL进阶13 常见六大约束: 1.not null 非空 2.default :默认值,用于保证该字段的默认值 ; 比如年龄:1900-10-10 3.primary key : 主键,用 ...
- Mysql教程:(六)修改语句、、删除语句、字符查询like
1.修改语句 update 表名 set where 条件 mysql> update student set birth=1988,department='中文系' where id=901 ...
- mysql基础篇 - 数据库及表的修改和删除
基础篇 - 数据库及表的修改和删除 修改和删除 一.实验简介 本节实验中,我们将学习并实践如何对数据库的内容做修改,删除,重命名等操作. 二.实验准备 在正式开始本实验内容之前,需要先 ...
- drop与truncate与delete的区别与联系
在mysql和oracle数据库中delete与truncate都是可以用来对数据进行删除操作,但是二者又有些不同. 主要有以下几个区别: 区别一: 根据sql语言分类来说,delete属于DML语言 ...
- sqlite中的replace、insert、update之前的区别
本文转自http://www.ithao123.cn/content-933827.html,在此感谢作者 android数据库操作,有两种方式,一种用android提供给我们的数据库操作函数inse ...
- ES6-map数据结构,增加、删除、查找 方法(set get has delete clear ) 属性:size
map数据结构: 本质上是键值对的集合,类似集合: 可以遍历,方法很多,可以跟各种数据格式转换. let json = { name:'ananiah', age:'18' } //效率低 需要遍历j ...
- JDBC基础篇(MYSQL)——使用statement执行DML语句(insert/update/delete)
注意:其中的JdbcUtil是我自定义的连接工具类:代码例子链接: package day02_statement; import java.sql.Connection; import java.s ...
- python3 速查参考- python基础 9 -> MySQL基础概念、数据库create、alter、insert、update、delete、select等基础命令
前置步骤: 下载一个绿色版的mysql数据库客户端连接工具 :http://wosn.net/821.html mysql平台为win7(以后会有CentOS上的) 学习目的: 掌握数据库的基本概念, ...
随机推荐
- 超详细的Tensorflow模型的保存和加载(理论与实战详解)
1.Tensorflow的模型到底是什么样的? Tensorflow模型主要包含网络的设计(图)和训练好的各参数的值等.所以,Tensorflow模型有两个主要的文件: a) Meta graph: ...
- AWS 监控服务(六)
AWS CloudWatch 概念 基于确定的内容监控基础设施组件 基于指定的指标发送通知并触发各种操作 分布式统计数据和收集系统,用于收集并跟踪指标 默认情况下,在管理程序级别无缝收集指标,如CPU ...
- mysql 中不等于过滤 null 的问题(同时比较等于,大于和小于)
在写 SQL 条件语句是经常用到 不等于'!='的筛选条件,此时要注意此条件会将字段为 null 的数据也当做满足不等于的条件而将数据筛选掉. 1.原始数据和表结构 CREATE TABLE `tes ...
- solr搜索结果转实体类对象的两种方法
问题:就是把从solr搜索出来的结果转成我们想要的实体类对象,很常用的情景. 1.使用@Field注解 @Field这个注解放到实体类的属性[字段]中,例如下面 public class User{ ...
- vw、vh、vmin、vmax 的含义
像 px.em 这样的长度单位大家肯定都很熟悉,前者为绝对单位,后者为相对单位.CSS3 又引入了新单位:vw.vh.vmin.vmax.下面对它们做个详细介绍. 一.基本说明 1,vw.vh.v ...
- java23种设计模式之十:责任链模式
最近在学习netty中发现其中用到了责任链模式,然后结合自己在写代码中遇到了大量写if...else的情况,决定学习一下责任链模式. 一.什么样的场景下会选择用责任链模式 我们在进行业务逻辑判断时,需 ...
- SSM整合-配置文件
使用工具:maven.idea.jdk8.mysql.tomcat9.0 初学ssm框架,配置文件的配置目录: 其中genera ...
- java中selenium判断某个元素是否存在
selenium工具 直接通过findElement方法获取某个元素,如果该元素不存在肯定会报错,selenium又没有可以判断该元素是否存在的方法 于是我们可以手写一个工具类,来判断这个元素是否存在 ...
- Spring AOP日志实现(二)--获取访问者IP及访问路径
获取类及方法上的@RequestMapping注解: 应该是不等于: 获取访问者的ip地址,首先配置一个监听器: 配置完监听器后,就可以在类中注入一个HttpServletRequest: 获取ip:
- 十分钟快速创建 Spring Cloud 项目
一般来说,Intelij IDEA 可以通过 Maven Archetype 来快速生成Maven项目,其实 IDEA 集成了 Spring 官方提供的 Spring Initializr,可以非常方 ...