博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库设计时的建议
阅读量:6243 次
发布时间:2019-06-22

本文共 5866 字,大约阅读时间需要 19 分钟。

1.数据库设计时,如果是下拉的框,表示状态的框,不要将这些状态值硬编码在代码里面,因为这些很可能会随着后期需求的改变而改变,建议使用数字表示,这样的优势在于

a.如果状态的字符串变了,但是值可以不变,这样如果有其他模块依赖这个值,也不会对他们产生影响

b.如果后期用数据库表类维护这些值,那数字的优势就体现出来了,可以直接兼容.(还有很重要的一点,在设计之处就把它设计成tinyint,那么就不存在这些问题)

c.mysql建表时,同一模块的表最好有一个共同的前缀或者后缀,这样,当用show tables like 'tablename' 时就可以把这个模块的表全部查到了。

2.mysql 中的char 和 varchar 

国内写的一本书书上说char会自动把多余的空格删除掉,而varchar不会.

Server version: 5.5.49-0ubuntu0.14.04.1 (Ubuntu)

今天做了一个测试结果令我很无语啊,插入了一个很长的字符串(超过了255),然后执行插入操作,然后他成功了,但是他把超过的字符给剪掉了.这个很可能是和版本和操作系统有关吧,之前在windows上的时候数据库会报这个字符太长了的错误,

因此我觉得在后台代码做长度校验还是很有必要的.

 

查询表被那些表关联(当要删除一张表时,却提示这张表被其他表关联了,此时你是否很想知道是被哪些表关联了,来源:http://zhidao.baidu.com/question/198072067)

select TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,

REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME from KEY_COLUMN_USAGE where REFERENCED_TABLE_NAME = '<table>';

如果需要查看某一列上的外键关系,需要添加列的条件 REFERENCED_COLUMN_NAME.xx=xx

show create table 表名;这个命令可以查看表的所有信息,包括一些字段类型,字段的约束,外键,主键,索引,字符编码等等。

 

mysql> insert into BOOK (NAME)value('1121212121212121212122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222233333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333322222222222222222223wreeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeewwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeesssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssffffffffffffsfdfsddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd22222222222222222222222222222222222222222222');Query OK, 1 row affected, 1 warning (0.07 sec)mysql> select * from BOOK;+----+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+-------+----------+---------------------+--------+| ID | NAME                                                                                                                                                                                                                                                            | AUTHOR | PRICE | INFO     | PUBLISHDATE         | amount |+----+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+-------+----------+---------------------+--------+|  1 | java                                                                                                                                                                                                                                                            | sun123 | 100.9 | javaEE   | 2015-11-20 00:00:00 |      0 ||  2 | 123                                                                                                                                                                                                                                                             | qq     |   123 | testtest | 2015-12-12 12:12:12 |      0 ||  3 | ooop                                                                                                                                                                                                                                                            | kkk    |  1212 | 1212asdf | 2015-12-12 12:02:12 |    233 ||  4 | qwe                                                                                                                                                                                                                                                             | 123    |   123 | qwewertr | NULL                |    123 ||  5 | 112121212121212121212222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 | NULL   |  NULL | NULL     | NULL                |      0 |+----+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+-------+----------+---------------------+--------+5 rows in set (0.00 sec)

转载地址:http://iypia.baihongyu.com/

你可能感兴趣的文章
dubbo源码解析(八)远程通信——开篇
查看>>
在Docker中使用Xdebug
查看>>
snabbdom.js(二)
查看>>
【跃迁之路】【657天】程序员高效学习方法论探索系列(实验阶段414-2018.12.01)...
查看>>
Testng(二):监听
查看>>
重构改善既有的代码设计(代码的坏味道)
查看>>
入门量子计算
查看>>
为什么全栈JavaScript经常被黑,而Java却不会被黑?
查看>>
Java设计模式的6大原则
查看>>
在2018年如何优雅的开发一个typescript语言的npm包?
查看>>
一些小小的总结
查看>>
Homestead 环境搭建
查看>>
Retrofit源码分析
查看>>
零基础兴趣或者转行学习Python,我们应该如何入门呢?
查看>>
electron 仿制QQ登录界面
查看>>
基于Spring Boot实现图片上传/加水印一把梭操作
查看>>
聊聊storm的LoggingClusterMetricsConsumer
查看>>
vue-waterfall2 基于Vue.js 瀑布流组件
查看>>
Vue一个案例引发的递归组件的使用
查看>>
Canvas 实现一个简单的贪吃蛇
查看>>