MySQL中的 資料型別 mysql中的資料型別

2021-10-18 21:50:51 字數 2836 閱讀 7228

#常見的資料型別

數值型:

整型小數:

定點數浮點數

字元型:

較短的文字:char、varchar

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

日期型:

#一、整型

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

1 2348

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

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

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

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

#1.如何設定無符號和有符號

drop table if exists 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,則會根據插入的數值的精度來決定精度

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

#測試m和d

drop table tab_float;

create table tab_float(

f1 float,

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的意思特點空間的耗費效率

charchar(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_set;

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『);

#四、日期型

分類:date只儲存日期

time 只儲存時間

year只儲存年

datetime儲存日期+時間

timestamp儲存日期+時間

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

datetime 81000——9999 不受

timestamp4 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『;

mysql中的資料型別

標籤:原則   show   新增   lin   位元組   數值   有符號   har   from

mysq中的l資料型別

1 數值型別 整型和小數 例如 int 3 數字僅用於顯示,不顯示資料真正的範圍 float 和 double 屬於浮點,沒有小數字數的說法,精度差,主要體現在自動進行四捨五入的顯示,decimal 字串 unsigned 屬性把資料範圍擴大了一倍 2 字元型別 字元 blob text enum ...

Mysq資料庫中基本資料型別

1.mysql整型資料型別 型別名稱 說明儲存需求 tinyint 很小的整數 1個位元組 smallint 小的整數 2個位元組 mediumint 中型的整數 3個位元組 int integeter 普通大小的整數 4個位元組 bigint 很大的整數 8個位元組 2.日期和時間型別 型別名稱 ...

MYSQL中的資料型別

mysql支援大量的列型別,它可以被分為3類 數字型別 日期和時間型別以及字串 字元 型別。本節首先給出可用型別的乙個概述,並且總結每個 列型別的儲存需求,然後提供每個類中的型別性質的更詳細的描述。概述有意簡化,更詳細的說明應該考慮到有關特定列型別的附加資訊,例如你能為其指定值的允 許格式。由mys...