• 数据库设计时的建议


    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)

  • 相关阅读:
    条件编译中的基本语法
    UITableView中headerView视察滚动的简单实现
    CocoaPods使用简单回顾
    CocoaPods第三方类库管理工具的简单使用
    Xcode中release和debug模式
    转:关于LazyTableImage
    汉字与UTF-8编码之间的转换
    结构体与字符串之间的转换
    MFC中小笔记(二)
    升级 WIN8.1 VC6.0和 Visual Assist 的使用问题
  • 原文地址:https://www.cnblogs.com/rocky-AGE-24/p/5470771.html
Copyright © 2020-2023  润新知