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串联.










  • 相关阅读:
    Sqlserver 代码格式化工具,可提高开发效率
    Html.Partial和Html. RenderPartial用法
    Javascript中的Table导出成Excel表格
    C#/.NET/.NET Core定时任务调度的方法或者组件有哪些--Timer,FluentScheduler还是...
    C# 开源框架(整理)
    NFine:.NET快速开发平台 NFine.Framework Web框架
    ansible使用setup模块查看受控机的信息(ansible2.9.5)
    ansible用get_url模块在受控机下载文件(ansible2.9.5)
    ansible通过yum/dnf模块给受控机安装软件(ansible2.9.5)
    centos8平台编译安装nginx1.18.0
  • 原文地址:https://www.cnblogs.com/52forjie/p/7487455.html
Copyright © 2011-2022 走看看