存储引擎,表的数据类型

1.存储引擎
使用不同的存储引擎,数据是以不同的方式存储的
show engines;  查看存储引擎
innodb:  2个文件(树形结构(数据+树) + 表结构)
mysql5.6以上默认的存储方式
transaction  事务(事务的代码先在内存中执行,完毕后才刷新到硬盘上)   保证数据安全,数据的完整性而设置的概念
row-level locking  行级锁
table-level locking  表级锁
foreign keys 外键约束  (两个表之间数据通过外键约束保证数据安全)
树tree   加速查询

myisam:  3个文件(树形结构 + 数据 + 表结构)
mysql5.5以下默认的存储方式
table-level locking  表级锁
树tree   加速查询

memory:  1个文件(表结构,数据在内存)    基于hash
2.数据类型
2.1 数值
tinyint:   有符号(-128,127)     无符号(unsigned约束)(0,255)
int:      有符号(-32768,32767)      无符号(unsigned约束)(0,65535)
create table int_t(
    ti tinyint,           ****
    i int,                *****
    tiun tinyint unsigned,
    iun int unsigned
);
create table fd_t(
    f float,   # 默认小数点后5位  再往后就不准确(精度问题)  *****
    d double,  # 默认小数点后9位  精度高一些,再往后同样不准确
    f2 float(5,2),  第一个数字代表全部位数,第二个数字代表小数位数,在精确位四舍五入
    d2 double(5,2)
);
create table dec_t(
    dec1 decimal,  # 默认(10,0)
    dec2 decimal(30,20)  # 小数位数没写够自动补0
);
2.2 时间
内置函数now()    得到当前时间
datetime  上下班打卡时间/日志/论坛博客类的评论和文章 *****
date      生日/入职时间/离职日期    *****
time      上课时间/下课时间/竞赛数据
year      年代(酒)
timestamp 由于表示范围问题,导致使用变少
create table time_t(
    dt datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  
    # 相较timestamp表示范围更大,还能拥有其特点
    d date,
    t time,
    y year,
    ts timestamp  # 不能为空,默认值是当前时间(可以被覆盖),在修改时同时更新时间
);
2.3 字符串
char:0-255  定长存储,存储速度快,占用更多的空间  *****
char(12)  =>  输入'kunkun',系统会用空格补齐存储,取出时再去掉空格(自己在数据后输入的空格也会被去掉)
# 用于手机号码、身份证号码、用户名、密码等有一定弹性的数据
varchar:0-65535  变长存储,存储速度慢,占用的空间小  ****
varchar(12)  =>  输入'kunkun',系统会随机补一个字符存储(如kunkun2)
# 多用于评论
create table ch_t(
    c char,   # 默认一个字符,varchar不能这样写
    c2 char(5),
    vc varchar(5),
);
2.4 enum和set
enum(单选)
create table enum_t(
    id int,
    name char(12),
    gender enum('男','女')  # 如果输入的不是指定数据,则该项数据为空
);
set(多选)
create table set_t(
    id int,
    name char(12),
    hobby set('唱','跳','rap','篮球')  # 去重,输入的不是指定数据则不取
);

转载于:https://www.cnblogs.com/wxl1025/p/11271770.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值