码迷,mamicode.com
首页 > 数据库 > 详细

MariaDB -- 数据类型

时间:2019-05-17 00:14:00      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:一个   class   sign   div   int   des   占位符   顺序   数据类型   

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 -- 数据类型

标签:一个   class   sign   div   int   des   占位符   顺序   数据类型   

原文地址:https://www.cnblogs.com/myxxjie/p/10878848.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!