8 SQL基础之3.2 数据定义语言(DDL)

在上一节中,我们概述了SQL语言的基本构成以及它在关系数据库中的重要性。接下来,我们将深入探讨SQL的一个重要组成部分——数据定义语言(DDL)。DDL用于描述和管理数据库的结构,包括创建、修改和删除数据库对象,如表、索引和视图。

DDL的基本命令

DDL主要包含以下几种命令:

1. CREATE命令

CREATE命令用于创建数据库对象,如表、视图和索引。下面是创建表的基本语法:

1
2
3
4
5
CREATE TABLE table_name (
column1 datatype constraints,
column2 datatype constraints,
...
);

示例:创建一个简单的用户表

假设我们要创建一个名为 users 的表,用于存储用户的信息:

1
2
3
4
5
6
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

在这个示例中,我们创建了一个 users 表,其中包含四个字段:idusernameemailcreated_atid 是主键,并会自动递增;usernameemail 是字符串类型,并且 email 字段在表中是唯一的。

2. ALTER命令

ALTER命令用于修改已存在的数据库对象。这包括添加、修改或删除表中的字段。

示例:向用户表中添加一个新字段

如果我们需要在 users 表中添加一个 age 字段,可以使用以下命令:

1
2
ALTER TABLE users
ADD age INT;

如果我们想要修改 username 字段的长度,可以使用:

1
2
ALTER TABLE users
MODIFY username VARCHAR(100);

如果我们想要删除 age 字段,可以使用:

1
2
ALTER TABLE users
DROP COLUMN age;

3. DROP命令

DROP命令用于删除数据库对象。使用此命令时需谨慎,因为一旦删除,数据将无法恢复。

示例:删除用户表

如果我们想要删除之前创建的 users 表,可以使用以下命令:

1
DROP TABLE users;

DDL中的约束

在创建表时,我们可以使用各种约束来确保数据的有效性和完整性。常见的约束有:

  • PRIMARY KEY:指定唯一标识记录的字段。
  • FOREIGN KEY:指定字段作为其他表的主键的引用。
  • UNIQUE:确保字段中的所有值都是唯一的。
  • NOT NULL:确保字段中没有 NULL 值。
  • DEFAULT:为字段指定默认值。

示例:带约束的用户表

1
2
3
4
5
6
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL UNIQUE,
email VARCHAR(100) NOT NULL UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

在这个示例中,usernameemail 字段都带有 UNIQUE 约束,确保这两个字段中的值是唯一的,而 id 字段则是主键。

实际案例

假设我们正在构建一个简单的在线商店数据库。我们需要创建多个表,如 productsorders。以下是一个简单示例:

创建产品表

1
2
3
4
5
6
CREATE TABLE products (
product_id INT PRIMARY KEY AUTO_INCREMENT,
product_name VARCHAR(100) NOT NULL,
price DECIMAL(10, 2) NOT NULL,
stock INT DEFAULT 0
);

这里我们创建了一个 products 表,包含产品ID、名称、价格和库存信息。

创建订单表

1
2
3
4
5
6
7
8
CREATE TABLE orders (
order_id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT,
product_id INT,
order_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (product_id) REFERENCES products(product_id)
);

orders 表中,我们使用了 FOREIGN KEY 约束,以确保 user_idproduct_id 字段引用了 usersproducts 表中的有效数据。

小结

数据定义语言(DDL)是 SQL 中重要的一部分,通过 CREATEALTERDROP 等命令,我们可以有效地管理数据库结构。利用约束,我们可以确保数据的完整性和有效性。在接下来的章节中,我们将探讨数据操作语言(DML),了解如何在数据库中进行数据的增、删、改、查操作。

希望这一节对您理解 SQL 的数据定义语言有所帮助!在下一节中,我们将继续深入数据操作语言的内容。

8 SQL基础之3.2 数据定义语言(DDL)

https://zglg.work/related-database-zero/8/

作者

AI免费学习网(郭震)

发布于

2024-08-11

更新于

2024-08-12

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论