
3.5 管理数据表
表是有着结构和数据的,数据表的相关操作比数据库的操作要多,包括查看数据库中的表、查看表的结构、添加表数据、查看表数据、修改表的定义、删除表等。本节介绍数据表的管理。
3.5.1 查看数据表
查看数据库包括查看指定数据库中的表和查看指定表的结构,下面从这两个方面详细介绍表的查看。
1.查看数据库中的表
查看数据库中的表,使用SHOW TABLES命令。该命令可查看指定数据库中的所有表,如查看sakila数据库下的表,代码如下。
USE sakila;SHOW TABLES;
执行上述代码,其效果如图3-14所示。

图3-14 sakila中的表
2.查看表结构
在控制台可以查看表的结构,即表的字段信息,其中包括:字段名、字段数据类型、是否为主键、是否有默认值等。
查看表的结构可以使用简单查询和详细查询,分别使用DESCRIBE/DESC语句和SHOW CREATE TABLE语句。
使用DESCRIBE/DESC语句,语法如下:
DESCRIBE 表名;
或者简写为:
DESC 表名;
如查看sakila数据库中的actor表的结构,代码如下。
USE sakila;DESC actor;
上述代码的执行效果如图3-15所示。

图3-15 actor表的结构
3.5.2 添加表数据
数据表是用来存储数据的,在字段创建之后即可向表中添加数据。向表中添加一条数据相当于为表中对应的字段添加一个值,由于字段是有着数据类型和约束的,因此数据的添加不能违背字段的数据类型和约束。
如一个整型字段不能添加一个字符型的数据;一个非空的字段不能够省略数据的添加;一个允许为空的字段可以省略数据的添加;一个不能够重复的字段不能够添加重复的值等。相关字段约束的内容将在第4章中介绍。
数据添加可以在MySQL Workbench中进行,也可以使用SQL语句。
1.MySQL Workbench中添加表数据
在MySQL Workbench中添加数据首先要找到需要添加数据的表,在表的名称处右击,如图3-16所示。

图3-16 MySQL Workbench中表的操作
如图3-16所示,右击表的名称后有弹出的对话框,显示可在MySQL Workbench中执行的表的操作,包括表的查询、复制、创建、修改、删除、刷新等操作。选择第一项Select Rows选项可查看当前表中的数据,如图3-17所示。

图3-17 查询表数据
如图3-17所示,查询结果是处于可编辑状态的,直接在字段名称的下面填写相应的数据,即可实现数据的添加。图3-17中向表shop.new_table添加了三条数据。
数据编辑之后单击Apply按钮,即可打开执行对话框,单击Apply按钮执行数据的添加,接着在执行状态对话框中单击Finish按钮完成数据的添加和保存。
2.SQL语句添加表数据
向表中添加数据需要指出需要使用的表和添加的数据:使用INSERT INTO语句指出需要添加数据的表;使用VALUES语句指出需要添加的数据。
添加数据的语法将在第6章中详细介绍,这里只提供添加语句的例子。如同样是向表shop.new_table添加了三条数据,代码如下。
INSERT INTO 'shop'.'new_table' ('id', 'name', 'price') VALUES ('1', 'apple', '2.5'); INSERT INTO 'shop'. 'new_table' ('id', 'name', 'price') VALUES ('2', 'banana', '3.5'); INSERT INTO 'shop'. 'new_table' ('id', 'name', 'price') VALUES ('3', 'orange', '5');
3.5.3 修改表
表的名称是可以修改的,对表指定一个有意义的名称是很有利于数据操作的。修改表的名称也有两种方式,如下所示。
1.MySQL Workbench中修改表信息
找到需要修改的表,在其名称处右击,如图3-16所示。选择Alter Table选项可打开表的修改界面,如图3-18所示。

图3-18 修改表goods
如图3-18所示,界面中显示了该表的所有信息,每一项都处于可编辑状态,可直接在界面中进行修改。如表的名称、数据库类型、校对规则、字段信息等,除了所属数据库以外都是可编辑状态。若此时修改数据库信息,如数据库的校对规则,那么在执行数据表修改的同时,将修改数据库信息。
修改之后单击Apply按钮,即可打开执行对话框,单击Apply按钮执行表的修改,接着在执行状态对话框中单击Finish按钮完成修改。
2.SQL语句添加表名称
表的修改涉及很多,包括表定义的修改(所属数据库、表的名称、字段信息)和表数据的修改。表数据的修改将在第6章中介绍;字段的修改将在3.6.2节中介绍,这里介绍使用SQL语句修改表的名称,语法如下:
ALTER TABLE <旧表名> RENAME [TO] <新表名>;
如将shop数据库中的goods表的名称修改为goodses,代码如下。
USE shop;ALTER TABLE goods RENAME goodses;
3.5.4 删除表
表的删除可以直接在MySQL Workbench中如图3-16所示的界面选择Drop Table选项,即可打开提示对话框,如图3-19所示。

图3-19 删除选项
若选择Drop Now则直接删除该数据表,没有任何的提示。若选择Review SQL则显示删除语句如图3-20所示,单击Execute按钮即可执行数据表的删除,没有任何的提示。

图3-20 显示SQL语句
除此之外还可以使用查询窗口,编写SQL语句来删除。删除表使用DROP TABLE命令,在该语句后添加表的名称即可。语法格式如下所示:
DROP TABLE tableName;
如删除school数据库中student表,执行代码及其执行结果如下所示。
USE school;DROP TABLE student;