查看表基本结构查看表详细结构
修改数据表
更改表的存储引擎
删除表的外键约束
删除数据表
查看表基本结构
DESCRIBE/DESC语句可以查看表的字段信息,其中包括字段名,字段数据类型,是否为主键,是否有默认值等。语法规则如下:
DESCRIBE 表名:
DESCRIBE 表名:
#或者简写为
DESC 表名:
其中,各个字段的含义如下:
- NULL:表示该列是否可以存储空值。
- KEY:表示该列是表的主键的一部分;
- UNI表示该列是UNIQUE索引的一部分;MUL表示列中某个给定值允许出现多次。
- DEFAULT:表示该列是否有默认值,有的话指定值是多少。
- EXTRA:表示可以获取的给定列有关的附加信息,例如AUTO_INCREMENT等。
查看表详细结构
SHOW CREATE TABLE 语句可以显示创建表时的CREATE TABLE语句
SHOW CREATE TABLE <表名\G>;
使用该语句,还可以查看存储引擎和字符编码。
使用参数’\G’之后的结果如下:
还可以看到该表有多少记录
修改数据表
修改表指的是修改数据库中已经存在的数据表的结构。MYSQL使用ALTER
TABLE 语句修改表。常用的修改表的操作有修改表名,修改字段数据类型或字段名,增加和删除字段,修改字段的排列位置,更改表的存储引擎,删除表的外键约束等。
- 修改表名
通过ALTER TABLE语句来实现表名的修改,语法如下:
ALTER TABLE <旧表名> RENAME [TO] <新表名>;
其中TO为可选参数,使用是否均不影响结果。
- 修改字段的数据类型
ALTER TABLE <表名>MODIFY <字段名><数据类型>;
- 修改字段名
修改字段的数据类型,就是把字段的数据类型转换成另一种数据类型。
ALTER TABLE <表名> CHANGE <旧字段名> <字段名> <数据类型>;
- 添加字段
ALTER TABLE <表名> ADD <新字段名><数据类型>[约束条件][FIRST|AFTER 已存在字段名];
新字段名为需要添加的字段的名称;'FIRST’或’AFTER已存在字段名’用于指定新增字段在表中的位置,如果SQL语句中没有这两个参数,则默认将新添加的字段设置为数据表的最后列。
- 添加有完整性约束条件的字段
alter table tb_test ADD email VARCHAR(30) NOT NULL;
- 在表的第一列添加一个字段
alter table tb_test ADD field1 INT FIRST;
- 在表的指定列之后添加一个字段
ALTER TABLE tb_test ADD field2 INT AFTER age;
- 删除字段
ALTER TABLE <表名>DROP <字段名>;
- 修改字段的排列位置
ALTER TABLE <表名> MODIFY <字段1> <数据类型>FIRST|AFTER <字段2>;
- 修改字段为表的第一个字段
ALTER TABLE tb_test MODIFY age char(3) FIRST;
- 修改字段到表的指定列之后
ALTER TABLE tb_test MODIFY age CHAR(3) AFTER newName;
更改表的存储引擎
ALTER TABLE <表名> ENGINE <更改后的存储引擎名>
删除表的外键约束
ALTER TABLE <表名> DROP FOREIGN <外键约束名>;
删除数据表
DROP TABLE [IF EXISTS] table1,table2,...tablen;
IF EXISTS 用于在删除前判断删除的表是否存在,如果在删除不存在的表时不加会报错,加上了之后会发出警告(warning);
另外在删除其他被关联的主表时,应该先删除子表,在删除父表。如果有的情况需要保留子表,则应该单纯删除父表,只需要先将关联的表的外键约束条件取消,(删除表的外键约束)然后在执行删除。