Mariadb 的數據類型
MariaDB數據類型可以分為數字,日期和時間以及字符串值。
使用數據類型的原則:夠用就行, 盡量使用范圍小的,而不用大的
常用的數據類型
- 整數:int, bit
- 小數:decimal #decimal(5,2)
- 字符串:varchar, char
- 日期時間:date, time, datetime
- 枚舉類型(enum)
約束
- 主鍵primary key:物理上存儲的順序
- 非空not null:此字段不能為空
- 唯一unique:此字段不允許重復
- 默認default:當不填寫此值時會使用默認值,如果填寫則已填寫為准
- 外鍵foreign key:對關系字段進行約束,當為關系字段填寫值時,會到關聯的表中查詢此值是否存在,如果存在則填寫成功,如果不存在則填寫失敗並拋出異常
# varchar,與char 的區別
- 首先明確的是,char的長度是不可變的,而varchar的長度是可變的,
- 定義一個char[10]和varchar[10],如果存進去的是‘abcd’,那么char所占的長度依然為10,除了字符‘abcd’外,后面跟六個空格,而varchar就立馬把長度變為4了,取數據的時候,char類型的要用trim()去掉多余的空格,而varchar是不需要的,
- char的存取數度還是要比varchar要快得多,因為其長度固定,方便程序的存儲與查找;但是char也為此付出的是空間的代價,因為其長度固定,所以難免會有多余的空格占位符占據空間,可謂是以空間換取時間效率,而varchar是以空間效率為首位的。
- 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;