mysql資料型別

2021-09-23 02:01:38 字數 3845 閱讀 3465

1、整型(均預設signed,按需要手動unsigned)

1、int 大整型(4個位元組)

取值範圍:-2**31 ~ 2**31 - 1(42億多)

2、tinyint 微小整型(1個位元組)

1、有符號(signed 預設):-128 ~ 127

eg:money tinyint

2、無符號(unsigned): 0 ~ 255

eg:age tinyint unsigned

3、smallint 小整型(2個位元組)

4、bigint 極大整型(8個位元組)

2、浮點型

1、float(4個位元組,最多顯示7個有效位(整數加小數))

1、用法:

欄位名 float(m,n) m->總位數 n->小數字位數

float(7,2)取值範圍:-99999.99~99999.99

2、decimal(最多顯示28個有效位)

1、用法:

欄位名 decimal(m,n) m->總位數 n->小數字位數

2、儲存空間(整數、小數分開儲存)

規則:將9的倍數包裝成4個位元組

餘數 位元組

0 0

1-2 1

3-4 2

5-6 3

7-9 4

示例:decimal(19,9)

整數部分:10/9=商1餘1 4+1 = 5個位元組

小數部分:9/9 =商1餘0 4+0 = 4個位元組

佔:9個位元組

注意: 1、浮點型插入整數時會自動補全小數字位數

2、小數字多餘指定的位數,會對下一位進行四捨五入

練習:

insert into stuinfo values(0,"張飛",23,182.66,80000);

select * from stuinfo;

insert into stuinfo(id,name) values(1,"劉備"),(2,"關羽");

select id,name from stuinfo;

1、char(定長)

1、寬度取值範圍:1 ~ 255 (預設為1)

2、varchar(變長)

1、取值範圍:1 ~ 65535

3、text / longtext(4g) / blob / longblob(4g)

4、char和varchar的特點

1、char:浪費儲存空間,效能高

2、varchar:節省儲存空間,效能低

注意:char可以不指定寬度,預設為1,eg:*** char

varchar必須指定寬度,否則不通過。eg:*** varchar(5)

練習:

1、mysql中資料型別有:數值型別 字元型別 列舉型別 日期時間型別

2、關係型資料庫中的核心內容是 _關係_ 即 _二維表_

3、簡述客戶端把資料儲存到資料庫伺服器上的過程

4、char和varchar的區別,各自的特點

5、操作

1、建立乙個學校的庫 school

2、在庫中建立表students用來儲存學生資訊:

id 大整數,姓名,年齡(不能為負),性別,成績(浮點)

3、檢視students的表結構

4、在表中隨意插入3條記錄

5、在表中的姓名、成績兩個字段插入3條記錄

6、檢視所有學生的姓名和成績

7、檢視成績及格(>60分)的學生的姓名和成績

1、數值型別寬度為顯示寬度,只用於select查詢顯示,和占用儲存

無關(均是4個位元組),可用zerofill(0填充)檢視效果

2、字元型別的寬度超過之後則無法儲存

1、單選(enum):欄位名 enum(值1,值2,.....)

2、多選(set) : 欄位名 set(值1,值2,...)

##插入記錄時: "f,study,python"

eg: create table t1(

id int(3) zerofill,

name varchar(15),

*** enum("m","f","secret"),

likes set("f","m","study","python")

);insert into t1(likes) values("python,f,m")

insert into t1(***) values("f")

1、date:"yyyy-mm-dd"

2、time:"hh:mm:ss"

3、datetime:"yyyy-mm-dd hh:mm:ss"

4、timestamp:"yyyy-mm-dd hh:mm:ss"

5、注意:

datetime:不給值預設返回null值

timestamp:不給值預設返回系統當前時間

eg: create table t1(

id int,

name varchar(15),

birthday date,

money int,

time datetime

);

1、now()		返回伺服器當前時間

2、curdate() 返回當前日期

3、curtime() 返回當前時間

4、year(date) 返回指定時間的年份

5、date(date) 返回指定時間的日期

6、time(date) 返回指定日期的時間

eg: select now();

select curdate();

select curtime(); 返回當前時分秒

select year("2018-9-20 00:00:00") select year(now());

select date(now());

#查詢2023年7月2日使用者充值了多少錢

select name,money,time from date(time) = "2018-07-02"

或select name,money,time from date(time) = 20180702

1、語法形式

select * from 表名

where 欄位名 運算子 (時間 - interval 時間間隔單位);

時間間隔單位:

1 day | 2 hour | 1 minute | 2 year | 3 month

2、練習

1、查詢一天以內的記錄

select * from t1

where time > (now() - interval 1 day);

mysql資料型別用法 mysql資料型別和用法

歡迎進入linux社群論壇,與200萬技術人員互動交流 進入 mysql支援多種列型別 數值型別 日期 時間型別和字串 字元 型別。本章首先對這些列型別進行了概述,然後更加詳細地描述了各種列的型別,以及列型別儲存需求的總結。概述很簡單。關於具體列型別 歡迎進入linux社群論壇,與200萬技術人員互...

mysql 資料型別 真假 MySQL 資料型別

mysql基礎 資料型別 整型型別 根據所儲存的整數數值取值範圍不同,可分為以下五類 1 tinyint佔1個位元組 2 smallint佔2個位元組 3 mediumint 佔3個位元組 4 int佔4個位元組 5 bigint佔8個位元組 根據每種型別所佔的位元組數可確定其無符號整數和有符號整數...

mysql 郵箱 資料型別 mysql 資料型別

1 整型mysql資料型別含義 有符號 tinyint m 1個位元組 範圍 128 127 smallint m 2個位元組 範圍 32768 32767 mediumint m 3個位元組 範圍 8388608 8388607 int m 4個位元組 範圍 2147483648 21474836...