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 数据表名;
注意
在对数据表进行操作之前,首先必须选择数据库,否则是无法对数据表进行操作的。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。