“Day45-数据库(二)学习笔记”
一、存储引擎
日常生活中文件格式有很多中,并且针对不同的文件格式会有对应不同存储方式和处理机制(比如txt、pdf、word、
mp4等等)
针对不同的数据应该有对应的不同的处理机制来存储
存储引擎
就是不同的处理机制
1.1 MySQL主要存储引擎
1.2 查看和设置存储引擎:
1、查看所有存储引擎
2、设置存储引擎
二、创建表的完整语法
2.1 创建表的语法
创建表的基本语法为:
案例:
2.2 创建表的注意事项
1、在同一张表中字段名不能重复
2、宽度和约束条件是可选的(可写可不写) 而字段名和字段类型是必须
的,约束条件写的话 也支持写多个
少些了会报错,例如:
3、最后一行不能有逗号,否则会报错:
2.3 宽度和约束条件
2.3.1 宽度
宽度:一般情况下指的是对存储数据的限制
比如:
关于宽度的限制,跟严格模式
有关,
5.6版本默认没有开启严格模式 规定只能存一个字符你给了多个字符,那么我会自动帮你截取
5.7版本及以上或者开启了严格模式 那么规定只能存几个,就不能超,
一旦超出范围立刻报错 Data too long for ….
2.3.2 约束条件
约束条件:是指在宽度的基础之上增加的额外的约束
比如限制是可以插入空值的约束条件
案例:
三、基本数据类型
3.1 整型
3.1.1 整型分类
类型 |
无符号范围 |
有符号范围 |
TINYINT |
-128 到 127 |
0 到 255 |
SMALLINT |
-32768 到 32768 |
0 到 65535 |
MEDUIMINT |
-8388608 到 8388607 |
0 到 16777215 |
INT |
-2147483648 到 2147483647 |
0 到 4294967295 |
BIGINT |
-9223372036854775808 到 9223372036854775807 |
0 到 18446744073709551615 |
3.1.2 无符号和有符号
以TINYINT为例,有两个疑问:
是否有符号? — 整型默认情况下都是带符号的
超出会如何? — 超出限制只存最大可接受值
来验证这两个问题:
有符号插入:
无符号插入
☀️补充:
整型也可以使用括号指定宽度,这个宽度到底是干嘛的?
这是因为:只有整型括号里面的数字不是表示限制位数
id int(8)
如果数字没有超出8位 那么默认用空格填充至8位
如果数字超出了8位 那么有几位就存几位(但是还是要遵守最大范围)
可以在创建时设置zerofill
,用0填充至8位
针对整型字段 括号内无需指定宽度 因为它默认的宽度以及足够显示所有的数据了
3.2 严格模式
3.3 浮点型
分类
FLOAT、DOUBLE、DECIMAL
作用
身高、体重、薪资
3.4 字符类型
分类
char与varchar对比
3.5 时间类型
| ——– | ——————————- |
| date | 年月日:2020-5-4 |
| datetime | 年月日时分秒:2020-5-4 11:11:11 |
| time | 时分秒:11:11:11 |
| year | 年:2020 |
案例如下:
3.6 枚举与集合类型
分类
具体使用
集合可以只写一个 但是不能写没有列举的