• 每日一题


    每日一题:

    查看PEP8规范:

    查看PEP8规范:
    1 缩进与换行 每级缩进使用四个空格
    2 限制每行的最大长度为79个字符
    3 空行
    顶层函数和类之间使用两个空行
    类的方法之间用一个空行
    在函数中使用空行表示不同逻辑段落
    4 导入位于文件的顶部
    5 避免多余空格
    6 注释
    注释要保持与时俱进 一句后面两个空格 跟注释
    7 命名规范
    除了正常的命名规范外
    不要使用 大小写的L 大写的O 作为变量名
    类名首字母大写 内部类 加上前导下划线
    函数名应该小写 增强可读性可以使用下划线分割
    8 其他
    别用 ‘==‘ 进行布尔值 和 True 或者 False 的比较 应该用 is
    
    
    

    字符编码

    字符编码发展史,以及你所知道的字符编码码,每个字符编码表的在表示数字和字符关系的时候区别??
    
    ascii 是最早美国用的标准信息交换码,把所有的字母的大小写,各种符号用 二进制来表示,共有256中,加入些拉丁文等字符,1bytes代表一个字符,
    
    Unicode是为了统一世界各国语言的不用,统一用2个bytes代表一个字符,可以表达2**16=65556个,称为万国语言,特点:速度快,但浪费空间,
    
    可以用在内存处理中,兼容了utf-8,gbk,ASCII,
    
    utf-8 为了改变Unicode的这种缺点,规定1个英文字符用1个字节表示,1个中文字符用3个字节表示,特点;节省空间,速度慢,用在硬盘数据传输,网络数据传输,相比硬盘和网络速度,体现不出来的,
    
    gbk  是中文的字符编码,用2个字节代表一个字符,
    

    数据库表映射

    数据库建表-- 一对多/多对一/一对一/多对多 关系:
    
    ---->关联映射!!! 
        
    一对一主键关联:要求两个表的主键必须完全一致,通过两个表的主键建立关联关系
    
    
    一对一主键关联:要求两个表的主键必须完全一致,通过两个表的主键建立关联关系
    
    数据库中的多对多关联关系一般需采用中间表的方式处理,将多对多转化为两个一对多。
    
    

    char、varchar和text的区别:

    MySQL中字段类型char、varchar和text的区别: 
    
    
    MySQL中,char、varchar和text类型的字段都可以用来存储字符类型的数据,char、varchar都可以指定最大的字符长度,但text不可以
    
    数据的检索效率是:char > varchar > text
    
    char:存储定长数据很方便,CHAR字段上的索引效率级高,必须在括号里定义长度,可以有默认值,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间(自动用空格填充),且在检索的时候后面的空格会隐藏掉,所以检索出来的数据需要记得用什么trim之类的函数去过滤空格。
    
    varchar:存储变长数据,但存储效率没有CHAR高,必须在括号里定义长度,可以有默认值。保存数据的时候,不进行空格自动填充,而且如果数据存在空格时,当值保存和检索时尾部的空格仍会保留。另外,varchar类型的实际长度是它的值的实际长度+1,这一个字节用于保存实际使用了多大的长度。
    
    text:存储可变长度的非Unicode数据,最大长度为2^31-1个字符。text列不能有默认值,存储或检索过程中,不存在大小写转换,后面如果指定长度,不会报错误,但是这个长度是不起作用的,意思就是你插入数据的时候,超过你指定的长度还是可以正常插入。
    
    结论:
    
    1、经常变化的字段用varchar;
    
    2、知道固定长度的用char;
    
    3、超过255字节的只能用varchar或者text;
    
    4、能用varchar的地方不用text;
    
    5、能够用数字类型的字段尽量选择数字类型而不用字符串类型,这会降低查询和连接的性能,并会增加存储开销。这是因为引擎在处理查询和连接回逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了;
    
    6、同一张表出现多个大字段,能合并时尽量合并,不能合并时考虑分表
    
  • 相关阅读:
    利用opengl画一个水波的曲面
    Eclipse 使用OpenGL
    Javascript学习过程(二)
    Workflow Learing
    YAWL设计实例
    YAWL使用方法
    ImageJ二次开发学习纪录之初步体会
    [LeetCode 660] Remove 9
    [LeetCode 1542] Find Longest Awesome Substring
    [LeetCode 879] Profitable Schemes
  • 原文地址:https://www.cnblogs.com/shaozheng/p/11899728.html
Copyright © 2020-2023  润新知