文章中所有操作均是在 MySQL 5.7 版本下进行的
当我们创建想要的库之后,通过“use 数据库名;”的命令进入库就可以进行对表的操作了。这里就不提及数据库的操作工具,只针对命令讲解。
1 表的操作
进入数据库之后,可以通过一下命令展示该库下面所有的表:
show tables;
温馨提示:可以通过 “ show create table 表名; “ 命令查看指定表的创建信息。
通过以下命令查看指定表的表结构:
desc 表名;
1.1 创建表
创建表可以通过下面的命令进行操作:
create table 表名(
字段名1 类型(宽度) 约束条件,
字段名2 类型(宽度) 约束条件,
字段名3 类型(宽度) 约束条件,
......
字段名n 类型(宽度) 约束条件
);
-- 带有字段注释
create table 表名(
字段名1 类型(宽度) 约束条件 comment '注释1',
字段名2 类型(宽度) 约束条件 comment '注释2',
字段名3 类型(宽度) 约束条件 comment '注释3',
......
字段名n 类型(宽度) 约束条件 comment '注释n'
);
1.2 修改表
-- 添加列
alter table 表名 add(列名 列类型, ... 列名 列类型);
-- 修改某个列的列类型
alter table 表名 modify 列名 新的列类型;
-- 修改某个列的这个注释
alter table 表名 modify 列名 列类型 comment ‘新的注释’;
-- 修改某个列的列名(列类型也能一起修改):
alter table 表名 change 原列名 新列名 列名类型;
-- 删除列
alter table 表名 drop 列名;
-- 修改表名
alter table 表名 rename to 新表名;
-- 修改表的注释
alter table 表名 comment ‘新的表注释’;
1.3 删除表
-- 删除一个
drop table 表名;
-- 删除多个
drop table 表名1, 表名2, ...;
删除命令请谨慎操作。
1.4 表的主键
一般情况下,每个表都需要一个主键 primary key。
create table 表名(
字段名1 类型(宽度) primary key,
字段名2 类型(宽度),
...
);
主键属于一种建表约束,这里不去详细描述各种建表约束了,您可以在作者的另外一篇文章《MySQL数据库与建表约束》中查看。
2 表的数据类型
可以通过如下命令查看当前 MySQL 数据库支持的数据类型:
? data types;
这里就不一一列举了,因为网上有关于数据库支持的数据类型的介绍文章太多了,再去写反而就是啰嗦了。朋友们阅读起来也没有什么意思,所以这里就列举了这些年作者开发项目经常用到的数据类型吧。
2.1 数字类型(常用到)
- INT:四字节整数,与INTEGER等价,经常用到。
- BIGINT:八字节整数,经常用到。
- DECIMAL(M[,D]):用于存储精确小数,M表示有效数字位数,范围是[1,65],默认是10,D表示小数点后位数,范围是[0,30],默认是0。
2.2 日期和时间类型(常用到)
- DATETIME:日期时间格式,展示格式为’YYYY-MM-DD hh:mm:ss[.fraction],支持范围是[‘1000-01-01 00:00:00.000000’, ‘9999-12-31 23:59:59.999999’],fsp表示小数位数,默认是0,取值范围是[0,6]。
- TIMESTAMP:时间戳,范围是[‘1970-01-01 00:00:01.000000’ UTC, ‘2038-01-19 03:14:07.999999’ UTC],注意到起始秒数从1开始,是因为0被保留用来代表’0000-00-00 00:00:00’了,fsp表示小数位数,默认是0,取值范围是[0,6]。
2.3 字符串类型(常用到)
- CHAR(M):固定长度的字符串,M表示字符串最大长度,范围是(0,255],若实际长度不足M,实际串右侧会填充空格,M默认为1。
- VARCHAR(M):可变长度的字符串,M表示字符串最大长度,范围是(0, 65535],当存储UTF8编码中文时,一般需要3个字节(看好我说的是字节)存储一个汉字。
- TEXT:字符串,最大长度64K-1。
- LONGTEXT:字符串,最大长度4G-1。
其实这些年的开发并没有什么比较特别地方,存储的数据也是比较中规中矩的,所以经常用到的数据类型大概就这么些。
结语
以上内容基本都是一下带过,毕竟这些知识是很基础的那种了,一字一字的写实属有些啰嗦。如果您需要帮助,可以找作者,作者很乐意帮忙。