DDL语言的学习 - 表的管理
2023-11-26 10:12:33
创建表
创建表是DDL语言中最基本的操作之一。我们可以使用CREATE TABLE命令来创建表。CREATE TABLE命令的语法如下:
CREATE TABLE table_name (
column_name1 data_type1 [NOT NULL] [DEFAULT default_value1],
column_name2 data_type2 [NOT NULL] [DEFAULT default_value2],
...
PRIMARY KEY (column_name1, column_name2, ...)
);
其中,table_name是表的名称,column_name1、column_name2等是表的列的名称,data_type1、data_type2等是表的列的数据类型,NOT NULL表示该列不允许为空,DEFAULT default_value1、DEFAULT default_value2等是表的列的默认值,PRIMARY KEY (column_name1, column_name2, ...)表示表的联合主键。
例如,我们可以使用以下命令来创建一个名为students
的表:
CREATE TABLE students (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
age INT NOT NULL,
PRIMARY KEY (id)
);
这个命令将创建一个名为students
的表,该表有三个列:id
、name
和age
。id
列是表的联合主键,它是一个自增整数列,这意味着每次插入一条新数据时,id
列的值都会自动增加。name
列是一个长度为255个字符的字符串列,它不能为空。age
列是一个整数列,它不能为空。
修改表
我们可以使用ALTER TABLE命令来修改表。ALTER TABLE命令的语法如下:
ALTER TABLE table_name
ADD column_name data_type [NOT NULL] [DEFAULT default_value],
DROP COLUMN column_name,
MODIFY COLUMN column_name data_type [NOT NULL] [DEFAULT default_value],
RENAME COLUMN column_name TO new_column_name,
ADD PRIMARY KEY (column_name1, column_name2, ...),
DROP PRIMARY KEY,
ADD FOREIGN KEY (column_name) REFERENCES table_name (column_name),
DROP FOREIGN KEY column_name,
ADD INDEX (column_name),
DROP INDEX index_name;
其中,table_name是表的名称,column_name是表的列的名称,data_type是表的列的数据类型,NOT NULL表示该列不允许为空,DEFAULT default_value是表的列的默认值,PRIMARY KEY (column_name1, column_name2, ...)表示表的联合主键,FOREIGN KEY (column_name) REFERENCES table_name (column_name)表示表的外部键,INDEX (column_name)表示表的索引。
例如,我们可以使用以下命令来给students
表添加一个新的列gender
:
ALTER TABLE students
ADD COLUMN gender VARCHAR(255);
这个命令将在students
表中添加一个名为gender
的列,该列是一个长度为255个字符的字符串列。
删除表
我们可以使用DROP TABLE命令来删除表。DROP TABLE命令的语法如下:
DROP TABLE table_name;
其中,table_name是表的名称。
例如,我们可以使用以下命令来删除students
表:
DROP TABLE students;
这个命令将删除名为students
的表。
添加字段
我们可以使用ALTER TABLE命令来添加字段。ALTER TABLE命令的语法如下:
ALTER TABLE table_name
ADD COLUMN column_name data_type [NOT NULL] [DEFAULT default_value];
其中,table_name是表的名称,column_name是表的列的名称,data_type是表的列的数据类型,NOT NULL表示该列不允许为空,DEFAULT default_value是表的列的默认值。
例如,我们可以使用以下命令来给students
表添加一个新的列gender
:
ALTER TABLE students
ADD COLUMN gender VARCHAR(255);
这个命令将在students
表中添加一个名为gender
的列,该列是一个长度为255个字符的字符串列。
删除字段
我们可以使用ALTER TABLE命令来删除字段。ALTER TABLE命令的语法如下:
ALTER TABLE table_name
DROP COLUMN column_name;
其中,table_name是表的名称,column_name是表的列的名称。
例如,我们可以使用以下命令来删除students
表中的gender
列:
ALTER TABLE students
DROP COLUMN gender;
这个命令将从students
表中删除名为gender
的列。
修改字段
我们可以使用ALTER TABLE命令来修改字段。ALTER TABLE命令的语法如下:
ALTER TABLE table_name
MODIFY COLUMN column_name data_type [NOT NULL] [DEFAULT default_value];
其中,table_name是表的名称,column_name是表的列的名称,data_type是表的列的数据类型,NOT NULL表示该列不允许为空,DEFAULT default_value是表的列的默认值。
例如,我们可以使用以下命令来修改students
表中的age
列的数据类型:
ALTER TABLE students
MODIFY COLUMN age INT NOT NULL;
这个命令将把students
表中的age
列的数据类型修改为整数,并将其设置为不允许为空。