数据定义语言(DDL)中的表操作主要涉及表的创建、修改和删除。以下是对这些操作的详细讲解:
1. 创建表
关键词: CREATE TABLE
具体用法:
CREATE TABLE
用于创建一个新的表。在创建表时,需要指定表的名称和列的定义,包括列名、数据类型、约束等。
示例:
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
age INT,
email VARCHAR(100) UNIQUE
);
这个语句创建了一个名为students
的表,包含以下列:
id
:整数类型,主键。name
:字符串类型,长度为100,非空。age
:整数类型。email
:字符串类型,长度为100,唯一。
2. 修改表
关键词: ALTER TABLE
具体用法:
ALTER TABLE
用于修改现有的表结构。可以添加新列、修改列的定义、删除列、添加约束等。
示例:
-- 添加新列
ALTER TABLE students ADD COLUMN phone VARCHAR(20);
-- 修改列的定义
ALTER TABLE students ALTER COLUMN age SET DEFAULT 18;
-- 删除列
ALTER TABLE students DROP COLUMN phone;
-- 添加约束
ALTER TABLE students ADD CONSTRAINT chk_age CHECK (age >= 18);
-- 删除约束
ALTER TABLE students DROP CONSTRAINT chk_age;
这些语句分别向students
表中添加了一个phone
列,设置了age
列的默认值为18,删除了phone
列,添加了一个检查约束chk_age
,以及删除了该检查约束。
3. 删除表
关键词: DROP TABLE
具体用法:
DROP TABLE
用于删除一个表及其所有数据和结构。
示例:
DROP TABLE students;
这个语句删除了名为students
的表,包括表中的所有数据和结构。
4. 重命名表
关键词: RENAME TABLE
具体用法:
RENAME TABLE
用于重命名一个表。
示例:
RENAME TABLE students TO pupils;
这个语句将名为students
的表重命名为pupils
。
5. 清空表
关键词: TRUNCATE TABLE
具体用法:
TRUNCATE TABLE
用于清空一个表中的所有数据,但保留表的结构。
示例:
TRUNCATE TABLE students;
这个语句清空了students
表中的所有数据,但表的结构仍然存在。
6. 查询表
show tables
:查询当前数据库所有表
desc 表名
:查看指定表结构
show create table 表名
:查询指定表的建表语句
总结
DDL中的表操作是数据库管理的基础。通过CREATE TABLE
、ALTER TABLE
、DROP TABLE
、RENAME TABLE
和TRUNCATE TABLE
等语句,可以灵活地创建、修改、删除和重命名表,从而有效地管理和维护数据库结构。理解这些操作的用法和语法,对于数据库管理员和开发人员来说至关重要。