在SQL语言中,常用四种类型语言:DDL(数据定义语言)、DML(数据操纵语言)、DQL(数据查询语言)、DTL(数据事务语言).以下,将对其各部分进行一一概述.

目录

  • 1.DDL(Data Definition Language)
  • 2.DML(Data Manipulation Language)
  • 3.DQL(Data Query Language)
  • 4.DCL(Data Transaction Language)

1.DDL(Data Definition Language)

主要内容:对数据库/表创建、修改、删除操作
数据库创建:create database 数据库名;
数据表创建:create table 数据表名(字段1 字段类型,字段2 字段类型,...)


数据库删除:drop databases 数据库名;
数据表删除:drop tables 数据表名;


数据库修改:不提倡该操作,已被Mysql禁用
数据表修改:alter table 数据表名 add|drop|change|modify| column ....

其次,在创建表的时候,通常会对表内的字段(列)进行一定的约束,共分为以下六种:
主键约束(primary key)、自增约束(auto_increment)、唯一约束(unique)、非空约束(not null)、默认约束(default)、外键约束(foreign key)
当然,以上六种约束也可以在创建表之后添加、修改、删除

2.DML(Data Manipulation Language)

主要内容:对数据表中的值进行插入、修改、删除操作
数据插入:insert into 数据表名(字段1,字段2,...) values(值1,值2)
数据修改:update 数据表名 set 字段=值 where..
数据删除:delete from 数据表名/truncate 数据表名 (仅删除表中的值,仍保留表的结构)
**(两者的区别:1.truncate效率高,但后面不能加where语句;相反,delete…from…可加where语句
                          2.对于具有自增约束的字段,delete from 删除后,新增字段是从断点处开始;而truncate删除后,是从1开始
                          3.在事务中,truncate不能回滚,delete from 可以回滚)

3.DQL(Data Query Language)

主要内容:通过查询语句实现对特定数据的筛选

  • 基础查询

1.查询表中所有数据:select * from 数据表名
   2.查询表中多个字段数据:select 字段1,字段2,... from 数据表名
   3.查询表中不重复数据记录:select distinct 字段 from 数据表名
   4.查询表中某个字段在区间a~b之间的数据:select * from 数据表名 where 字段 between a and b
                                                                         select * from 数据表名 where 字段>a and 字段<b
   5.或者关系查询:select * from 数据表名 where 字段 in (a,b,c,..)(将字段为a,b,c,. 的数据都筛选出来)
   6.不同关系的或者(并)关系查询:select * where 字段1=xxx or(and) 字段2=xxx from 数据表名
   7.按照某个分类字段查询:select * from 数据表名 group by 字段
   8.查询某个字段(如成绩)并按照降(升)序排列:select * from 数据表名 order by grade desc(asc)
   9.统计某个字段的个数:select count(*) from 数据表名 where 字段=xxx
   10.查询某个字段的个数大于某个数num:select * from 数据表名 having count(字段)>num

  • 高级查询

1.函数筛选(最大、最小、平均、求和):select max/min/avg/sum(字段) from 数据表名
   2.子查询(如从成绩表中筛选出最高分的学生姓名与年龄):select name,age from score where grade=(select max(grade) from score)
   3.多表查询:select 字段1,字段2 from 表1,表2 where 表1.字段13=表2.字段23
                        select * from 表1 inner/left/right/full join 表2 on 表1.字段1=表2.字段2
   4.复杂查询的一般结构:select...from 数据表名 where...group by..having ... order by ...limit
   5.正则查询:select * from 数据表名 where 字段 regexp 正则表达式
                        select * from 数据表名 where 字段1 like '%a' (查询字段1以a开头的数据)
                        select * from 数据表名 where 字段2 like 'a%' (查询字段2以a结尾的数据)
                        select * from 数据表名 where 字段3 like ''%a% (查询字段3包含a的数据)

4.DCL(Data Transaction Language)

主要内容:处理操作量大,复杂程度高的数据
事务定义:最小的不可分隔的单元。一般是由多条sql语句构成一个事务,然后共同完成一个业务(如转账)
事务特性:原子性、一致性、隔离性、持久性
事务控制语句:开启:begin/start transaction
                         回滚:rollback
                         提交:commit

事务隔离性:
1、read uncommitted ; 读未提交 -------事务a对数据进行操作过程中,事务没有被提交,但是b可以看到a操作的结果(一个rollback,另一个可以看到撤回的结果)
2、read committed ;读已提交
3、repeatable read ;可以重复读
4、serializable; 串行化 —事务a和事务b同时操作一张表,如果有一方想要插入数据,要等到事务b commit 后才能进行(会有等待超时)

查看隔离库级别:select @@global.transaction_isolation
修改隔离级别:set global transaction isolation level read uncommitted

脏读:事务a读到了事务b没有提交的数据 (uncommitted 情况下)
幻读:事务a和事务b同时操作一张表,事务a提交的数据,不能被事务读到(repeatable read情况下)

最后,我绘制了关于Mysql学习的思维导图,详细内容会在今后分享中说明.

MySQL(二) DDL、DML、DQL、DTL概述相关推荐

  1. MySQL 的DDL DML DQL DCL细节解析 知道这些就够了

    SQL语言一共分为4大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL 1.数据定义语言DDL(Data Definition Language) 对象: 数据库和表 ...

  2. dml语句包括哪些_聊聊MySQL基本操作DDL,DML,DQL,DCL

    本篇文章来回顾一下MySQL的基本操作之DDL,DML,DQL,DCL,每种操作都有各自不同的语法,常用的操作汇总如下. 一.DDL-数据定义语言 作用:数据定义语言主要用来定义数据库中的各类对象,包 ...

  3. Mysql的DDL DML DQL DCL

    m代表长度(1-65) d代表保留少数位(0-30) 整数型 tinyint(m)1字节 取值范围(-128-+127) int(m)4字节 取值范围(大概20几亿) 浮点型 double(m,d)8 ...

  4. 数据库MySQL基础---DDL/DML/DQL

    MySQL基础 数据库简介 数据库是"按照数据结构来组织.存储和管理数据的仓库".是一个长期存储在计算机内的.有组织的.可共享的.统一管理的大量数据的集合. 与数据库相关的概念数据 ...

  5. Python|SQL详解之DDL|DML|DQL|DCL|索引|视图、函数和过程|JSON类型|窗口函数|接入MySQL|清屏|正则表达式|executemany|语言基础50课:学习(14)

    文章目录 系列目录 原项目地址 第41课:SQL详解之DDL 建库建表 删除表和修改表 第42课:SQL详解之DML insert操作 delete 操作 update 操作 完整的数据 第43课:S ...

  6. 【数据库1】mysql,DDL/DML,DQL,外键约束,多表/子查询,事务,登陆,连接池,jdbc,redis,crontab,ftp,oracle,数据交换/存储/收集

    文章目录 1.mysql安装:存储:集合(内存:临时),IO流(硬盘:持久化) 1.1 服务端:双击mysql-installer-community-5.6.22.0.msi 1.2 客户端:命令行 ...

  7. 数据库语言(DDL,DML,DQL,DCL)

    一.DDL(data definition language)数据定义语言: DDL语句不用commit 数据定义语言DDL用来创建数据库中的各种对象-----表.视图.索引.同义词.聚簇等如: CR ...

  8. 如何管理和使用哪些命令操作MySQL数据库?(基本操作,SQL语言,DDL,DML,DQL,DCL,Windows字符和图形界面MySQL安装)

    文章目录 前言 一:数据库基本操作命令 1.1:MySQL常用管理操作是哪些? 1.2:查看数据库列表信息的命令是? 1.3:查看数据库中的数据表信息命令是? 1.4:显示数据表的结构(字段)命令是? ...

  9. MySql基础汇总-DDL DML DQL DCL,存储过程,事务,触发器,函数等

    use testdb;-- /**********************************************一:数据库操作语言****************************** ...

  10. MySQL 数据库 - 通用语法 DDL DML DQL DCL

    目录 数据模型 通用语法及分类 DDL(数据定义语言) 数据库操作 表操作-查询 表操作-创建 表操作-修改 表操作-删除 表操作-数据类型 DML(数据操作语言) DML介绍 DML添加数据 DML ...

最新文章

  1. iOS: NSTimer的循环引用(解决)
  2. Swarm 如何实现 Failover?- 每天5分钟玩转 Docker 容器技术(98)
  3. mysql查询结果单位换算后小数位数的保留方式
  4. DC课程笔记-数字逻辑综合工具-DC Synthesis Optimization Techniques
  5. liunx Xwindow下切换输入法命令(im-switch)
  6. 新一代 Python 包管理工具来了!
  7. 关于分布式系统的数据一致性问题(三)
  8. 从调试数据分析USB通信协议——UVC摄像头【UVC类设备】(五)
  9. 美国目前最流行的五种量化交易模型
  10. 《Spring实战(第5版)》Spring in Action, Fifth Edition 官方在线阅读及源码下载
  11. 于NXP芯片第一次无法进入CAN中断的问题
  12. java声音变音代码实现_大话音频变声原理 附简单示例代码
  13. dfuse 与 Solana 宣布合作,为其高吞吐量区块链提供强大的数据解决方案
  14. JavaScript实现移动端跟手轮播图
  15. 天池竞赛赛题-特征工程-天猫用户重复购买预测解析
  16. 上线不到两个月,昇腾AI助推“中国算力网”再添新节点
  17. simulink/stateflow 纯电动+4档变速箱动力性经济性仿真模型 包含vcu控制及换档控制模型,可实现最高车速 最大爬坡度 加速时间,能耗续航仿真
  18. Aborted(core dumped)
  19. AVFoundation开发秘籍笔记-03资源和元数据
  20. The Graveyard Book

热门文章

  1. minus subtract deduct这三个单词的区别
  2. 如何看待越来越多年轻人追捧「摸鱼哲学」,拒绝努力的年轻人真比老一辈活得更通透吗?
  3. 【雅思阅读】王希伟阅读P3(Heading)
  4. BPMS的市场与产品
  5. 将网易博客搬至CSDN
  6. 联盛德 HLK-W806 (三): 免按键自动下载和复位
  7. android Room框架学习
  8. 哥伦比亚大学计算机科学硕士排名,哥伦比亚大学计算机科学硕士排名第16(2020年TFE Times排名)...
  9. Python的scrapy之爬取6毛小说网
  10. 每日方法分享:免费一键抠图方法都有哪些?