#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的更多相关文章

  1. [Sqoop]利用sqoop对mysql运行DML操作

    业务背景 利用sqoop对mysql进行查询.加入.删除等操作. 业务实现 select操作: sqoop eval \ --connect jdbc:mysql://127.0.0.1:3306/m ...

  2. mysql 5.7 的安装配置与 navicat premium for mysql 11 的破解使用

    再安装mysql5.7 或以上的版本出现了一些问题,现在总结下,希望能给初入学习mysql的人一下帮助,大牛就不要来嘲笑小弟我了 首先准备如下: 1.下载mysql 5.7,下载地址:https:// ...

  3. 利用sqoop对mysql执行DML操作

    业务背景 利用Sqoop对MySQL进行查询.添加.删除等操作. 业务实现 select操作: sqoop eval \ --connect jdbc:mysql://127.0.0.1:3306/m ...

  4. MySQL的DML常用语法格式

    MySQL的DML常用语法格式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们知道MySQL的查询大致分为单表查询,多表查询以及联合查询.多表查询,顾名思义,就是查询的结果可能 ...

  5. MySQL的DML语言(增删改)

    MySQL的DML语言(增删改) 补充说明,外键:不要使用外键,一切外键概念都在应用层解决. 补充说明,数据库的列,也就是字段名,尽量带上飘符号` 数据库存在的意义:数据存储和数据管理. 数据库:行( ...

  6. Navicat for Mysql 11.2 的下载,安装与激活

    1. Navicat for Mysql 11.2 的下载 链接:https://pan.baidu.com/s/1w54F-MYTLuy4TQwpzUE7bQ       密码:zsfu 2.下载的 ...

  7. (MariaDB/MySQL)之DML(1):数据插入

    本文目录: 1.insert和replace插入数据 1.1 insert into values() 1.2 insert into set 1.3 insert into select_state ...

  8. (MariaDB/MySQL)之DML(2):数据更新、删除

    本文目录:1.update语句2.delete语句 2.1 单表删除 2.2 多表删除3.truncate table 1.update语句 update用于修改表中记录. # 单表更新语法: UPD ...

  9. MySQL之DML语句(insert update delete)

    DML主要针对数据库表对象的数据而言的,一般DML完成: 插入新数据 修改已添加的数据 删除不需要的数据 1.insert into插入语句 //主键自增可以不插入,所以用null代替 ); //指定 ...

  10. mysql语句-DML语句

    DML语句 DML是指对数据库中表记录的操作,主要包括数据的增删改查以及更新,下面依次介绍 首先创建一张表:: 表名:emp 字段:ename varchar(20),hiredate date ,s ...

随机推荐

  1. Git使用感悟

    前言 分支介绍 我们现在开发的分支一般是这样的(基于上面那张图片的): master:上线用的 dev:开发用的 featature_xxx:开发用的 test:测试用的 hotfix:修复bug的 ...

  2. composer版本号前面`^`和`~`的区别

    ~1.2.3表示: 1.2.3 <= 版本号 < 1.3.0 ^1.2.3表示: 1.2.3 <= 版本号 < 2.0.0 ~1.2 表示: 1.2.0 <= 版本号 & ...

  3. python执行gradle脚本

    import os import shutil import subprocess #拷贝文件 def copyFile(srcFile, dstFile): #检查源文件是否存在 if not os ...

  4. IntPtr to bytes

    byte[] managedArray = new byte[size]; Marshal.Copy(pnt, managedArray, 0, size);

  5. AOP理论

    目录 AOP理论 什么是AOP 那Spring AOP,AspectJ又是啥呢? 为什么说AOP是OOP的补充和完善呢? 应用场景举例 AOP的优点 AOP的术语整理 AOP理论 什么是AOP AOP ...

  6. MySQL 外部联结 内连接、左右外连接辨析

    内连接 在进行跨表内连接查询数据时,查询结果只返回符合查询条件的数据:跨表内连接查询的结果和使用where的多表查询结果相同,其实就是普通的查询,没啥好说的 -- 语法: SELECT 别名1.字段名 ...

  7. HDU - 1005 -Number Sequence(矩阵快速幂系数变式)

    A number sequence is defined as follows:  f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) m ...

  8. [BUUOJ记录] [BJDCTF2020]EasySearch

    前面的突破点考察swp泄露以及md5截断认证,最后一步考察ssi注入 进入题目是一个登陆页面什么提示都没有,工具扫了一下发现swp泄露,得到登录验证页面的源码: <?php ob_start() ...

  9. 求学生单科流水表中单科最近/最新的考试成绩表的新增可行性方案 使用Oracle提供的分析函数rank

    在 https://www.cnblogs.com/xiandedanteng/p/12327809.html 一文中,提到了三种求学生单科最新成绩的SQL可行性方案,这里还有另一种实现,那就是利用分 ...

  10. SEDA架构实现

    一.SEDA SEDA全称是:stage event driver architecture,中文直译为“分阶段的事件驱动架构”,它旨在结合事件驱动和多线程模式两者的优点,从而做到易扩展,解耦合,高并 ...