mysql修飾 mysql之資料型別和修飾屬性

2021-10-17 12:30:35 字數 2323 閱讀 6676

資料型別的作用:

1.指定值的型別

2.指定占用的空間

3.指定了是定長(fixed-length)還是變長(variable-length)

4.mysql如何比較和排序值的型別

5.定義的型別是否能被建立索引

資料型別:

字元char(length)   以字元格式存放,不區分大小寫,定長。最大255位元組。

varchar(length) 變長。最大65535個位元組 。但是會額外占用1(255個字元以內)或2(超出255個字元)個位元組,額外占用的是結束符。

binary(length) 以二級制格式存放,區分大小寫,定長。最大255位元組。

varbinary(length) 變長。最大65532位元組。額外開銷1或2個位元組。

blob(length) 二進位製大物件。區分大小寫,最大64k,2個位元組的額外開銷

tinyblob 最大255個位元組,1個位元組的額外開銷

mediunmblob  最大16m,3個位元組的額外開銷

longbliob 最大4g,4個位元組的額外開銷

text(length) 文字格式。不區分大小寫

tinytext

mediumtext

longtext

enum 列舉,給定一些值,取值的範圍必須是這些值當中的1個。最多可以給65535個值。即有65535個選擇。

set 集合,給定一些值,取值的範圍必須是這些值當中的0個或多個,可以隨意組合,但是不能超出。最多給給64個值。儲存的方式為儲存值的索引。而不是值本身。

例如:rrtype char(5)

a,ptr,cname,aaaa,mx,ns,soa,srv

rrtype enum(『a『,『mx『)

例如:集合的儲存是值的索引而不是值本身。

set(a,b,c)

a 100

ac 101

bc 011

修飾屬性:

not null 不為空

null 為空,預設

default cahr和varchar特有,預設值

character set 字符集

collation 排序規則,欄位從表繼承,表從資料庫繼承,庫從預設配置繼承。

數值精確數值

整形tinyint 1個位元組

smallint 2個位元組

mediuminit 3個位元組

int 4個位元組

bigint 8個位元組

修飾屬性:

auto_increment 自動增長。在字段中插入新資料的時候自動生成資料序列,完成資料增長。增長的步長可以自定義。預設從1開始,步長為1。使用select last_insert_id()函式可以顯示最近一次的值。

定義欄位為auto_increment的要求:

1.欄位必須為整數型別。

2.只能包含正數,不能包含負數,只能定義為unsigned

3.必須定義為primary key或者unique index

4.必須定義為not null

例如:mysql>create table test (id int unsigned auto_increment not null primary key,name char(20))

mysql>select last_insert_id()

unsigned 無符號 只有正數和0。

not null非空

decimal 精確定點數,總長度和精度都是固定的。如1.11等

numeric 精確定點數。

bit 按位儲存

近似數值

浮點型float(length,num) 單精度 4個位元組

double(length,num) 雙精度 8個位元組

注意:length表示數值長度,num表示小數字個數,例如float(7,3)表示總長為7,小數字為3,例如1234.567。

修飾屬性:

not null

null

default

zerofill 多餘位用0填充

unsigned

日期時間

date 日期 yyyy-mm-dd 3個位元組

time 時間 hh:mm:ss 3個位元組

datetime 日期時間 yyyy-mm-dd hh:mm:ss 8個位元組

timestamp 時間戳 yyyy-mm-dd hh:mm:ss,是從1970-01-01到現在的秒數轉換的。4個位元組

year 年 yyyy或yy 1個位元組

修飾屬性:

not null

null

default

布林boolean或bool

原文:

mysql修飾 Mysql欄位修飾符(約束)

1 null和not null not null不可以插入null,但可以插入空值。數值型 字元型 日期型都可以插入null,但只有字元型可以插入空值。使用方法如下 mysql create database test db query ok,1 row affected 0.00 sec mysq...

mysql 修飾語句 mysql語句

mqsql基本操作 查詢 1 select from 表名稱 select from finance risk.white user info where ssoid 2000051590 and white level l0000 2 select distinct 列名稱 from 表名稱 se...

mysql中修飾符 Mysql欄位修飾符(約束)

1 null和not null not null不可以插入null,但可以插入空值。數值型 字元型 日期型都可以插入null,但只有字元型可以插入空值。使用方法如下 mysql create database test db query ok,1 row affected 0.00 sec mysq...