3.Mysql基础名词认识

2022-03-19 分类:mysql 阅读(237) 评论(0)

孙富阳, 江湖人称没人称。多年互联网运维工作经验,曾负责过孙布斯大规模集群架构自动化运维管理工作。擅长Web集群架构与自动化运维,曾负责国内某大型博客网站运维工作。

1.sql_mode

1.作用

保证数据准确 符合常识 例如零年零月是不存在的。是不会被写入数据库的 5.7版本以后启用了该模式

2.如何查看sql_mode信息

mysql> select @@sql_mode;

2.字符集

1.作用

字符的转换

2.查看数据库支持的字符集

mysql> show charset;
8.0 默认:utf8mb4
8.0之前默认:latin1

3.建议字符集

utf8 :最大存储3字节字符,一个中文字符占3个字节,因此可以存中文
utf8mb4:最大存储4字节字符,可以存储emoji(表情包字符)。

3.排序规则

1.作用

影响排序  对于不同的字符集,有不同的排序规则。例如查出来的表是A排在上面还是a排在上面

2.查询支持的排序规则

mysql> show collation;

4.数据类型

1.作用

控制存储数据的格式和规范 例如:某列必须存数字,某列必须存字母等

2.种类

a 数字

整数:
     tinyint   1bytes  0~255   -128~127
     int       4bytes  0~2^32-1 -2^31~2^31-1  10位数
     bigint   8bytes  0~2^64-1 -2^63~2^63-1   20位数
浮点数:
     decimal  和金钱有关(精度要求高)的使用decimal
     普通的(精度要求不高的),放大N倍,用整数存储。

b字符串

char(10)
varchar(10)
enum(固定值’sd’,’sx’)
             1      2  ###下标索引
char(10)和varchar(10)区别
             共同点:都是字符串类型,最多都只能存10个字符
             不同点:1.char定长(直接分配10个空间,性能好,但是浪费空间),varchar变长(按需分配,节约空间),如果存储变长字符串,如名字,建议使用varchar
                     2.varchar类型,额外占用1~2个字节,存储字符长度。

c时间类型

例如统计一下年度账单
timestamp时间戳4字节  有时间范围限制1970-2038
datetime        8字节   1000年1月1到9999年12月31

d 二进制(不用)

e json(应用不多,几乎看不到)

5.约束

例如注册账号,有些带星的为必填的,不填就不让注册。
PK primary key 主键 非空且唯一
NN not null    非空
UK unique key  唯一
FK
建议:
   1.每张表设置主键,建议是数字自增列
   2.尽量对每个列设置非空

6.其他属性

default           默认值
auto_increment   自增长(主键自增列)
unsigned        数字列,无符号(非负数)
comment        注释

评论已关闭

登录

忘记密码 ?

切换登录

注册

鲁ICP备2021019243号-1