/*
數值型:
整型 小數:
定點數浮點數
字元型:
較短的文字: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 佔八個位元組 ...