mySQL数据库之存储引擎&数据类型&约束条件

内容概要

  •   存储引擎
  •   数据库的字符类型
  1.           整型
  2.     浮点型
  3.     字符类型
  4.     日期类型
  5.     枚举和集合类型
  •   创建表的完整格式
  •   约束条件
  1.     unsigned
  2.     zerofill
  3.     not  null
  4.     unique
  5.     primary key
  6.     zuto_increment

 

内容详情

存储引擎

简介: 存储引擎可以看作是处理数据的不同方式

查看存储引擎的命令: show  engines;

mySQL数据库之存储引擎&数据类型&约束条件

 

 

四种存储引擎:

  1. 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       表结构文件
"""

mySQL数据库之存储引擎&数据类型&约束条件

 

 

数据库的字符类型

 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);


#结论 : 整型比较特殊   是唯一个不是用来限制存储长度的类型

 

mySQL数据库之存储引擎&数据类型&约束条件

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);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

       

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mySQL数据库之存储引擎&数据类型&约束条件

 

上一篇:Python sqlalchema create_engine 中特殊字符的处理


下一篇:Shell常用命令之iftop