MySQL中DDL:对表的结构进行增删改操作
在MySQL中,DDL指的是对数据库对象(如表、视图、存储过程等)的结构进行增删改操作。
对于表格的结构,DDL包括创建表格、删除表格和修改表格结构。下面我们将逐一讲解这三个方面的DDL操作。
创建表格
MySQL中创建表的语法格式如下:
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
…..
columnN datatype,
PRIMARY KEY (one_or_more_column)
);
其中,table_name是要创建的表格的名称,column1、column2、column3……columnN 是表格中要创建的一列或多列,datatype指的是这个列所对应的数据类型。PRIMARY KEY(一般为id)是表格中的主键,用于唯一地标识一条记录。
例如,下面这个例子就是创建一个名为student的表格:
CREATE TABLE student(
id INT PRIMARY KEY,
name VARCHAR(20),
age INT,
gender CHAR(1)
);
这个表格含有4列,包括id、name、age和gender。其中id为主键,类型为整数;name为字符串类型,长度为20;age和gender则分别为整数和字符类型。
删除表格
删除表格的语法格式如下:
DROP TABLE table_name;
其中,table_name是要删除的表格名称。这个操作只是删除表格本身,不会删除表格中的数据。如果您确实想要删除表格中的数据,请使用DELETE FROM语句。
例如,下面这个例子就是删除名为student的表格:
DROP TABLE student;
修改表格结构
修改表格结构,包括添加新列、删除列、修改列名、修改列数据类型等操作。
添加新列
添加新列的语法格式如下:
ALTER TABLE table_name
ADD COLUMN column_name datatype;
其中,table_name是要添加列的表格名称,column_name是列名,datatype是列对应的数据类型。
例如,下面这个例子就是为名为student的表格添加了一个新列telephone:
ALTER TABLE student
ADD COLUMN telephone VARCHAR(11);
这个语句会修改student表,添加一个名为telephone的列,数据类型为VARCHAR,长度为11。
删除列
删除列的语法格式如下:
ALTER TABLE table_name
DROP COLUMN column_name;
其中,table_name是要删除列的表格名称,column_name是需要被删除的列名。
例如,下面这个例子就是删除student表格中的telephone列:
ALTER TABLE student
DROP COLUMN telephone;
这个语句会移除student表的telephone列。
修改列名
修改列名的语法格式如下:
ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name datatype;
其中,table_name是要修改列名的表格名称,old_column_name是要被修改的旧列名,new_column_name是新的列名, datatype是新的数据类型。
例如,下面这个例子就是将student表中的telephone列重命名为phone:
ALTER TABLE student
CHANGE COLUMN telephone phone VARCHAR(11);
这个语句会修改student表,将telephone列的名字修改为phone。
修改列数据类型
修改列数据类型的语法格式如下:
ALTER TABLE table_name
MODIFY COLUMN column_name datatype;
其中,table_name是要修改列类型的表格名称,column_name是要被修改的列名,datatype是新的数据类型。
例如,下面这个例子就是将student表中的phone列的数据类型从VARCHAR(11)修改为VARCHAR(20):
ALTER TABLE student
MODIFY COLUMN phone VARCHAR(20);
总结
DDL可对MySQL表格的结构进行增删改操作,包括创建表格、删除表格和修改表格结构。通过使用这些DDL命令,我们可以更好地维护MySQL表格的结构,使其更符合数据存储的要求。