zoukankan      html  css  js  c++  java
  • 数据类型--mysql

    1. 数字:
        整型:tinyinit  int  bigint

    这里面的tinyinit int bigint,分别指不同的数字宽度,依次从最小到最大
    还有int(5)后面括号里的数字,对于存是没有任何差别,而对于取,如果存的数字没有5个宽,
    那么前面会加上0以凑齐5个,如:输入123,则输出为00123.但是一般不显示出来
    这时候加上zerofill 的话就可以显示出来
    create table n3(x int(3) zerofill)
    只要数字不足三位,那么就会前面加上0.

    小数: float :在位数比较短的情况下不精准 double :在位数比较长的情况下不精准 0.000001230123123123 存成:0.000001230000 decimal:(如果用小数,则用推荐使用decimal) 精准 内部原理是以字符串形式去存
    其中decimal,还有小数其他形式是以decimal(10,5),表示总共10位数,小数点后面只能跟5位,超过的会以四舍五入运算.
    并且前面不能数字不能超过5位,超过5位就报错.如果小数点不足,那么就会用0加到后面凑齐5位.

    2. 字符:
    char(10)
    存取速度快,占用空间大,简单粗暴.
    char(10)==>char(name)==>char(name000000),当位数不够则用0补.
    存也存10位,取也是取10位,所以速度快.
    varchar(10)
    存取速度慢,空间小,省空间.精准

    varchar在传给别人数据之前,为了精准的取到,会在前面增加一个报头,后期取用的时候,会先取报头,运算过后,在取相应的数量的信息,就像socket的报头一样.

    char_length 查看字符的长度,length查看字节的长度,也就是bytes类型..

    select char_length(x) from name..

    bit类型:

    也就是bytes类型,查看byte类型长度,要用到函数,bin()

    select  bin(x) from n3.

    select hex(x) from n3.

    三 日期类型

    DATE TIME DATETIME TIMESTAMP YEAR 

    作用:存储用户注册时间,文章发布时间,员工入职时间,出生时间,过期时间等

    出生时间:显示-年-月-日-时分秒
    datetime
    
    年:
    year
    
    时间:
    time 
    
    年月日
    date
    
    格式:insert into n3 values(出生时间 datetime,年 year, 时间 time, 年月日 date);
    如果你要显示的现在时间那么:可以用now()
    如果要手动添加:如果你有特殊符号的话(2017-09-10)那么就要添加''(引号) 格式:insert into n3 values(出生时间 now(),年 now(), 时间 now(), 年月日 now()); 就是显示现在时间

    5:枚举类型和集合类型

    枚举--enum:

    enum:
    create table n1(name enum('sdf','fd'));
    insert into n1  values('sdf');
    
    
    枚举类型是指:在一个列表里选择其中的一个元素,当做自己的值.
    
    如果要改变枚举类型,那么你就要删除你用枚举类型创造的值.
    1)truncate n1           删除所有枚举创出来的值
    2)alter ...........           改变枚举类型

    集合-set类型

    集合set:
    
    集合是指在一个元组里面取一个或多个值.
    create table n1 (name set('12','123','456');
    
    insert into n1 values('12,123');
    
    如果要改变改set类型,也要和enum类型一样,把有集合元素内容的东西都删除调,才能改
    1)truncate n1;
    2)alter ,......
    
    
    注意:
    集合里面,如果你要取里面的2个元素,那么你不能写成('S','b'), 要写成('S,b')
    也就是一个冒号包括2个元素,里面的元素用逗号分开.
    6:constraint host_port unique(host,port) 整体意思:约束host_port是唯一的,也就是后面括号里的内容可以
    其中一个相同,但是不能2个相等.
    create table department3(
    id int,
    name varchar(20),
    comment varchar(100),
    constraint pk_name primary key(id); 
    
    这里的pk_name只是一个摆设,没什么用,最后一句话的意思就是把id设成了主键,

    7:auto_increment 的用法

    create table t1(id int primary key auto_increment, name char(2),
    age int)auto_increment=3;
    表示默认的初始自增值数值为3,如果不指定id数值,那么默认会从3开始递增.
    Ps:这是从开始就设定了
    
    
    2)
    create table t1(id int primary key auto_increment, name char(2),
    age int)
    如果程序已经开始运行,现在想修改自增值的话,就在后面修改
    
    alter table n1 auto_increment=3;
    从现在开始就是从3开始增长.
    8;foreign key:被关联的表里面的元素,必须是主键,也就是唯一的.

    references t1(id) 以t1表的id为参考
    on delete cascade 把delete串联
    on update cascade 把update串联.










  • 相关阅读:
    WPF 使用 Direct2D1 画图 绘制基本图形
    WPF 使用 Direct2D1 画图 绘制基本图形
    dot net core 使用 IPC 进程通信
    dot net core 使用 IPC 进程通信
    win2d 图片水印
    win2d 图片水印
    Java实现 LeetCode 240 搜索二维矩阵 II(二)
    PHP closedir() 函数
    PHP chroot() 函数
    PHP chdir() 函数
  • 原文地址:https://www.cnblogs.com/52forjie/p/7487455.html
Copyright © 2011-2022 走看看