存储引擎与基本数据类型

1 存储引擎

 

 

存储数据的方式不一样
​
# 查看所有的存储引擎
    show engines;
    
# 需要知道的四个引擎
    1 myisam
        -mysql 5.5 及之前的版本默认的存储引擎
        -存储数据的速度都非常快,但是功能较少,安全性较低
    
    2 innodb
        -mysql 5.6 及之后的版本默认的存储引擎
        -存取速度没有myisam快,但是功能更多,安全性更高
    
    3 blackhole
        -往里面写入任何数据都会直接消失(黑洞)
        
    4 menory
        -用内存存储数据,断电数据消失
        
# 文件个数不一致
    innodb
        .frm  ---  表结构
        .ibd  ---  表数据和索引
    myisam
        .frm  ---  表结构
        .MYD  ---  表数据
        .MYI  ---  索引
    blackhole
        .frm  ---  表结构
    menory
        .frm  ---  表结构

 

2 mysql基本数据类型

 

 

 

1 整型
    tinyint smallint int bigint
        1.1 不同的类型能够存储的数字范围不一样
​
# 结论:所有的整型都是自带符号
'''
(了解)如果不想让整型有符号:
    create table t6(id tinyint unsigned);
    insert into t6 values(-129),(256);
'''

 



2 浮点型
    float(255, 30)
        -总共255位,小数占30位
    double(255, 30)
        -总共255位,小数占30位
    decimal(65, 30)
        -总共65位,小数占30位
        
    '''
    精确度不一样
        float < double < decimal
        
    在实际开发中,很多时候看似需要用数字存储的数据
    其实我们可能都是使用的字符串存储
    '''

 


   
3 字符类型
    char(4)
        最大存储四个字符 超出了直接报错 不超过空格填充至四位
    varchar(4)
        最大存储四个字符,超出了直接报错 不超过有几位存几位

 


       
4 日期类型

    datetime  ---  年月日 时分秒
    time      ---  时分秒
    date      ---  年月日
    year      ---  年

 


   
5 枚举与集合
    枚举  ---  多选一        ---> (例如性别)
        create table t1(
        id int,
        name varchar(32)
        gender enum('male','female')
        );
    
    集合  ---  多选多(多选一) ---> (例如爱好)
        create table t2(
        id int,
        name varchar(32)
        hobby set('read','study','music')
        )

 

 

3 严格模式

 

 

# 查看sql_mode
    show variables like '%mode%';
    
# 修改
    get global sql_mode='strict_trans_tables';
    
# 修改完成后退出客户端重新进入即可
# 验证char是否自动填充
    set global sql_mode='strict_trans_tables,pad_char_to_full_length'

 

4 字符类型对比

 

 

char(4)
    优点:整存整取 速度快
    缺点:浪费硬盘空间
    
varchar(4)
    优点:节省硬盘空间
    缺点:速度没有char快
​
    # 各有优缺点,具体结合实际情况
    
    
    '''
    针对整型字段,括号里面的数字不是用来限制存储长度的而是用来控制显示长度的
    ---> 定义整型字段无需自己写括号和数字
    '''

 

5 创建表的完整语法

create table 表名(
    字段名1 字段类型(宽度) 约束条件1 约束条件2...,
    字段名2 字段类型(宽度) 约束条件,
    字段名3 字段类型(宽度) 约束条件
)
'''
易错点:
    1 字段名和字段类型是必须的,宽度和约束条件是可选的
    2 约束条件可以有多个
    3 最后一个字段结尾不能加逗号,否则报错
'''

 



posted @ 2021-04-30 14:48  Jerry`  阅读(69)  评论(0编辑  收藏  举报