DDL資料型別

2021-10-03 10:51:20 字數 3638 閱讀 3661

/*

數值型:

整型 小數:

定點數浮點數

字元型:

較短的文字:char、varchar

較長的文字:text、blob(較長的二進位制資料)

日期型*/

/*

分類: tinyint、smallint、mediumint、int/integer、bigint

所佔位元組 1 2 3 4 8

特點:① 如果不設定無符號還是有符號,【預設是有符號】,如果想設定無符號,需要新增unsigned關鍵字

② 如果插入的數值超出了整型的範圍,會報out of range異常,並且插入臨界值

③ 如果不設定長度,會有預設的長度

長度代表了【顯示】的最大寬度,如果不夠會用0在左邊填充,但必須搭配zerofill使用!

*/

drop

table

ifexists tab_int;

create

table tab_int(

t1 int(7

) zerofill,

t2 int(7

) zerofill );

desc tab_int;

insert

into tab_int values(-

123456);

insert

into tab_int values(-

123456,-

123456);

insert

into tab_int values

(2147483648

,4294967296);

insert

into tab_int values

(123

,123);

select

*from tab_int;

/*

分類: 1.浮點型

float(m,d)

double(m,d)

2.定點型

dec(m,d)

decimal(m,d)

特點:①

m:整數部位+小數部位

d:小數部位

如果超過範圍,則插入臨界值

② m和d都可以省略

如果是decimal,則m預設為10,d預設為0

如果是float和double,則會根據插入的數值的精度來決定精度

③定點型的精確度較高,如果要求插入數值的精度較高如貨幣運算等則考慮使用

*/

drop

table tab_float;

create

table tab_float(

f1 float

,#(5,2)

f2 double

, f3 decimal);

select

*from tab_float;

desc tab_float;

insert

into tab_float values

(123.4523

,123.4523

,123.4523);

insert

into tab_float values

(123.456

,123.456

,123.456);

insert

into tab_float values

(123.4

,123.4

,123.4);

insert

into tab_float values

(1523.4

,1523.4

,1523.4

);

所選擇的型別越簡單越好,能儲存數值的型越小越好

/*

較短的文字:

char

varchar

其他: binary和varbinary用於儲存較短的二進位制

enum用於儲存列舉

set用於儲存集合

較長的文字:

text

blob(較大的二進位制)

特點: 寫法 m的意思 特點 空間的耗費 效率

char char(m) 最大的字元數,可以省略,預設為1 固定長度的字元 比較耗費 高

varchar varchar(m) 最大的字元數,不可以省略 可變長度的字元 比較節省 低

*/

create

table tab_char(

c1 enum

('a'

,'b'

,'c'))

;insert

into tab_char values

('a');

insert

into tab_char values

('b');

insert

into tab_char values

('c');

insert

into tab_char values

('m');

insert

into tab_char values

('a');

select

*from tab_char;

create

table tab_set(

s1 set

('a'

,'b'

,'c'

,'d'))

;insert

into tab_set values

('a');

insert

into tab_set values

('a,b');

insert

into tab_set values

('a,c,d');

select

*from tab_set;

/*

分類: date 儲存日期

time 只儲存時間

year 只儲存年

datetime 儲存日期+時間

timestamp 儲存日期+時間

特點: 位元組 範圍 時區等的影響

datetime 8 1000——9999 不受

timestamp 4 1970-2038 受

*/

create

table tab_date(

t1 datetime

, t2 timestamp);

insert

into tab_date values

(now()

,now()

);select

*from tab_date;

show variables like

'time_zone'

;set time_zone=

'+9:00'

;

DDL語言之常見的資料型別

數值型 1 整型 tinyint 1 smallint 2 mediumint 3 int integer 4 bigint 8 特點 特點 字元型 較短的文字 char m,可以省略,預設1 varchar m 較長的文字 text.blob 較長的二進位制資料 m表示字元的長度 char是固定長...

二 SQL資料型別與資料定義語句DDL

在 mysql 中,有三種主要的型別 text 文字 number 數字 和 date time 日期 時間 型別 text 型別 number 型別 date型別 ddl data definition language 資料定義語言,用於描述資料庫中要儲存的現實世界實體的語言。主要由create...

資料型別基礎資料型別

資料型別 基礎型別 除八大基礎型別其他的都是引用型資料型別 引用資料型別 基礎資料型別 整型 byte 佔乙個位元組,範圍 128 127 short 佔兩個位元組,範圍 32768 32767 int 最常用 佔四個位元組,範圍 2147483648 2147483647 long 佔八個位元組 ...