MariaDB -- 数据类型

Posted myxxjie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

技术图片

 

以上是关于MariaDB -- 数据类型的主要内容,如果未能解决你的问题,请参考以下文章

Mariadb数据类型

MariaDB -- 数据类型

MariaDB数据库

‘’数据库基础MariaDB服务部署库表基本管理数据类型‘’经典案例

mariadb 2

MySQL 或 MariaDB 是不是有任何类型的内存数据库?