以下文章来源于何先振,责编小何

创建表的条件:
创建表需要指定表字段的数据类型,常见的数据类型:
int、double、date、varchar(size)。
还需要用户创建表的权限,一般用root账号是超级管理员可以直接创建。如果是其他账号可能会没有权限。
关于数据库数据类型和如何给数据库账号设置权限后期会讲。
创建表的方式:
方式一:
CREATE TABLE IF NOT EXISTS 表名( 字段名1 字段类型1,字段名2 字段类型2);
举个栗子:
先查询所有表

创建表,使用VARCHAR定义字符串,必须在使用VARCHAR时指明其长度。

再查询发现已经有表了,创建成功

DESC 表名 可以查看表结构
desc 表名;

查看创建表的语句结构
show create table 表名;
可以查看表字段信息

可以查看存储引擎,以及字符集,如果创建表时没有指明字符集,则默认使用数据库的字符集。因为数据库用的字符集是UTF-8,所以表也是UTF-8

查看表是否有数据

方式二:
基于现有的表创建表
create table 表名as查询语句;
举个栗子:
先写查询语句,查询存在的表

然后通过查询语句创建表

通过DESC 表名,查看表字段信息,跟原表的字段名和类型都是一样。

基于现有的表,创建会有原表的数据

可以让查询语句关联其他表,然后创建新的表

查询关联表,创建的新表数据、此时的查询语句可以结构比较丰富,使用前面章节讲过的各种SELECT

字段信息,如果查询语句中有别名,会拿别名作为新创建表的字段名称

再来一个大栗子:
创建一个表的employees_copy,实现对employees表的复制,包括表数据
创建新表

查询里面的数据

创建一个表的employees_blank,实现对employees表的复制,不包括表数据。
通过过滤条件进行控制,加所有数据都不满足的条件

写一个确定没有的条件 where 1=2, 一永远不能等于二

执行创建语句

查询新创建的表,没有数据

修改表的语句:
alter table 表名
具体修改表的啥部分,还需要加上具体的语句。
添加字段
alter table 表名add 字段名 字段类型(长度);
举个栗子:
先查看原来表的字段个数

然后执行添加字段语句

再查看,已经创建成功,默认添加到表中的最后一个字段

添加到指定顺序的字段


添加指定存在字段之后的顺序


修改字段
alter table 表名modify 字段名 字段类型(长度);
举个栗子:
将stu_name 数据类型改大


修改字段,增加默认值


重命名字段
alter table 表名change 字段名 新字段名 数据类型(长度);
举个栗子:
重命名salary这个字段


重命名字段,同时可以改数据类型的范围


删除字段
alter table 表名drop column 字段名;
举个栗子:
删除my_email字段



推荐阅读书籍




