尚硅谷之MySQL基础

8.2 表结构的操作TABLE

1、查看当前数据库的所有表格

show tables;   #前面必须有use 数据库名语句,否则报错

show tables from 数据库名;

2、创建表结构

(1)基础版

CREATE TABLE 表名称(

字段名1 数据类型1,

字段名2 数据类型2,

字段名3 数据类型3

);

CREATE TABLE t_stu(

sid INT,

sname VARCHAR(100),

gender CHAR

);

(2)详细版

CREATE TABLE 表名称(

字段名1 数据类型1 主键 自增长,

字段名2 数据类型2 非空 默认值,

字段名3 数据类型3

)ENGINE=当前表格的引擎 AUTO_INCREMENT=自增长的起始值 DEFAULT CHARSET=表数据的默认字符集;

CREATE TABLE t_stu(

sid INT PRIMARY KEY AUTO_INCREMENT,

sname VARCHAR(100) NOT NULL,

gender CHAR NOT NULL DEFAULT '男'

)ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

3、查看表结构

desc 表名称;

查看表的定义:SHOW CREATE TABLE 表名;

4、删除表结构

drop table 表名称;

注意:

数据和结构都被删除

所有正在运行的相关事务被提交

所有相关索引被删除

DROP TABLE 语句不能回滚

5、修改表结构

(1)重命名表

alter table 表名 rename 新表名;

rename table 表名 to 新表名;

 

(2)增加一列

alter table 表名 add 【column】 列名 数据类型;  #默认在最后

alter table 表名 add 【column】 列名 数据类型 after 某一列;

alter table 表名 add 【column】 列名 数据类型 first;

 

(3)删除列

alter table 表名 drop 【column】 列名;

 

(4)修改列类型

alter table 表名 modify 【column】 列名 数据类型;

alter table 表名 modify 【column】 列名 数据类型 after 某一列;

alter table 表名 modify 【column】 列名 数据类型 first;

 

(5)修改列名等

alter table 表名 change 【column】 列名 新列名 数据类型