简介

DML语言就是数据操作语言

主要操作

  1. 插入:insert
  2. 修改:update
  3. 删除:delete

插入语句

语法

方式一

  1. 支持多个:insert into 表名(列名.......) values(值.......),(值.......);
  2. insert into 表名(列名.......) value(值.......);

方式二

  1. insert into 表名 set 列名1=值1, set 列名1=值1;

区别

方式一支持插入多行,方式二不支持;

方式一支持子查询,方式二不支持。

注意

  1. 不能为空的列必须插入值

  2. 可为空的列插入值方式

    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 表名; (不能加条件,删除全表)

两种删除总结

  1. delete 可以加条件,truncate 不能加条件;
  2. 如果想要清空表记录,使用 truncate 效率更高;
  3. 假如要删除的表中有自增长列,如果用delete删除,再插入数据,自增长的值从断点处开始,而 truncate 删除后,再插入数据,自增长列的值从1开始;
  4. truncate 删除没有返回值,delete 支持返回值(返回值指的是,几行受影响);
  5. truncate 没有事务回滚,delete 支持事务回滚。

四、DML语言的更多相关文章

  1. SQL的四种语言和数据库范式

    1. SQL的四种语言 DDL(Data Definition Language)数据库定义语言 CREATE ALTER DROP TRUNCATE COMMENT RENAME DML(Data ...

  2. Oracle-06:DML语言数据表的操作

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 开篇放上一个SQL脚本,供测试使用 create table DEPT ( deptno ) not null ...

  3. Oracle存储过程中不支持DML语言的解决方法(针对遇见的DROP关键字)

    ---存储过程中的原语句: ---删除表 DROP TABLE A_NEWTDDATA; --报错 经查询:存储过程不支持DML语言: 解决方法: execute immediate 'DROP TA ...

  4. 5 DML语言

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  5. 数据库01创建表和DML语言

    楼主用的数据库时mysql,用的时navacat for mysql. 数据库层面: 1.显示所有数据库 show databases; 2.创建数据库,名字叫lyh,编码为utf-8 create ...

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

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

  7. MySQL笔记总结-DML语言

    DML语言 插入 一.方式一 语法: insert into 表名(字段名,...) values(值,...); 特点: 1.要求值的类型和字段的类型要一致或兼容 2.字段的个数和顺序不一定与原始表 ...

  8. DML语言(数据操纵语言)

    #DML语言/*数据操作语言:插入:insert修改:update删除:delete */ #一.插入语句#方式一:经典的插入/*语法:insert into 表名(列名,...) values(值1 ...

  9. 手把手和你一起实现一个Web框架实战——EzWeb框架(四)[Go语言笔记]Go项目实战

    手把手和你一起实现一个Web框架实战--EzWeb框架(四)[Go语言笔记]Go项目实战 代码仓库: github gitee 中文注释,非常详尽,可以配合食用 这一篇文章主要实现路由组功能.实现路由 ...

随机推荐

  1. Delphi实现树型结构具体实例

    unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, ...

  2. idea控制台中文乱码“淇℃伅”

    方法一:找到tomcat的conf目录下的logging.properties,将输出到控制台的编码改为GBK java.util.logging.ConsoleHandler.encoding = ...

  3. 微信小程序 左右分类列表

    分类界面,左边是一级目录,右边是一级目录对应的二级目录,根据这个需求,我们数据设计的结构一定是数组嵌套数组,第一个数组包含一级目录数据,嵌套的数组包含的是二级目录的数据. wxml代码: <vi ...

  4. CG-CTF 南邮 综合题2

    个人网站 http://www.wjlshare.tk 0x00前言 主要考了三块 第一块是文件包含获取源码 第二块是通过sql绕过注入获取密码 第三块是三参数回调后门的利用 做这题的时候结合了别人的 ...

  5. Hadoop 之 HDFS API操作

    1. 文件上传 @Slf4j public class HDFSClient { @Test public void testCopyFromLocalFile() throws Exception{ ...

  6. 《鸟哥的Linux私房菜:服务器搭建篇》第一部分学习笔记

    零.问题集 1. 我们购买网络时,有4M.5M.8M.10M乃至100M,运营商是如何控制每个用户的带宽的? 一.网络基础概念 1. 交换器与集线器最大的差异,在于交换器内有一个特别的内存, 这个内存 ...

  7. java 分解整数 【个 十 百 千】,获得个位、十位、百位数字

    求一个数数的个位数,十位数,百位数及千位: int num = 53; int g = (num / 1) % 10;  //个位 int s = (num / 10) % 10; //十位 int ...

  8. Netty源码剖析-发送数据

    参考文献:极客时间傅健老师的<Netty源码剖析与实战>Talk is cheap.show me the code! 开始之前先介绍下Netty写数据的三种方式: ①:write:写到一 ...

  9. Timezone offset does not match system offset: 0 != -32400. Please, check your config files

    apscheduler使用uWSGI的mule模块部署的时候报错, 因为系统时区和代码运行时区不一样导致. 解决办法:在初始化的时候指定上海的时区 scheduler = BlockingSchedu ...

  10. 列表推导:python2和python3中作用域的问题

    python2中: x = 'my love' dummy = [x for x in 'ABC'] print x 此时x打印为:'C' python3中: x = 'my love' dummy ...