MySQL 常見資料型別

2021-10-14 18:35:49 字數 1842 閱讀 3174

數值型:

整形 tinyint | smallint | mediumint | int、integer | bigint

小數 定點型 dec(m,d) | decinal(m,d)

浮點型 float(m,d) | double(m,d)

字元型 較短的文字 :char | varchar

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

日期型 date | datetime | timestamp | time | year

整形 tinyint | smallint | mediumint | int、integer | bigint

特點1、如果不設定無符號還是有符號,預設是有符號,如果向設定無符號,需要新增unsigned關鍵字

2、如果插入的數值超數了整形的範圍,會包 out od range 異常,並插入臨界值

3、如果不設定長度,會有預設長度(顯示結果的長度,如果輸入的資料不夠,會自動用0填充,

一般不顯示出來,需要我們加上 zerofill關鍵字,且加上此關鍵字後,自動變為無符號)

1、如何設定有符號和無符號(unsigned)
create table tab_int(

t1 int,

t2 int unsigned

);create table tab_int(

t1 int(7),

t2 int(7) zerofill

);

分類:

定點型 dec(m,d) | decinal(m,d)

浮點型 float(m,d) | double(m,d)

特點:1、m 整數部分+ 小數部分的長度

d 小數部分的長度

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

2、m和d都可以省略

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

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

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

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

cerate tab_float(

f1 float(5,2),

f2 double(5,2),

d3 decimal(5,2)

);

分類:

較短的文字 :char(m) | varchar(m) | binary | varbinary | enum | set

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

特點:【面試題】

1、m:最多存放的字元數

char 的 m 可以省略,預設為1

varchar 的 m 不可以省略

2、char是靜態的,固定長度的字元,效率高,耗費空間

varchar是動態的,可變長度的字元,效率低,節省空間

特點

1、datetime 不受時區影響

timestamp 受時區影響

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'

MYSQL 常見資料型別

一 數值整形型別 型別位元組 最小值最大值 帶符號 無符號 帶符號 無符號 tinyint 1 1位元組 8 bit 128 1270 2 8 256 轉為二進位制,包括0 smallint 2 2 8 bit 32768 32767 02 2 8 65535 mediumiint 3 3 8 bi...

Mysql常見資料型別

資料型別 儲存範圍 位元組tinyint 有符號值 128到127 2 7到2 7 1 1smallint 有符號值 32768到32767 2 15到2 15 1 2mediumint 有符號值 8388608到8388607 2 23到2 23 1 3int 有符號值 2147483648到21...

MySQL常見資料型別

常見資料型別 數值型 整型 小數 定點數浮點數 字元型 較短的文字 char varchar 較長的文字 text blob 較長的二進位制資料 日期型 一 整型 整數型別 位元組 範圍 tinyint 1 smallint 2 mediumint 3 int integer 4 bigint 8 ...