什么是DDL与DML
DDL
数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。
简介
这些定义包括结构定义、操作方法定义等。
数据库模式定义语言并非程序设计语言,DDL数据库模式定义语言是SQL语言(结构化查询语言)的组成部分。SQL语言包括四种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML),数据控制语言(DCL)和事务控制语言(TCL)。
查询语句的重写的实现主要是对SQL语言中的两大类语句进行重写,即数据定义语言DDL和数据操纵语言DML。 [1]
DDL描述的模式,必须由计算机软件进行编译,转换为便于计算机存储、查询和操纵的格式,完成这个转换工作的程序称为模式编译器。
模式编译器处理模式定义主要产生两种类型的数据:数据字典以及数据类型和结构定义。
数据字典和数据库内部结构信息是创建该模式所对应的数据库的依据,根据这些信息创建每个数据库对应的逻辑结构;对数据库数据的访问、查询也根据模式信息决定数据存取的方式和类型,以及数据之间的关系和对数据的完整性约束。
数据字典是模式的内部信息表示,数据字典的存储方式对不同的DBMS各不相同。
数据类型和结构的定义,是指当应用程序与数据库连接操作时,应用程序需要了解产生和提取的数据类型和结构。是为各种宿主语言提供的用户工作区的数据类型和结构定义,使用户工作区和数据库的逻辑结构相一致,减少数据的转换过程,这种数据类型和结构的定义通常用一个头文件来实现。
数据库模式的定义通常有两种方式: 交互方式定义模式和通过数据描述语言DDL 描述文本定义模式。
常见DDL语句
创建数据库
CREATE DATABASE
创建数据库
CREATE {DATABASE | SCHEMA} db_name
[create_specification [, create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
| [DEFAULT] COLLATE collation_name
创建数据库表格
CREATE TABLE
创建数据库表格
CREATE [TEMPORARY] TABLE tbl_name
[(create_definition,...)]
[table_options] [select_statement]
修改数据库表格
ALTER TABLE
修改数据库表格
ALTER TABLE tbl_name
alter_specification [, alter_specification] ...
alter_specification:
ADD [COLUMN] column_definition [FIRST | AFTER col_name ]
| ADD [COLUMN] (column_definition,...)
| ADD INDEX (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
PRIMARY KEY (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
UNIQUE (index_col_name,...)
| ADD (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
FOREIGN KEY (index_col_name,...)
[reference_definition]
| ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
| CHANGE [COLUMN] old_col_name column_definition
[FIRST|AFTER col_name]
| MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]
| DROP [COLUMN] col_name
| DROP PRIMARY KEY
| DROP INDEX index_name
| DROP FOREIGN KEY fk_symbol
| DISABLE KEYS
| ENABLE KEYS
| RENAME [TO] new_tbl_name
| ORDER BY col_name
| CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]
| [DEFAULT] CHARACTER SET charset_name [COLLATE collation_name]
| DISCARD TABLESPACE
| IMPORT TABLESPACE
| table_options
删除数据库表格
DROP TABLE
删除数据库表格
DROP [TEMPORARY] TABLE
tbl_name [, tbl_name] ...
[RESTRICT | CASCADE]
创建查询命令
CREATE VIEW
创建查询命令
CREATE[ORREPLACE][ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
修改查询命令
ALTER VIEW
修改查询命令
ALTER [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
删除查询命令
DROP VIEW
删除查询命令
DROP VIEW
view_name [, view_name] ...
[RESTRICT | CASCADE]
删除数据表内容
TRUNCATE TABLE
删除数据表内容
TRUNCATE TABLE name [DROP/REUSE STORAGE]
DROP STORAGE:显式指明释放数据表和索引的空间
REUSE STORAGE:显式指明不释放数据表和索引的空间
DML
数据操作语言DML(Data Manipulation Language),用户通过它可以实现对数据库的基本操作。例如,对表中数据的查询、插入、删除和修改。 在DML中,应用程序可以对数据库作插,删,改,排,检等五种操作。
数据操纵语言(Data Manipulation Language, DML)是用于数据库操作,对数据库其中的对象和数据运行访问工作的编程语句,通常是数据库专用编程语言之中的一个子集,例如在信息软件产业通行标准的SQL语言中,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入(意指新增或创建)、更新(修改)与删除(销毁)。在使用数据库的系统开发过程中,其中应用程序必然会使用的指令;而加上 SQL的SELECT语句,欧美地区的开发人员把这四种指令,以“CRUD”(分别为 Create, Read, Update, Delete英文四前缀字母缩略的术语)来称呼;而亚洲地区使用汉语的开发人员,或可能以四个汉字:增 查 改 删 来略称。
DML 的主要功能即是访问数据,因此其语法都是以读取与写入数据库为主,除了INSERT以外,其他指令都可能需搭配WHERE指令来过滤数据范围,或是不加WHERE指令来访问全部的数据。DML 的主要功能即是访问数据,因此其语法都是以读取与写入数据库为主,除了INSERT以外,其他指令都可能需搭配WHERE指令来过滤数据范围,或是不加WHERE指令来访问全部的数据。
具体步骤
DML 的主要功能即是访问数据,因此其语法都是以读取与写入数据库为主,除了INSERT以外,其他指令都可能需搭配WHERE指令来过滤数据范围,或是不加WHERE指令来访问全部的数据。DML 的主要功能即是访问数据,因此其语法都是以读取与写入数据库为主,除了INSERT以外,其他指令都可能需搭配WHERE指令来过滤数据范围,或是不加WHERE指令来访问全部的数据。
(1)插操作:把数据插入到数据库中指定的位置上去,如Append 是在数据库文件的末尾添加记录,而INSERT是在指定记录前添加记录。
(2)删操作:删除数据库中不必再继续保留的一组记录,如DELETE 对数据库中记录作删除标志。PACK是将标有删除标志的记录彻底清除掉。ZAP 是去掉数据库文件的所有记录。
(3)改操作:修改记录或数据库模式,或在原有数据的基础上, 产生新的关系模式和记录,如连接Join操作和投影操作Projection.
(4)排序操作:改变物理存储的排列方式。如SORT命令按指定关键字串把DBF文件中记录排序。从物理存储的观点看,数据库发生了变化,但从逻辑的观点(或集合论观点看),新的关系与排序前是等价的。
(5)检索操作:从数据库中检索出满足条件的数据,它可以是一个数据项, 一个记录或一组记录。如BROWSE单元实现对数据的浏览操作。SELECT选出满足一定条件和范围的记录。
什么是DDL与DML相关推荐
- 23-hadoop-hive的DDL和DML操作
跟mysql类似, hive也有 DDL, 和 DML操作 数据类型: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ ...
- oracle ddl会被什么阻塞,MySQL Online DDL与DML并发阻塞关系总结
MySQL Online DDL与DML并发阻塞关系总结MySQL DDL操作执行的三种方式 1,INPLACE,在进行DDL操作时,不影响表的读&写,可以正常执行表上的DML操作,避免与CO ...
- SQL语法之DDL和DML
SQL语法之DDL和DML DDL数据库定义语言 create 创建 alter 修改 drop 删除 drop和delete的区别 truncate DML 数据操作语言 inser ...
- mysql ddl dcl_MySQL常用DDL、DML、DCL语言整理(附样例)
在介绍这些SQL语言之前,先罗列一下mysql的常用数据类型和数据类型修饰,供查询参考 后面的带数字表示此类型的字段长度 数值型: TINYINT 1 ,SMALLINT 2,MEDIUMINT 3 ...
- jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化
上一章的代码中,可以发现,jdbc执行DDL和DML有几个步骤都是一样的: 1)执行语句开始时,创建驱动注册对象.获取连接的数据库对象.创建Statement对象 1 // 创建驱动注册对象 2 Cl ...
- MySQL流浪记(四)—— DDL和DML区别与介绍
DDL与DML的区别 DDL:数据定义语言,对于数据库.表.图.索引等进行操作. 具体操作有:CREATE(创建).ALTER(修改).DROP/TRUNCATE(删除) DML:数据操纵语言,对表中 ...
- MySQL进阶(DDL与DML)
目录 1.DDL 1.1对库的管理 1.2对表的操作 1.3常用的数据类型(补充) 1.4约束 2.DML 2.1.向表中插入数据:(两种方式) 2.2.修改语句: 2.3.删除语句 2.4.dele ...
- DDL、DML和DCL的理解(1、总述)
1.DDL 1-1.DDL的概述 DDL(Data Definition Language 数据定义语言)用于操作对象和对象的属性,这种对象包括数据库本身,以 ...
- DDL和DML的含义与区别
1.DDL和DML的含义 ① DML(Data Manipulation Language)数据操作语言-数据库的基本操作,SQL中处理数据等操作统称为数据操纵语言,简而言之就是实现了基本的" ...
- 什么是DDL和DML语句?
1.什么是DDL和DML语句? SQL语言分成三大类 1.DDL语言 2.DML语言 3.DCL语言 可恶,竟然在技术内幕只提及了一部分 #内幕661 要知道DDL是什么意思,必须先了解它的英文全称 ...
最新文章
- TensorFlow练习23: “恶作剧”
- python安装whl_EN-mysqlclient库安装问题
- url在python_Python中url标签使用详解
- 通过api管理grafana
- python定义栈_Python栈实现
- python编程画布_Python Tkinter 画布(Canvas)
- java闪光灯_Android实现闪光灯效果
- 计算机屏幕画图工具,电脑屏幕画笔工具(Pointofix)
- FreeMarker模板引擎实现页面静态化
- #微积分#正项级数收敛性判别方法
- lammps案例:空位缺陷对石墨烯力学性能影响模拟
- Cube(给出八个点,判断这八个点是否可以构成一个正方体)
- OSChina 周四乱弹 ——一周五天在诈尸
- 力天创见人脸识别客流统计方案
- 学习强国:我国自研统信软件操作系统有了“终端管家”
- AWS DeepRacer re:Invent 2018赛道reward function奖励函数
- 推荐几款比较好的手机流量监控软件
- 玩转代码|免费获取在线Logo设计网站的Logo
- b2b2c商城系统开发
- WordCount单词统计笔记
热门文章
- Tengine与Nginx特性详解
- 移动开发-微信页面开发
- android9三星功能,三星Galaxy-S9+/SM-N960F/Exynos处理器-crDroid-V5.3-安卓9.0.0-来去电归属T9-农历等-多功能本地化增强...
- flexible wincc 弹窗,WinCC flexible 如何实现弹出窗口-工业支持中心-西门子中国
- 算法的时间复杂度分类
- 一串代码让你成为机房最靓的仔
- live和on的区别
- swagger2maven依赖_Swagger2安装及使用
- 2020年中式烹调师(高级)考试技巧及中式烹调师(高级)证考试
- CoreData - 查询