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...