mysql-11-DML
#DML语言
/*
数据操作语言
插入:insert
修改:update
删除:delete
*/ #一、插入语句
/*
语法:
insert into 表名(列名...)
values(新值...);
*/
USE girls; INSERT INTO beauty(id, NAME, sex, borndate, phone, photo, boyfriend_id)
VALUES(13, '唐艺昕', '女', '1990-4-23', '18988888888', NULL, 2); SELECT * FROM beauty; #可以为null的列,如何插入null值
#1、写列名,值为null;2、列直接不写 #列的顺序随便换,只要和值一一对应上即可
INSERT INTO beauty(NAME, sex, id, phone)
VALUES('蒋欣', '女', 16, '111'); SELECT * FROM beauty; #可以省略列名,但默认是所有列 #插入的方式二
/*
语法:
insert into 表名
set 列名=值, 列名=值, ...
*/
INSERT INTO beauty
SET id=19, NAME='刘涛', phone='999'; SELECT * FROM beauty; # 方式一可以插入多行,方式二不支持
/*
INSERT INTO 表名 (列名)
VALUES (), (), ()...
*/ #方式一支持子查询,方式二不支持
#把查询结果插入
INSERT INTO beauty(id, NAME, phone)
SELECT 26, '宋茜', '11809866'; SELECT * FROM beauty; #二、修改语句
/*
1、修改单表的记录
语法:
UPDATE 表名
SET 列=新值, 列=新值, ...
WHERE 筛选条件; 2、修改多表的记录
语法:
UPDATE 表1 别名
INNER|LEFT OUTTER JOIN 表2 别名
ON 连接条件
SET 列=值, ...
WHERE 筛选条件;
*/
#1、修改单表
#案例1:修改beauty表中姓唐的电话为100000
UPDATE beauty
SET phone = '100000'
WHERE NAME LIKE '唐%' AND id >= 0; # where后的条件需要包含主键 SET SQL_SAFE_UPDATES = 0; # 或者修改模式 SELECT * FROM beauty; #2、修改多表
#案例2:修改张无忌的女朋友的手机号为114
UPDATE beauty as b
INNER JOIN boys as bo
ON b.boyfriend_id = bo.id
SET b.phone = 114
WHERE bo.boyName = '张无忌'; SELECT * FROM beauty; #案例3:修改没有男朋友的女神的男朋友编号都为2号
#这个应该没必要连接
UPDATE beauty as b
LEFT OUTER JOIN boys as bo
ON b.boyfriend_id = bo.id
SET b.boyfriend_id = 2
WHERE bo.id IS NULL; SELECT * FROM beauty; #三、删除语句
/*
1、delete
语法:
delete from 表名
where 筛选条件;
筛选满足的条件的行 truncate table 表名;
整表记录全删了,不允许用where 2、多表删除
语法:
DELETE 表1的别名,表2的别名
FROM 表1 as 别名
INNER | LEFT OUTER JOIN 表2 as 别名
ON 连接条件
WHERE 筛选条件; */
#案例1:删除手机号以9结尾的信息
# DELETE FROM beauty WHERE phone LIKE '%9'; #案例2:删除张无忌的女朋友的信息
/*
DELETE b
FROM beauty as b
INNER JOIN boys as bo
ON b.boyfriend_id = bo.id
WHERE bo.boyName = '张无忌';
*/ #用delete删除后再插入数据,自增长列的值从断点开始
#用truncate删除后再插入数据,自增长列的值从1开始 # truncate删除不能回滚,delete删除可以回滚
mysql-11-DML的更多相关文章
- [Sqoop]利用sqoop对mysql运行DML操作
业务背景 利用sqoop对mysql进行查询.加入.删除等操作. 业务实现 select操作: sqoop eval \ --connect jdbc:mysql://127.0.0.1:3306/m ...
- mysql 5.7 的安装配置与 navicat premium for mysql 11 的破解使用
再安装mysql5.7 或以上的版本出现了一些问题,现在总结下,希望能给初入学习mysql的人一下帮助,大牛就不要来嘲笑小弟我了 首先准备如下: 1.下载mysql 5.7,下载地址:https:// ...
- 利用sqoop对mysql执行DML操作
业务背景 利用Sqoop对MySQL进行查询.添加.删除等操作. 业务实现 select操作: sqoop eval \ --connect jdbc:mysql://127.0.0.1:3306/m ...
- MySQL的DML常用语法格式
MySQL的DML常用语法格式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们知道MySQL的查询大致分为单表查询,多表查询以及联合查询.多表查询,顾名思义,就是查询的结果可能 ...
- MySQL的DML语言(增删改)
MySQL的DML语言(增删改) 补充说明,外键:不要使用外键,一切外键概念都在应用层解决. 补充说明,数据库的列,也就是字段名,尽量带上飘符号` 数据库存在的意义:数据存储和数据管理. 数据库:行( ...
- Navicat for Mysql 11.2 的下载,安装与激活
1. Navicat for Mysql 11.2 的下载 链接:https://pan.baidu.com/s/1w54F-MYTLuy4TQwpzUE7bQ 密码:zsfu 2.下载的 ...
- (MariaDB/MySQL)之DML(1):数据插入
本文目录: 1.insert和replace插入数据 1.1 insert into values() 1.2 insert into set 1.3 insert into select_state ...
- (MariaDB/MySQL)之DML(2):数据更新、删除
本文目录:1.update语句2.delete语句 2.1 单表删除 2.2 多表删除3.truncate table 1.update语句 update用于修改表中记录. # 单表更新语法: UPD ...
- MySQL之DML语句(insert update delete)
DML主要针对数据库表对象的数据而言的,一般DML完成: 插入新数据 修改已添加的数据 删除不需要的数据 1.insert into插入语句 //主键自增可以不插入,所以用null代替 ); //指定 ...
- mysql语句-DML语句
DML语句 DML是指对数据库中表记录的操作,主要包括数据的增删改查以及更新,下面依次介绍 首先创建一张表:: 表名:emp 字段:ename varchar(20),hiredate date ,s ...
随机推荐
- Centos7安装Oracle12c教程
12c数据库 创建oracle的系统用户和用户组 [root@localhost /]# groupadd oinstall [root@localhost /]# groupadd dba [roo ...
- 硬盘网盘U盘全部可以丢掉了,这个设备可以让你享受随身带着几个T的感受
前言 有小伙伴问我,你怎么老写技术类文章,能不能写点别的. 其实我兴趣挺广泛的,早年还有机会做个游戏博主,可惜最近2年金盆洗手了.戒了手游,ns和ps4都在吃灰.能完整玩完的游戏屈指可数.但是对于折腾 ...
- jieba分词-强大的Python 中文分词库
1. jieba的江湖地位 NLP(自然语言)领域现在可谓是群雄纷争,各种开源组件层出不穷,其中一支不可忽视的力量便是jieba分词,号称要做最好的 Python 中文分词组件. 很多人学习pytho ...
- 一位北漂12年IT工程师的年终总结
Hi,我叫李振良,来自河南周口农村的一个普通家庭,如今来北京已经12年了,我是那种没有大学背景.没有聪明头脑.没有人脉的奋斗青年,但我又是那种不甘于现状,一直想做最好的那个人! 2019年已悄然离去, ...
- [01] C#网络编程的最佳实践
网络框架的选择 C++语言里面有asio和libuv等网络库, 可以方便的进行各种高效编程. 但是C#里面, 情况不太一样, C#自带的网络API有多种. 例如: Socket TcpStream(同 ...
- JVM学习第三天(JVM的执行子系统)之类加载机制补充
昨晚没看完,今天继续 系统的类加载器 对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性,每一个类加载器,都拥有一个独立的类名称空间.这句话可以表达得更通俗一些: ...
- Java里一个线程两次调用start()方法会出现什么情况
Java的线程是不允许启动两次的,第二次调用必然会抛出IllegalThreadStateException,这是一种运行时异常,多次调用start被认为是编程错误. 如果业务需要线程run中的代码再 ...
- Redis6.0.6集群服务搭建
实现目标 一台主机上搭建3主3从高可用redis集群 环境 Linux :CentOS7 Redis : 6.0.6 准备工作 1.查看是否有安装wget命令,如果没有安装使用yum命令安装wgt命令 ...
- blazemeter和jmeter
前言 咸鱼的生活总是那么短暂,年轻还是要多学习 blazemeter BlazeMeter是一款可以记录所有HTTP流量并在10分钟内创建一个负载测试并且与Apache JMeter兼容的chrome ...
- java中数据类型占多少字节
基本类型(primitive type) 数值类型:byte占1个字节:short占2个字节:int占4个字节:long占8个字节:float占4个字节:double占8个字节.char占2个字节. ...