0

0

数据定义语言是什么

(*-*)浩

(*-*)浩

发布时间:2019-11-16 14:53:18

|

9961人浏览过

|

来源于php中文网

原创

数据定义语言 (data definition language, ddl) 是sql语言集中负责数据结构定义与数据库对象定义的语言,由create、alter与drop三个语法所组成。

数据定义语言是什么

最早是由 Codasyl (Conference on Data Systems Languages) 数据模型开始,现在被纳入 SQL 指令中作为其中一个子集。

目前大多数的DBMS都支持对数据库对象的DDL操作,部份数据库 (如 PostgreSQL) 可把DDL放在交易指令中,也就是它可以被撤回 (Rollback)。较新版本的DBMS会加入DDL专用的触发程序,让数据库管理员可以追踪来自DDL的修改。      

Sql语句分为三大类:

数据定义语言,负责创建、修改、删除表、索引、视图、函数、存储过程和触发器等对象;

数据操纵语言,负责数据库中数据的插入、修改、删除等操作;

数据控制语言,用来授予和撤销用户权限。

举例

CREATE

CREATE 是负责数据库对象的建立,举凡数据库、数据表、数据库索引、预存程序、用户函数、触发程序或是用户自定型别等对象,都可以使用 CREATE 指令来建立,而为了各式数据库对象的不同,CREATE 也有很多的参数。

例如,CREATE DATABASE (建立数据库) 的指令为:

瑞宝通JAVA版B2B电子商务系统
瑞宝通JAVA版B2B电子商务系统

瑞宝通B2B系统使用当前流行的JAVA语言开发,以MySQL为数据库,采用B/S J2EE架构。融入了模型化、模板、缓存、AJAX、SEO等前沿技术。与同类产品相比,系统功能更加强大、使用更加简单、运行更加稳 定、安全性更强,效率更高,用户体验更好。系统开源发布,便于二次开发、功能整合、个性修改。 由于使用了JAVA开发语言,无论是在Linux/Unix,还是在Windows服务器上,均能良好运行

下载
CREATE DATABASE Sales
ON ( NAME = Sales_dat, FILENAME = 'saledat.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 )
LOG ON ( NAME = Sales_log, FILENAME = 'salelog.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB )

其中的ON为数据库文件的声明,而LOG ON为交易记录档的声明。 若需要更高级的设置,则还有 FOR 和 WITH 以及 COLLATE等等。

又例如,CREATE TABLE (建立数据表) 的指令为:

CREATE TABLE [dbo].[PurchaseOrderDetail]
(
[PurchaseOrderID] [int] NOT NULL REFERENCES Purchasing.PurchaseOrderHeader(PurchaseOrderID), -- 具引用完整性限制字段
[LineNumber] [smallint] NOT NULL,
[ProductID] [int] NULL REFERENCES Production.Product(ProductID), -- 具引用完整性限制字段
[UnitPrice] [money] NULL,
[OrderQty] [smallint] NULL,
[ReceivedQty] [float] NULL,
[RejectedQty] [float] NULL,
[DueDate] [datetime] NULL,
[rowguid] [uniqueidentifier] ROWGUIDCOL NOT NULL CONSTRAINT [DF_PurchaseOrderDetail_rowguid] DEFAULT (newid()), -- 具限制字段,并有默认值
[ModifiedDate] [datetime] NOT NULL CONSTRAINT [DF_PurchaseOrderDetail_ModifiedDate] DEFAULT (getdate()), -- 具限制字段,并有默认值
[LineTotal] AS (([UnitPrice]*[OrderQty])),
[StockedQty] AS (([ReceivedQty]-[RejectedQty])),
CONSTRAINT [PK_PurchaseOrderDetail_PurchaseOrderID_LineNumber] -- 主键宣告
PRIMARY KEY CLUSTERED ([PurchaseOrderID], [LineNumber])
WITH (IGNORE_DUP_KEY = OFF)
)
ON [PRIMARY]

其中,每个字段的格式都有定义,并且若有需要建立参考完整性的链接时,可以使用 REFERENCES 来声明,主键则是用PRIMARK KEY 来声明,计算型字段(Computed Field)则是直接给定表达式等等,CREATE TABLE 指令很常用,但若设置起来会较为复杂,因此很多数据库管理人员都会使用GUI工具来设计。

其他像是:

CREATE INDEX:建立数据表索引。

CREATE PROCEDURE:建立预存程序。

CREATE FUNCTION:建立用户函数。

CREATE VIEW:建立查看表。

CREATE TRIGGER:建立触发程序。

等等,都是使用来建立不同数据库对象的指令。

相关专题

更多
高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

84

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

24

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

35

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

16

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

56

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

16

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

9

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

26

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 4.6万人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.3万人学习

Git 教程
Git 教程

共21课时 | 2.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号