内容概要
- 存储引擎
- 数据库的字符类型
- 整型
- 浮点型
- 字符类型
- 日期类型
- 枚举和集合类型
- 创建表的完整格式
- 约束条件
- unsigned
- zerofill
- not null
- unique
- primary key
- zuto_increment
内容详情
存储引擎
简介: 存储引擎可以看作是处理数据的不同方式
查看存储引擎的命令: show engines;
四种存储引擎:
-
mySQL5.5之前默认的存储引擎
不支持事务,行锁和外键,数据操作不如innoDB安全,但是存储的速度快
2.innoDB
mySQL5.5之后默认的存储引擎
支持事务,行锁和外键,对数据的操作非常的安全,但存储的速度较慢
3.momory
数据存在于内存,存储速度最快,但断电则丢失数据
4.blackhole
数据下入进去就会丢失,类似于回收站
存储引擎创建表的不同点
create table t1(id int) engine=myisam create table t2(id int) engine= innodb; create table t3(id int) engine= memory; create table t4(id int) engine =blackhole;
""" MYsql会创建三个文件夹 .frm 表结构文件 .MYD 表数据文件 .myi 表索引文件 InnoDB会创建两个文件 .frm 表结构文件 .ibd 表数据和表索引文件 memory .frm 表结构文件 blackhole .frm 表结构文件 """
数据库的字符类型
1整型
- tinyint
- smallint
- int
- bigint
tinyint smallint int bigint 不同的int类型能够存储的数字范围是不一样的 1、要注意是否存在正负数(正负号需要i占一个比特位) 2、针对手机号码只能用 bigint '''研究默认是否需要正负号''' create table t5(id tinyint); insert into t5 values(-999), (999); #结论 :所有的int类型默认都需要正负号 create table t6(id tinyint unsigned); insert into t6 values(-999),(9999);
整型中括号内数字的作用
create table t13(id int(3)); insert into t13 values(4444444); """ 在整型中括号内的数字并不是用来限制存储的长度的 而是用来控制展示的长度的 我们以后在定义整型字段的时候 不需要自己填写数字 使用默认的就好""" create table t14(id int(3) zerofill); insert into t13 values(4); #结论 : 整型比较特殊 是唯一个不是用来限制存储长度的类型
2、浮点型
- float
- double
- decimal
**精确度 ** float< double<decimal
folat double decimal float(255,30) #总共255位,小数占位30位 double(255,30) #总共占位255位,小数占位30位 decimal(65,30) # 总共占位65位,小数占位30 位 """研究三者的不同""" create table t7(id int float(255,30)); create table t8(id double(255,30)); create table t9(id decimal(65,30)); insert into t7 values(1.111111111111111); insert into t8 values(1.122111111111111111111111); insert into t9 values(1.111111111111111);