数据定义语言 - DDL
写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。
- 对于文章中出现的任何错误请大家批评指出,一定及时修改。
- 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
- 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。
数据定义语言 - DDL
本文关键字:数据库、数据定义语言、DDL、数据库对象
文章目录
- 数据定义语言 - DDL
- 一、DDL介绍
- 二、常见数据库对象
- 1. 数据库
- 2. 数据表
- 3. 视图
- 4. 索引
- 5. 序列
- 6. 触发器
- 7. 函数
- 8. 存储过程
- 9. 用户
- 三、CREATE
- 1. 创建数据表
- 2. 创建视图
- 3. 创建索引
- 四、DROP
- 1. 删除数据表
- 2. 删除视图
- 3. 删除索引
之前我们已经了解了SQL语言的分类,可以划分为:DDL(数据定义语言)、DML(数据操纵语言)、DQL(数据查询语言)、DCL(数据控制语言)、TPL(事务处理语言)、CCL(指针控制语言),本文将介绍DDL。
一、DDL介绍
DDL的全称是Data Definition Language,即:数据定义语言。在使用数据库操作数据时,一定要通过已经存在的结构,我们称之为数据库中的对象,如最常见的数据表。那么DDL的作用就是在结构上
去管理和调整这些数据库对象,通常不会关心某个具体的数据,比如在删除某一个结构时,其中的数据也会被一同删除。
二、常见数据库对象
在学习DDL之前,有必要先来了解一下常见的数据库对象,有必要说明的是:某些数据库会弱化甚至于完全去掉某些数据库对象,使用其他的方式来代替相应的功能,不能够一概而论,所以本文只会演示最通用的数据库对象(数据表、视图、索引)的操作方式,其他的一些数据库对象请大家继续关注具体的数据库专栏,会逐步更新。
1. 数据库
说到数据库这个对象(database,有些工具会标记为schema),会有些称呼上的冲突,为了区分我们用DBMS来代表数据库软件本身。有些数据库会以数据库实例-表空间的方式来进行管理。其实思路上大同小异,都是为了提高管理效率,对数据表的所属进行适当的划分。
如果把整个DBMS想象成一个工作的工厂,那么数据库就相当于其中的一个个厂房,数据表就是厂房里的一个个货仓,数据就是其中的货物,也就是说数据库对象的主要作用就是作为数据表的所属的,有了这样的归属关系,不同的数据库之间就可以相对独立,同时也可以跨库操作。
2. 数据表
数据表(table)是最常见的用于数据存储和操作的结构,由行和列组成,与我们使用的Excel很像,区别是更加规范,需要预先定义结构之后才能使用。其中每一行代表一条数据,每一列代表一个数据维度。
3. 视图
视图(view)也被称为虚表,相当于记录了一些设定的查询语句,是基于已经存在的表才能够创建的。视图结构本身与表结构类似,修改数据也会导致对应的数据表中的数据被修改。
4. 索引
索引(index)建立在已存在的数据表的列上,有利于提高数据查询的速度,也可以起到数据约束的作用。
5. 序列
序列(sequence)是定义的一组数,主要用于生成自增主键,在某些DBMS中会被淡化(如MySQL),由数据库自行管理。在有些DBMS中可以自行定义(如Oracle),设定起始数据、增长步长等,可以结合触发器使用。
6. 触发器
触发器(trigger)相当于一个预定义的命令,可以定义在某些动作发生时(数据插入、更改、删除等)执行。
7. 函数
函数(function)用于辅助完成较为复杂,或有参数参与的操作,一般必须有return子句,可以当做表达式出现在select中。
8. 存储过程
存储过程(procedure)与函数的功能类似,在存储过程中不使用return语句,在调用方式上也略有不同。
9. 用户
用户(user)在数据库中的作用主要为了能够更加细致的划分权限,用户名和密码的使用也能提高安全性。
三、CREATE
CREATE可用于创建数据库对象,结合相应的关键字使用。
1. 创建数据表
创建数据表时主要需要声明:数据表名称、数据列名、数据列的类型。
CREATE TABLE `表名` (`列名` 列的类型,...`列名` 列的类型
)
2. 创建视图
创建视图时,需要指定视图名称,并且需要指定查询语句。
CREATE VIEW `视图名称` AS 查询语句
3. 创建索引
索引是作用在某一个数据表的列上的,不同的索引类型有不同的关键字,以普通索引为例。
CREATE INDEX `索引名称` ON 表名(列名,...)
四、DROP
使用DROP删除时会直接删除数据库对象的结构。
1. 删除数据表
删除数据表时,会连同删除已存储的数据。
DROP TABLE `表名`
2. 删除视图
DROP VIEW `视图名称`
3. 删除索引
DROP INDEX `索引名称` ON `表名`
扫描下方二维码,加入官方粉丝微信群,可以与我直接交流,还有更多福利哦~
数据定义语言 - DDL相关推荐
- 数据操作语言DML及数据定义语言DDL的区别
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 数据操作 ...
- 02 数据定义语言DDL
数据定义语言DDL Data Definition Language-数据定义语言:create / drop / alter 创建数据库 create database school default ...
- 【ClickHouse SQL 极简教程】ClickHouse SQL之数据定义语言 DDL
1.1. ClickHouse SQL之数据定义语言 DDL 本节介绍 ClickHouse 中进行数据库.表结构的定义和管理. 1.1.1. 概述 在SQL中,数据定义语言( DDL ) 用来创建 ...
- 带你学MySQL系列 | 什么是数据定义语言(DDL)呢?
如果你是刚刚学习MySQL的小白,在你看这篇文章之前,请先看看下面这些文章.有些知识你可能掌握起来有点困难,但请相信我,按照我提供的这个学习流程,反复去看,肯定可以看明白的,这样就不至于到了最后某些知 ...
- 数据定义语言DDL(保姆级教学)
目录 DDL: 1.数据库的创建: 2.由于重复创建同名数据库会报错 3.注意如果默认字符集为Latin1,其不支持中文,所以改为: 数据库的创建: 数据表的创建 属性的数据类型 1.数值类型: 2. ...
- SQL中数据操作语言 (DML) 和数据定义语言 (DDL)
可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL). SQL (结构化查询语言)是用于执行查询的语法.但是 SQL 语言也包含用于更新.插入和删除记录的语法. ...
- MySQL基础篇:数据定义语言DDL
文章目录 1.介绍 2.操作数据库Database 创建数据库 查看有哪些数据库 删除数据库 选择数据库 查看当前正在使用哪个数据库 3.表结构的操作 查看当前数据库的所有表 创建表结构 查看表结构 ...
- 大数据Hive数据定义语言DDL
目录 1 数据定义语言(DDL)概述 1.1 DDL语法的作用 1.2 Hive中DDL使用 2 Hive DDL建表基础 2.1 完整建表语法树 3 Hive数据类型详解 3.1 整体概述 3.2 ...
- Hive数据定义语言DDL
文章目录 1 Apache Hive客户端使用 2 Hive编译工具 3 Hive SQL DDL建表基础语法 3.1 Hive数据类型详解 3.2 Hive读写文件机制 3.3 Hive数据存储路径 ...
最新文章
- 2017杭州·云栖大会全纪实
- 移动版“全功能”Photoshop发布!还有AI剪视频一键传抖音、一键抠图功能上线 | Adobe MAX 2019...
- spark 持久化 mysql_Spark 从零到开发(八)nginx日志清洗并持久化实战
- MySQL中的SQL Mode及其作用
- mysql数据库表字段使用DESC等关键字报错及解决方法
- (附源码)计算机毕业设计ssm电商后台管理系统
- JVM - 【字符串常量池】-XX:StringTableSize
- 《灵飞经5·龙生九子》 第二十二章 河咸海淡(上)
- 快门光圈感光度口诀_光圈快门感光度口诀是什么?
- 不要轻易在简历上写我热爱编程,我热爱学习
- 开篇-开启全新的.NET现代应用开发体验
- Java面试笔试经验技巧总结
- φ(1)=1 [Sdoi2008]沙拉公主的困惑
- [Unity]Shader利用Geometry处理实现描边效果
- UnityShader(三)基础多光照+遮罩Shader
- AIIA-2021版《电信行业人工智能应用白皮书》
- 程序猿没有副业,太难了(个人经历不喜无视)
- 用小百合学python
- 快速学习-视频点播解决方案
- Oracle 优化篇+Linux系统参数(vm.min_free_kbytes)
热门文章
- Photoshop之图片切片,切片后保存为前端可用素材
- 最短路小结(三种算法+各种常见变种)
- Java中Scanner类的用法
- java添加一个复选框_java添加多个复选框控件
- 目标检测与位姿估计(七):PyTorch-YOLOv4的使用
- 文本分析论文基本方法论
- Error evaluating expression ‘xxxxx != null and xxxxxx!= ’
- LWIP开发 | scoket | tcp | client
- The vulnerabilities were addressed in OpenSSL 1.02f/1.01r. cocos2d 2.2.6
- MLE的数值确定:Newton-Raphson迭代法、得分法