16.5 操作数据表

16.5 操作数据表

数据库创建完成后,即可在命令提示符下对数据库进行操作,如创建数据表、更改数据表结构以及删除数据表等。

16.5.1 创建数据表

视频讲解:光盘TMlx1605 创建数据表.mp4

mysql数据库中,可以使用create table命令创建数据表。语法如下:

create[TEMPORARY]table[IF NOT EXISTS] 数据表名 [(create_definition, …)][table_options] [select_statement]

create table语句的参数说明如表16.7所示。

表16.7 create table语句的参数说明

下面介绍列属性create_definition的使用方法,每一列具体的定义格式如下:

col_name type[NOT NULL|NULL][DEFAULT default_value][AUTO_INCREMENT] [PRIMARY KEY ] [reference_definition]

属性create_definition的参数说明如表16.8所示。

表16.8 属性create_definition的参数说明

在实际应用中,使用create table命令创建数据表的时候,只需指定最基本的属性即可,格式如下:

create table table_name (列名1 属性, 列名2 属性 …);

例如,在命令提示符下应用create table命令,在数据库db_user中创建一个名为tb_user的数据表,表中包括id、user、pwd和createtime等字段,实现过程如图16.7所示。

图16.7 创建MySQL数据表

16.5.2 查看表结构

视频讲解:光盘TMlx1606 查看表结构.mp4

成功创建数据表后,可以使用show columns命令或describe命令查看指定数据表的表结构。下面分别对这两个命令进行介绍。

1.show columns命令

show columns命令的语法格式如下:

show [full] columns from 数据表名 [from 数据库名];

或写成:

show [full] columns FROM 数据库名.数据表名;

例如,应用show columns命令查看数据表tb_user表结构,如图16.8所示。

图16.8 查看表结构

2.describe命令

describe命令的语法格式如下:

describe 数据表名;

其中,describe可以简写为desc。在查看表结构时,也可以只列出某一列的信息,语法格式如下:

describe 数据表名 列名;

例如,应用describe命令的简写形式查看数据表tb_user的某一列信息,如图16.9所示。

图16.9 查看表的某一列信息

16.5.3 修改表结构

视频讲解:光盘TMlx1607 修改表结构.mp4

修改表结构采用alter table命令。修改表结构指增加或者删除字段、修改字段名称或者字段类型、设置取消主键外键、设置取消索引以及修改表的注释等。

语法格式如下:

alter [IGNORE] table 数据表名 alter_spec[, alter_spec]…

需注意的是,当指定IGNORE时,如果出现重复关键的行,则只执行一行,其他重复的行被删除。其中,alter_spec子句用于定义要修改的内容,语法如下:

alter_specification: ADD[COLUMN]create_definition[FIRST|AFTER column_name] --添加新字段 | ADD INDEX[index_name](index_col_name, ...) --添加索引名称 | ADD PRIMARY KEY(index_col_name, ...) --添加主键名称 | ADD UNIQUE[index_name](index_col_name, ...) --添加唯一索引 | ALTER[COLUMN]col_name{SET DEFAULT literal|DROP DEFAULT} --修改字段名称 | CHANGE[COLUMN]old_col_name create_definition --修改字段类型 | MODIFY[COLUMN]create_definition --修改子句定义字段 | DROP[COLUMN]col_name --删除字段名称 | DROP PRIMARY KEY --删除主键名称 | DROP INDEX index_name --删除索引名称 | RENAME[AS]new_tbl_name --更改表名 | table_options

alter table语句允许指定多个动作,动作间使用逗号分隔,每个动作表示对表的一个修改。

例如,向tb_user表中添加一个新的字段address,类型为varchar(60),并且不为空值(not null),将字段user的类型由varchar(30)改为varchar(50),然后再用desc命令查看修改后的表结构,如图16.10所示。

图16.10 修改表结构

16.5.4 重命名数据表

视频讲解:光盘TMlx1608 重命名数据表.mp4

重命名数据表采用rename table命令,语法格式如下:

rename table 数据表名1 to 数据表名2;

例如,对数据表tb_user进行重命名,更名后的数据表为tb_member,只需要在MySQL命令窗口中使用“rename table tb_user to tb_member; ”语句即可。

说明

该语句可以同时对多个数据表进行重命名,多个表之间以逗号“, ”分隔。

16.5.5 删除数据表

视频讲解:光盘TMlx1609 删除数据表.mp4

删除数据表的操作很简单,与删除数据库的操作类似,使用drop table命令即可实现。格式如下:

drop table 数据表名;

例如,在MySQL命令窗口中使用“drop table tb_user; ”语句即可删除tb_user数据表。删除数据表后,MySQL管理系统会自动删除E:wampbinmysqlmysql5.6.17datadb_user目录下的表文件。

注意

删除数据表的操作应该谨慎使用。一旦删除了数据表,那么表中的数据将会全部清除,没有备份则无法恢复。

在删除数据表的过程中,如果删除一个不存在的表将会产生错误,这时在删除语句中加入if exists关键字就可避免出错。格式如下:

drop table if exists 数据表名;

注意

在对数据表进行操作之前,首先必须选择数据库,否则是无法对数据表进行操作的。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

16.5 操作数据表