在MySQL数据库中,创建新表使用CREATE TABLE语句。语法格式:
CREATE[ TEMPORARY ]TABLE[ IF NOT EXISTS] table_name
[ ([ column_definition ],…… [ index_definition ])]
[ table_option][ SELECT_statement] ;
【例4.1】在学生信息数据库stusys中创建student表。
在MySQL命令行客户端输入如下SQL语句:
mysql > USE stusys;Database changed
mysql > CREATE TABLE student
->
一>
sno char(6 )NOT NULLPRIMARY KEY,
->
sname char(8) NOT NULL,
->
ssex char( 2)NOT NULLEDEFAUET'男',
->
sbirthday date NOT NULL,speciality char( 12)NULL,tc tinyint NULL
查看表包括查看表的名称、查看表的基本结构、查看表的详细结构等,下面分别介绍。
1.查看表的名称
可以使用SHOW TABLES语句查看表的名称。
语法格式:
SHON TABLES[ {FROM| IN} db_name ];
其中,使用选项{FROM|IN } db_name可以显示非当前数据库中的表名。
【例4.3】 查看数据库stusys中所有表名。
mysql > USE stusys;
Database changedmysql
> SHOW TABLES;
2.查看表的基本结构
使用SHOW COLUMNS语句或DESCRIBE/DESC语句可以查看表的基本结构,包括列名、列的数据类型、长度、是否为空、是否为主键、是否有默认值等。
(1)使用SHOW COLUMNS语句查看表的基本结构。
语法格式:
SHOW COLUMNS { FROM | IN} tb_name[ { FROM | IN }db_name ];
(2)使用 DESCRIBE/DESC语句查看表的基本结构。
语法格式:
{DESCRIBE | DESC } tb_name;
修改表用于更改原有表的结构,可以添加列、修改列、删除列、重命名列或表等。修改表使用ALTER TABLE语句。
语法格式:
ALTER [IGNORE] TABLE tbl_name
alter_specification[, alter_specification] .…alter_specification:
ADD [ COLUMN ]column_definition [FIRST| AFTER col_name ] /*添加列*/
ALTER [ COLUMN]col_name { SET DEFAULT literal| DROP DEFAULT} /*修改默认值*/
CHANGE [ COLUMN]old_col_name column_definition [FIRST|AFTER col_name]/*对列重命名*/MODIFY [ COLUMN]column_definition [FIRST|AFTER col_name] /*修改列类型*/
DROP[ COLUMN]col_name /*删除列*/
RENAME[ TO]new_tbl_name /*重命名该表*/
ORDER BY col_name /*排序*/
CONVERT TO CHARACTER SET charset_name [ COLLATE collation_name]/*将字符集转换为二进制*/[DEFAULT] CHARACTER SET charset_name [ COLLATE collation_name]/*修改默认字符集*/
当不需要表的时候,可将其删除。删除表时,表的结构定义、表中的所有数据以及表的索引约束
等都被删除掉。
删除表使用DROP TABLE语句。语法
格式:DROP[ TEMPORARY ] TABLE [ IF NOT EXISTS] table_name [,table_name ]...
【例4.11】 删除stusys 数据库中的student3表。
mysql > DROP TABLE stusys.student3 ;
执行结果;
Query OK,0 rows affected (0.14 sec)