数据定义语言 - DDL

2024-06-22 08:38
文章标签 数据 ddl 定义语言

本文主要是介绍数据定义语言 - 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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1083794

相关文章

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语