• MySQL学习(三)


    1 列类型
    只要把表头建好了,表就完成了。建表的过程就是声明字段的过程.我们建列时,自然想到的是,能够容纳放置的内容,但又不浪费。存储同样的数据,不同的列类型,所占据的空间和效率是不一样的,这就是建表前要学习列类型的意义。
    计算机中的复数,是按照补码规则来换算的。

    2 int系列的声明时的参数
    三种:(M),unsigned,zerofill
    int不加特殊说明,默认是有符号。
    3 添加新的字段。同时用unsigned修饰tinyint

    mysql> alter table class add score tinyint unsigned not null default 0;
    

    4 分析(M)参数
    M必须和zerofill配合使用才有意义。
    分析学生学号类型, 1 长度相同,没有的要用零来填充 2 没有复数

    mysql> alter table class add snum smallint(5) zerofill not null default 0;
    Query OK, 3 rows affected (0.83 sec)
    Records: 3  Duplicates: 0  Warnings: 0
    

    如果所示,snum统一补0,而且补到5位。为什么补到5位,因为M为5,总结,M表示补0的宽度,和zerofill配合使用才有意义,单独使用没有意义。

    观察snum的类型,可知zerofill则同时必是unsigned的。

    5 创建一个包含浮点类型的表

    mysql> create table salary(
        -> sname varchar(20) not null default '',
        -> gongzi float(6,2)
        -> )engine myisam charset utf8;
    Query OK, 0 rows affected, 1 warning (0.74 sec)
    

    6 浮点数占多大的空间?
    float能存 1038,10-38
    如果M<=24,按照4个字节存储,否则占8个字节存储

    7 用来表示数据中的小数除了float浮点,还有一种叫定点,定点是把整数部分和小数部分分开存储的,比flaot精确

    8 float有时会损失精度,如果像账户这样的敏感可以用decimal

    9 字符型
    char,vchar,text,blob
    char 被成为定长类型
    varchar 被成为变长类型

    10 查找行记录时,如果都是定长,完全可以通过行数与行的长度计算出来文件指针的偏移量。对于定常N,不论够不够指定长度,实际都占据N个长度,如果不够N个长度,用空格在末尾补至N个长度。而对于varchar(N),不用空格补齐,但列内容前,有1-2个字节标志该列的内容长度。

    11 char型,如果不够M个字符,内部用空格补齐,取出时再把右侧空格删掉。这意味着,如果右侧本身有空格,将会丢失。

    12 char(M)和varchar(M)限制的是字符数,不是字节数。
    即 char(2) utf8,能存2个utf8字符,比如”中国“;

    13 text类型:文本类型,可以存比较大的文本段,一般用来储存文章内容,搜索速度稍慢。
    声明text列类型不用加默认值

    14 blob是二进制类型,用来存储图像,音频等二进制信息。
    意义:二进制从0-255都有可能出现,blob在于防止因为字符集的问题,导致信息丢失。比如一种图片中有0XFF字节,在ASCII字符集中认为其非法,在入库的时候,被过滤了。造成了照片的损坏,若声明为二进制类型时,就不会出现数据丢失。

  • 相关阅读:
    pyinstaller 将 python 代码打包成执行文件
    python excel 处理 xlrd & xlwt &xlutils
    服务器重启后 Nvidia 环境错误
    py 编译so
    cv 读取宽高和画框
    libreOffice doc 转pdf
    gunicorn 使用
    asp.net 跬步篇(4) EnableSessionState设置 引起的框架集加载问题
    驱驾ViewState利剑—压缩ViewState
    asp.net 开发 跬步篇〔3〕.net 邮件批量发送
  • 原文地址:https://www.cnblogs.com/Manual-Linux/p/10174442.html
Copyright © 2020-2023  润新知