数据库03——类型

数据库03——类型

一,存储引擎

# 就是存储数据的方式

# 如何查看存储引擎?  都有哪些存储引擎?
	show engines;
    
MyISAM:
	mysql5.5版本及之前的版本默认引擎
    查询速度比InnoDB快, 安全性低
	# 不支持事务
    # 表级锁
InnoDB
	mysql5.6及之后的版本默认引擎
    查询速度比MyISAM慢, 安全性高
    
    # 功能:
    	1. 支持事务
        2. 行级锁
        3. 外键
MEMORY  => 内存
	# 数据是在内存中
    

# 特点
	create table t2 (id int) engine='MyISAM';
    create table t3 (id int) engine='InnoDB';
    create table t4 (id int) engine='MEMORY';
    
MyISAM
	.frm  =>  表结构
    .MYD  =>   表数据
    .MYI  =>   索引(目录)优点:查询速度快

InnoDB
	.frm  => 表结构
    .ibd  => 表数据和索引

MEMORY
	.frm  => 表结构

二,数据类型之整形

tinyint smallint int bigint
#他们之间的区别就是存储数据的范围不一样

#验证整形默认是否带符号
	create table t6 (id tinyint);
    insert into t6 values(-129),(256);
    
 # 结论:所有的整型默认都是带符号的。   

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pXmeyCy8-1627393848264)(%E6%95%B0%E6%8D%AE%E5%BA%9303%E2%80%94%E2%80%94%E7%B1%BB%E5%9E%8B.assets/image-20210727184925572.png)]

三,数据类型之 浮点型

 float double decimal
    
 #float(8,2) 999999.99
  float(255,30)
     总共255位,小数30位
  double(255,30)
 	总共255位,小数30位
  devimal(60,30)
 	总共位60,小数30位
    
    
create table t6(id float(255,30));
create table  t7 ( id doble(255,30));
create table t8 (id decimal(60,30));

insert into t6 values(1.1111111111111111111);
insert into t7 values(1.1111111111111111111);
insert into t8 values(1.1111111111111111111);

#精确度不一样
 decimal > double> float
    
   

设计表注意:
	1、 表结构中的数据类型
    2、 该表中上线值后可能会产生多少数据量
 

四,数据类型之字符串

#两种字符串括号中的数字必须写,代表存储字符串的长度
char(4)  
存储4位,不够的空格 补习4位 , 超过4位的报错
#优点
	查询速度快,整存整取
#缺点
	浪费空间
   
varchar(4)
存储4位,有几位存几位,超过的报错
 #优点
    节省空间
 #缺点
	 查询速度比char 慢
  
 char(4)  varchar(4)
    pack(2)=>1 pack(10)=>1
  unpack(1)=>2  unpack(1)=>10
1byteskevin1bytesegon1bytesjasonlytom

#验证
 create table t10 values(1,'eva');
 create into t9 values(1,'eva');

五, 数据类型之日期类型

datetime  
date
time
year

######
create  table t12(id int, r1_time datetime, r2_time date, r3_time time ,r4_time year);

#####
insert into t12 values(1, '2021-07-27  11:11:11', '2021-07-27', '11:11:11', '2021')

六,数据类型之枚举

#枚举 多选一
 create table t13(
 id int,
 gender enum('male', 'female','lm')
 )
insert into t13 values (1, 'egon');   ×
insert into t13 values (1, 'male');

七,数据类型之集合类型

#集合
 creater table t14(
 id int,
     hobby set('read', 'music','footabll','lm')
 )
    # 
    insert into t14 values(1, 'egon');  	    ×
    insert into t14 values(1, 'read');   		√
    insert into t14 values(1, 'read, music'); 	×
    insert into t14 values(1, 'read, egon');  	×

创建表的完整语句

create table 表名 (
	字段名  数据类型(长度) 约束条件1 约束条件2 约束条件3,
	字段名  数据类型(长度) 约束条件1 约束条件2 约束条件3,
    字段名  数据类型(长度) 约束条件1 约束条件2 约束条件3,
    字段名  数据类型(长度) 约束条件1 约束条件2 约束条件3
)

# 注意:
	1. 表中字段名和数据类型是必填项, 约束条件是可选的
    2. 约束条件可以有多个,依次往下写
    3. SQL语句的最后一个不能加逗号(,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值