• 数据库设计时的建议


    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)

  • 相关阅读:
    append()、appendChild() 和 innerHTML 的区别
    JS实现动态添加和删除div
    linux下的find文件查找命令与grep文件内容查找命令
    Java 并发基础常见面试题总结
    深入理解HashMap
    JAVA 或与非运算符 与(&)、或(|)、异或(^)
    centos7.x下环境搭建(三)—nodejs安装
    centos7.x下环境搭建(二)—nginx安装
    centos7.x下环境搭建(一)--yum方式安装mysql5.7
    基于vuecli3构建一个快速开发h5 APP的模板
  • 原文地址:https://www.cnblogs.com/rocky-AGE-24/p/5470771.html
Copyright © 2020-2023  润新知