mysql 存取浮点型_MySQL学习2——存储引擎、整型、浮点型和字符类型

### 1.MySQL存储引擎

- innodb: 默认存储引擎

- myisam: MySQL老版本在用的存储引擎

- blackhole: 存任何数据,都会立即消失,相当于经过队列,数据取出就消失了

- memory: 内存引擎(数据存放在内存中)

## 2、创建表的完整语法

```mysql

create table 表名(

字段名1 字段类型(宽度) 约束条件,

字段名2 字段类型(宽度) 约束条件,

);

'''

# 约束条件: 用于约束在插入数据时,某个字段的限制

# 指定插入的id值不能为空

id int not null,

# 指定插入的name字段值宽度为64,且不能为空

name varchar(64) not null

# 注意

# 1.字段名 与 字段类型 都是必须的,宽度和约束条件可选

# 2.同一张表中字段名不能重复

# 3.最后字段后面不能加逗号

总结: 类型与约束条件区别

类型: 限制字段必须以什么样的数据类型存储

约束条件: 约束条件是在类型之外添加一种额外的限制

## 3、MySQL基本数据类型

- 典型存储范围介绍:

https://images2017.cnblogs.com/blog/1036857/201708/1036857-20170801181433755-146301178.png

- -设置严格模式

# 查看数据库配置中变量名包含mode的配置参数:

show variables like "%mode%";

# 修改完之后退出当前客户端重新登录即可

set global sql_mode = 'STRICT_TRANS_TABLES';

### 1)整型

# TINYINT

01) 默认有正负符号限制:

create table t2(id TINYINT);

# 超出限制, 在安全模式下 插不进去, 会报错

# 非安全模式下,就会以默认的返回存最大的值

# 默认范围是(-128, 127)

02) 无正制: 约束条件 unsigne

create table t3(number tinyint unsigned);

# 安全模式情况下负数或超出限制会报错

# INT

# int默认最大展示的位数是11位

# 默认范围是(-2147483648, 2147483647)

# 超出默认范围, 报错

# int(8)不是限制长度,而是控制展示数据的位数,8位以内以空格补全,超出则正常显示。

# 指定宽度为8,插入的数据长度原封不动展示

# 若插入的宽度小于8,则用空格补全

# zerofill: 若插入的值宽度不够,则用0补全的约束

总结:

- 注意1:

- not null: 字段值不能为空

- unsigned: 无正负符号

- zerofill: 用0填充空格

### 2)浮点型

# 存储限制:

- float(255, 30)

- double(255, 30)

- decimal(65, 30)

注意: 字段限制特点(5,3)前一位表示所有的位数,后一位表示小数个数。

### 3)字符类型

# char: 定长

# 定长指的是,事先就设定好的了存储的固定长度;

# 比如实现准备的char长度为4,若插入数据时长度为1,最后存的值也是4,不够的值用空格不全,存入数据库中;

# 超出四个字符报错,不够四个字符空格补全

# 注意: 无法查看字符真实长度

# 针对char类型,mysql在存储时会将数据用空格补全存放到硬盘中。但是会在读出结果的时候自动去掉末尾的空格。

# varchar: 不定长

# 超出4个字符报错,不够四个有几个存几个

# char与varchar比较

- char: 在一些固定长度的值中使用

- 1.缺点: 浪费空间

- 2.优点: 存取速度快

- varchar: 在一些不固定长度的值中使用

- 1.节省空间

- 2.存取速度慢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值