Mysql学习笔记(三)----浅谈数据库中的类型

1. 数据库中列的类型

在这里插入图片描述
我们平时使用数据库中,最常接触的就是列的属性类型,下面盘一盘他们的区别和应用

数值
在这里插入图片描述

字符串
在这里插入图片描述

时间日期
在这里插入图片描述

null

  • 含义:没有值,表示未知
  • 注意:不要使用null进行运算,因为结果为null
2.数据库中的字段属性

在这里插入图片描述
在声明完相关的列名,数据类型和长度后,有时我们还要设置一些字段属性(如非空等)
[1] 默认:向某一列声明一个默认值
[2] 主键:设置为该表的唯一标识
[3] 非空(null, not null)

  • 假设设置为not null,如果不给它赋值,就会报错
  • null, 如果不填写值,默认就是null

[4] Unsigned

  • 无符号的整数
  • 声明了该列就不能声明为负数

[5] 自增

  • 通常理解为自增,自动在上一条记录的基础上 +1 (默认)
  • 通常用来设计唯一的主键(自增的数据类型必须为整数类型)
  • 可以自定义设计主键自增的起始值和步长

在这里插入图片描述

[6] Zerofill

  • 不足的尾数用0填充 如:声明了int(3), 若值为5则填入的数据为005

相关扩展(标准数据库的规范)

/* 每一个表,都必须存在以下五个字段,表示一个记录存在的意义
	id  主键
	`version`   乐观锁
	is_delete   伪删除
	gmt_create  创建时间
	gmt_update  修改时间
*/
3. 数据表的类型

在这里插入图片描述
我们设计数据库的时候需要设计相关引擎,在这几个引擎中我们最常使用的是 INNODB(默认) 和 MYISAM (早些年使用)
区别:
在这里插入图片描述
两者的优点:
MYISAM: 节省空间,速度较快
INNODB: 安全性高,事务的处理,多表多用户操作

扩展:
[1] 数据库在物理上存储的位置:
所有的数据库文件都存在 mysql 下的data目录下,一个文件对应一个数据库 (本质还是文件存储)
在这里插入图片描述
[2] Mysql引擎在文件上的区别
InnoDB在数据表中只有一个 *.frm(表结构)文件,以及上级目录下的ibdata1(数据)文件
下面以数据库 shop为例
在这里插入图片描述
在这里插入图片描述
MYISAM对应的文件

  • *.frm 表示结构的定义文件
  • *.MYD 数据文件(data)
  • *.MYI 索引我文件 (index)

[3] 设置数据库字符集编码
有下面几种修改方式:
3.1] 可视化界面上
在这里插入图片描述3.2] sql 操作命令行上

CHARSET = utf8

不设置的话,会是mysql默认字符集编码 Latin1(不支持中文)
3.3] 可以直接在 my.ini中配置默认的编码在这里插入图片描述
在其中加入这句

character-set-server=utf8

--------------人生没有白走的路,因为每一步都算数--------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值