MariaDB — 数据类型

Mariadb 的数据类型

MariaDB数据类型可以分为数字,日期和时间以及字符串值。

使用数据类型的原则:够用就行, 尽量使用范围小的,而不用大的

常用的数据类型

  1. 整数:int, bit
  2. 小数:decimal                                     #decimal(5,2)
  3. 字符串:varchar, char                         
  4. 日期时间:date, time, datetime
  5. 枚举类型(enum)

约束

  1. 主键primary key:物理上存储的顺序
  2. 非空not null:此字段不能为空
  3. 唯一unique:此字段不允许重复
  4. 默认default:当不填写此值时会使用默认值,如果填写则已填写为准
  5. 外键foreign key:对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并抛出异常

 

# varchar,与char 的区别

  1. 首先明确的是,char的长度是不可变的,而varchar的长度是可变的,
  2. 定义一个char[10]和varchar[10],如果存进去的是‘abcd’,那么char所占的长度依然为10,除了字符‘abcd’外,后面跟六个空格,而varchar就立马把长度变为4了,取数据的时候,char类型的要用trim()去掉多余的空格,而varchar是不需要的,
  3. char的存取数度还是要比varchar要快得多,因为其长度固定,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据空间,可谓是以空间换取时间效率,而varchar是以空间效率为首位的。
  4. char的存储方式是,对英文字符(ASCII)占用1个字节,对一个汉字占用两个字节;而varchar的存储方式是,对每个英文字符占用2个字节,汉字也占用2个字节,两者的存储数据都非unicode的字符数据。

1> 简单的创建一个表 (注:进入数据库里)

create table clasees;( id tinyint unsigned, name varchar(20));

#查看 show tables;

2>查看 表里有哪些字段

desc clasees;

3>查看表的结构

show create table clasees;

4>创建一个稍微复杂一丢丢的表

创建students表(id, name, age, high, gender, cls_id)create table students(id tinyint unsigned,name varchar(20),age tinyint unsigned,high decimal(5,2),gender enum(,,人妖,中性) default (人妖),cls_id tinyint unsigned);

#

#2查看下

desc students;

 

相关文章