操作数据表
6.1 创建数据表
创建数据表使用 CREATE TABLE语句。语句如下:
CREATE TABLE table_name (column_name column_type);
6.2 查看表结构
6.2.1 使用SHOW COLUMNS语句查看
语句:SHOW [FULL] COLUMNS FROM 数据表名 [FROM 数据库名];
6.2.2 使用DESCRIBE语句查看
语句:DESCRIBE 数据表名;
其中,DESCRIBE可以简写成DESC;在查看表结构时,也可以只列出某一列的信息,语法:DESCRIBE 数据表名 列名;
6.3 修改表结构
修改表结构使用ALTER TABLE语句;修改表结构指增加或删除字段,修改字段名称或者字段类型,设置取消主外键,设置取消索引以及修改表的注释第,语法如下:
ALTER [IGNORE] TABLE 数据表名 alter_spec[,alter_spec]...| table_options
参数说明:(1)[IGNORE]:可选性,表示如果出现重复关键的行,则只执行一行,其他重复的行被删除;
(2)数据表名: 用于指定要修改的数据表的名称;
(3)alter_spec子句:用于定义要修改的内容,其语法结构如下:
上面的语法,各参数说明如下:
- create_definition:用于定义列的数据类型和属性;
- [FIRST|AFTER column_name]:用于指定位于哪个字段的前面(FIRST)或者后面(AFTER),其中column_name表示字段名;
- [index_name]:可选性,用于指定索引名;
- (index_col_name,...) :用于指定索引列名;
- {SET DEFAULT literal |DROP DEFAULT}子句:为字段设置或者删除默认值,其中literal参数为要设置的默认值;
- old_col_name:用于指定要修改的字段名;
- new_tbl_name:用于指定新的表名;
(4) table_options:用于指定表的一些特性参数,其中大多数选项涉及的表数据如何存储及储存在何处,如ENGINE选项用于定义表的存储引擎。在大多数情况下,用户不必指定表选项。
说明:ALTER TABLE语句允许指定多个动作,其动作间使用逗号分隔,每个动作表示对表的一个修改。
6.3.1 添加新字段及修改字段定义
在MySQL的ALTER TABLE语句中,可以通过使用ADD [COLUMN] create_definition [FIRST|AFTER column_name]子句来添加新字段;使用 MODIFY [COLUMN] create_ definition子句可以修改已定义的字段;
说明:通过ALTER语句修改表列,其前提是必须将表中数据全部删除,然后才可以修改表列。
6.3.2 修改字段名
在MySQL的ALTER TABLE语句中,使用CHANGE [COLUMN] old_col_name create_definition子句可以修改字段名或者字段类型。
例:ALTER TABLE db_admin.tb_usernew1
CHANGE COLUMN user username VARCHAR(30) NULL DEFAULT NULL ;
6.3.3 删除字段
在MySQL的ALTER TABLE语句中,使用CHANGE [COLUMN] old_col_name create_definition子句可以修改字段名或者字段类型。
实现效果:
6.3.4 修改表名
在MySQL的ALTER TABLE中,使用RENAME [AS] new_tbl_name子句可以修改表名。
实现效果:
6.4 重命名表
在MySQL中,重命名数据表可以使用RENAME TABLE语句来实现。 RENAME TABLE语句的基本语法格式如下:
RENAME TABLE 数据表名1 To 数据表名2
说明:该语句可以同时对多个数据表进行重命名,多个表之间用逗号“,”隔开;
实现效果:
6.5 复制表
创建表的CREATE TABLE命令还有另外一种语法结构,在一张已经存在的数据表的基础上创建一份该表的拷贝,也就是复制表。 这种用法的语法格式如下:
CREATE TABLE [IF NOT EXISTS] 数据表名
{LIKE 源数据表名 | (LIKE 源数据表名)}
6.6 删除表
删除数据表的操作很简单,同删除数据库的操作类似,使用DROP TABLE语句即可实现。
DROP TABLE语句的基本语法格式: DROP TABLE [IF EXISTS] 数据表名;
实现效果: