Java note程序员

Mysql 进阶()数据类型)

2017-11-20  本文已影响22人  chcvn

----数据类型(列类型)
整数型和小数型
@作者 原地址:www.1314sl.com

--整数型
五类:
tinyint --迷你型 最多为256种 (常用)
smallint --小整型 最多65536种 2个字节
mediumint --中整型 使用3个字节数存储
int       --标准整形,使用4个字节存储 (常用)
bigint    --大整型   使用8个字节
-------- 小数型   会四舍五入
        
    浮动型:小数点浮动,精度有限,会丢失精度
    定定型:小数点固定,精度固定,不会丢失精度
    

-------- 浮点型    
    float   4  
    double  8


------ 定点型   不会四舍五入
    查看警告:show warnings;
    

-------- 时间日期类型
    datetime:时间日期
    date : 日期
    time :时间(段)
    timestamp : 时间戳
    

-------------字符串类型----UTF8 一个字符占3个字节--------------
在SQL 中,将字符串类型分了6类:
    char , varchar,text,blob,enum,set
    
    --定长字符串
        char 在定义结构的时候就已经定义了最终数据的存储长度
        
        char(L)L代表length、可以存储的长度、单位为字符,最大长度值为255.
        
    --变长字符串
    varchar 在分配空间的时候,按最大的空间分配,但是实际上最终用了多少,是是根据具体的数据来确定
    
    Varchar(L) 理论长度是65536个字符
    
    --文本字符串
    如果数据量非常大,通常说超过255个字符就会使用文本字符串
        存储数据的格式进行分类:text和blob
            text 存储文字
            blob 存储二进制数据(通常不用)


            
------  枚举字符串---------------
    枚举:enum 事先将所有可能出现的结果设计好
    
    使用方式:
        定义:enum(可能出现的元素列表);
    
    --证明字段存储的数据是数值:将2数据取出来+0就可以判断出原来的数据存的到底是字符串还是数值,

    
    
------------集合字符串
    集合跟枚举类似:实际存储的是数值,而不是字符串(集合是多选的)、
    
    在集合里面,所有的字符串都对应二进制
    
    查询    select 列名+0,列名 from 表名
    
    对应的位,位取反
    
    

    
----------------Mysql记录长度------------

Mysql中规定:任何一条记录最长不能超过65535个字节(varchar永远达不到理论值)

    uft8 下 varchar实际顶配:21884字节
    GBK  下 varchar实际顶配:32766字节
    
    
    
    
    
    
--------------空属性
    两个值:NULL(默认的)和 NOT NULL(不为空)
    
    虽然是默认的。数据库基本都是字段为空。
    空数据没有意义
    
    create table myclass(
        name varchar(20) not null,
        room varchar(20) null
    )charset utf8;
    
    
-------------------列描述
        comment  描述   没有时间含义:是专门用来描述字段,会根据表创建语句保存;
            
            
            create table myclass(
                name varchar(20) not null comment '姓名',
                money decimal(10,2) null comment '钱'
            )charset utf8;
    
    
---------------默认值
    某一种数据会经常性的出现某个具体的值
        
        show create table 表名 查看列描述
        
        default 默认值 
        
        create table myclass(
                name varchar(20) not null comment '姓名' default '男',
                money decimal(10,2) null comment '钱' default 0
            )charset utf8;

@作者 原地址:www.1314sl.com

oneNate笔记oneNate笔记
@作者 原地址:www.1314sl.com
上一篇 下一篇

猜你喜欢

热点阅读