目录
[SQL入门教程 - 表的创建与管理](#SQL入门教程 - 表的创建与管理)
[1. 创建表及定义字段](#1. 创建表及定义字段)
[2. 描述字段的数据类型与约束](#2. 描述字段的数据类型与约束)
[3. 查看表结构](#3. 查看表结构)
[4. 修改与删除表](#4. 修改与删除表)
SQL入门教程 - 表的创建与管理
数据库中的表是数据存储和组织的基本单元,每一行代表一条记录,每一列代表一个字段(属性)。SQL提供了强大的语句来创建、查看、修改和删除表,这些操作是数据库管理的基石。本节将深入解析如何使用SQL语言来高效地管理表结构,通过理论与实例结合的方式,帮助初学者熟练掌握这些核心技能。
1. 创建表及定义字段
创建表是通过CREATE TABLE
命令完成的,该命令允许你定义表名、列名、数据类型以及字段上的约束条件。
基本语法:
sql
CREATE TABLE 表名 (
列名1 数据类型 [约束条件],
列名2 数据类型 [约束条件],
...
);
示例:
sql
CREATE TABLE Students (
StudentID INT PRIMARY KEY,
FirstName VARCHAR(50) NOT NULL,
LastName VARCHAR(50) NOT NULL,
Age INT CHECK (Age >= 0 AND Age <= 150),
EnrollmentDate DATE
);
Students
表包含了五个字段,其中StudentID
设为主键,确保了唯一性;FirstName
和LastName
被设定为非空(NOT NULL
);Age
字段使用CHECK
约束来限制年龄范围。
2. 描述字段的数据类型与约束
数据类型定义了列可以存储的数据种类,约束则用来限制数据的输入值,保证数据的完整性和一致性。
-
数据类型:
INT
: 整数类型,常用于存储整数数据。VARCHAR(n)
: 变长字符串类型,n
表示最大字符数。DATE
: 日期类型,存储日期值。DECIMAL(p,s)
: 浮点数类型,p
是总位数,s
是小数位数。BOOLEAN
: 布尔类型,存储真或假值。
-
约束:
- PRIMARY KEY: 主键约束,确保列的唯一性,且不能为NULL。
- NOT NULL: 非空约束,指定列的值不能为空。
- UNIQUE: 唯一约束,保证列中所有值都是唯一的。
- CHECK: 检查约束,用于限制列中的值必须满足特定条件。
- FOREIGN KEY: 外键约束,用于建立表之间的关联。
3. 查看表结构
了解表的结构,包括字段名、数据类型和约束,对于管理和维护数据库至关重要。这可以通过DESCRIBE
或INFORMATION_SCHEMA
来实现。
示例:
sql
DESCRIBE Students; -- MySQL, MariaDB, SQLite
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Students'; -- SQL Server, PostgreSQL, Oracle
4. 修改与删除表
随着业务需求的变化,有时需要修改表结构或彻底删除不再需要的表。
- 修改表 :
- 添加列:
ALTER TABLE 表名 ADD 列名 数据类型 [约束]
- 修改列:
ALTER TABLE 表名 MODIFY 列名 新数据类型 [新约束]
- 删除列:
ALTER TABLE 表名 DROP COLUMN 列名
- 更改列名或类型:
ALTER TABLE 表名 CHANGE 旧列名 新列名 新数据类型 [新约束]
- 添加列:
示例:
sql
ALTER TABLE Students ADD Email VARCHAR(100);
- 删除表 : 删除表操作通过
DROP TABLE
命令执行,此操作不可逆,需谨慎操作。
注意
- 数据类型选择 :合理选择数据类型可以节省空间、提高效率。例如,对于大量文本数据使用
TEXT
而不是VARCHAR
。 - 索引管理:创建表时未直接提及,适时为经常查询的列添加索引可以显著提升查询速度。
- 数据迁移与版本控制:在修改表结构前,考虑数据迁移和兼容性问题,必要时备份数据。对于团队开发,使用数据库迁移工具和版本控制系统管理表结构变更。
- 安全与权限:确保仅授权用户能执行表的创建、修改和删除操作,避免数据被恶意篡改或删除。