设计表
在生产设计数据库过程中有一些技巧,是我在实习时才知道的
1、id等int类型字段,若无需求,全用unsigned。节约空间。
2、用comment给字段和表加上注释,方便交流,以示后人。
3、用tinyint(1)代替以前常用的bool,因为MYSQL没有Boolean,这样设计的原因是一个和POJO类与mysql冲突了,具体可以看这里
4、用时间戳来记录create_time字段,可以转成int(10)。
5、用户表,用salt字段,用md5的方法来加密password。
6、设计is_del字段,来逻辑删除。
1 2 3 4 5 6 7 8
| CREATE TABLE `devices_category` ( `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT comment '搜索主键,自增id', `device_id` int(10) UNSIGNED NOT NULL comment '设备id', `category_a` tinyint(1) UNSIGNED DEFAULT '2' comment '当前视频分类是否属于a,1是,2不是', `is_del` tinyint(1) UNSIGNED DEFAULT '0' comment '删除标识', `create_time` int(10) UNSIGNED NOT NULL comment '创建时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 comment '监控设备分类表';
|
查看表注释
查看字段注释
1 2 3
| select COLUMN_NAME,column_comment from INFORMATION_SCHEMA.Columns where table_name='表名' and table_schema='数据库名'; # 修改注释 ALTER TABLE `表名` MODIFY COLUMN `列名` COMMENT '啦啦啦';
|
查看表注释
1 2 3
| SHOW CREATE TABLE `表名` # 修改注释 ALTER TABLE `表名` COMMENT '巴啦啦';
|
Mysql导出与导入
先在终端中进入目标目录。
1
| mysqldump -u 用户名 -p 数据库名 表名 > 文件名.sql
|
导入方法为,先进入mysql控制页面
source 文件绝对地址