四、DML语言
简介
DML语言就是数据操作语言
主要操作
- 插入:insert
- 修改:update
- 删除:delete
插入语句
语法
方式一
- 支持多个:insert into 表名(列名.......) values(值.......),(值.......);
- insert into 表名(列名.......) value(值.......);
方式二
- insert into 表名 set 列名1=值1, set 列名1=值1;
区别
方式一支持插入多行,方式二不支持;
方式一支持子查询,方式二不支持。
注意
不能为空的列必须插入值
可为空的列插入值方式
- 如果不指定,数据库自动加入默认值
修改语句
修改单表
语法
update 表名 set 列名=值,列名=值 where 条件;
修改多表
语法
update user u inner jion user_address ua on u.id = ua.user_id
set ua.address='浙江杭州' where u.id = 1;
删除语句
DELETE
语法
单表:
delete from 表名 where 筛选条件;(如不加条件,默认删除全表)
多表:
sql 92语法:
delete 别名a, 别名b
from 表1 别名a, 表2 别名b
where 连接条件 and 筛选条件;
sql 99语法:
delete 别名1,别名2
from 表1 别名1 inner|left|right join 表2 别名2 on 连接条件
where 筛选条件;
TRUNCATE
语法
truncate table 表名; (不能加条件,删除全表)
两种删除总结
- delete 可以加条件,truncate 不能加条件;
- 如果想要清空表记录,使用 truncate 效率更高;
- 假如要删除的表中有自增长列,如果用delete删除,再插入数据,自增长的值从断点处开始,而 truncate 删除后,再插入数据,自增长列的值从1开始;
- truncate 删除没有返回值,delete 支持返回值(返回值指的是,几行受影响);
- truncate 没有事务回滚,delete 支持事务回滚。
四、DML语言的更多相关文章
- SQL的四种语言和数据库范式
1. SQL的四种语言 DDL(Data Definition Language)数据库定义语言 CREATE ALTER DROP TRUNCATE COMMENT RENAME DML(Data ...
- Oracle-06:DML语言数据表的操作
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 开篇放上一个SQL脚本,供测试使用 create table DEPT ( deptno ) not null ...
- Oracle存储过程中不支持DML语言的解决方法(针对遇见的DROP关键字)
---存储过程中的原语句: ---删除表 DROP TABLE A_NEWTDDATA; --报错 经查询:存储过程不支持DML语言: 解决方法: execute immediate 'DROP TA ...
- 5 DML语言
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- 数据库01创建表和DML语言
楼主用的数据库时mysql,用的时navacat for mysql. 数据库层面: 1.显示所有数据库 show databases; 2.创建数据库,名字叫lyh,编码为utf-8 create ...
- MySQL的DML语言(增删改)
MySQL的DML语言(增删改) 补充说明,外键:不要使用外键,一切外键概念都在应用层解决. 补充说明,数据库的列,也就是字段名,尽量带上飘符号` 数据库存在的意义:数据存储和数据管理. 数据库:行( ...
- MySQL笔记总结-DML语言
DML语言 插入 一.方式一 语法: insert into 表名(字段名,...) values(值,...); 特点: 1.要求值的类型和字段的类型要一致或兼容 2.字段的个数和顺序不一定与原始表 ...
- DML语言(数据操纵语言)
#DML语言/*数据操作语言:插入:insert修改:update删除:delete */ #一.插入语句#方式一:经典的插入/*语法:insert into 表名(列名,...) values(值1 ...
- 手把手和你一起实现一个Web框架实战——EzWeb框架(四)[Go语言笔记]Go项目实战
手把手和你一起实现一个Web框架实战--EzWeb框架(四)[Go语言笔记]Go项目实战 代码仓库: github gitee 中文注释,非常详尽,可以配合食用 这一篇文章主要实现路由组功能.实现路由 ...
随机推荐
- [C++]数据结构:线性表之(单)链表
一 (单)链表 ADT + Status InitList(LinkList &L) 初始化(单)链表 + void printList(LinkList L) 遍历(单)链表 + int L ...
- SpringBoot: 10.整合mybatis(转)
需求:通过使用 SpringBoot+SpringMVC+MyBatis 整合实现一个对数据库中的 t_user 表的 CRUD 的操作 1.创建maven项目,添加项目所需依赖 <!--spr ...
- [PyTorch] Facebook Research - Mask R-CNN Benchmark 的安装与测试
Github项目链接:https://github.com/facebookresearch/maskrcnn-benchmark maskrcnn_benchmark 安装步骤: 安装Anacond ...
- 花里胡哨,如何在Linux终端输出带有颜色的字体,将带颜色的字体赋值给变量
背景 在日常操作Linux的情况下,总会遇到一些需求,比如说,把输出的内容用不同颜色标注出来,以达到醒目.提示的目的,那么如何在Linux终端输出带有颜色的字体呢? Linux终端输出字符颜色 ...
- ORK
小试OKR一季度之后有感分享,你要不要试试ORK? 封面 OKR已经在国内热火朝天有一阵子了,为了适当的赶时髦,从年初开始团队内部小范围使用ORK模式以便测试团队会有什么化学反应.这篇文章打算写写 ...
- visualgdb 调试arm
目录 visualgdb 调试arm 没有ssh的开发板使用telnet 使用telent的gdbserver title: visualgdb 调试arm date: 2019/11/19 10:0 ...
- 磁盘冗余列阵Raid技术知识与实践
Raid介绍 什么是Raid? Raid级别介绍 Raid 技术分类 RAID分为两类: 软RAID, 系统层面实现的,性能差. 硬RAID, 硬件层面实现的,性能好. 主板板载RAID: 功能弱 ...
- Javascript 数组转无限级分类
递归 var arr = [ {"id":1,"parent_id":0,"name":"Foods"}, {" ...
- 《C和指针》读书笔记
1. 三字母词 三字母词即用三个字符合起来表示另一个字符,它可以使C环境在某些缺少一些必需字符的字符集上实现. ??( [ ??< { ??= # ??) ] ??> } ??/ \ ?? ...
- JMM(Java内存模型)是什么?为什么使用并发?
1.计算机 首先我们需要讲解下计算机的模型:现代计算机模型是基于-冯诺依曼计算机模型 我们不用管输入和输出设备,最主要的就是中间计算器和存储器之间的交互,也就是CPU与主内存之间取数.存数. 大家会看 ...