新聞中心
MySQL是一種流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由于其開(kāi)源、易用和可靠性,已成為很多企業(yè)和網(wǎng)站的首選數(shù)據(jù)庫(kù)。然而,對(duì)于初學(xué)者來(lái)說(shuō),MySQL的各種數(shù)據(jù)類型可能令人困惑。因此,本文將詳細(xì)介紹MySQL中的各種數(shù)據(jù)類型,包括數(shù)值類型、日期和時(shí)間類型、字符串類型、二進(jìn)制類型和其他類型,幫助開(kāi)發(fā)人員更好地理解和使用MySQL。

一、數(shù)值類型
1.整型(int、tinyint、allint、mediumint和bigint):整型包括有符號(hào)和無(wú)符號(hào)兩種,可以存儲(chǔ)整數(shù)數(shù)據(jù)。其中int類型表示范圍最廣,tinyint類型表示范圍最小。
2.浮點(diǎn)型(float和double):浮點(diǎn)型用于存儲(chǔ)近似值。float類型占用4個(gè)字節(jié)的存儲(chǔ)空間,而double類型占用8個(gè)字節(jié)的存儲(chǔ)空間。
3.定點(diǎn)型(decimal):定點(diǎn)型用于存儲(chǔ)精確的十進(jìn)制數(shù)字。可以使用指定長(zhǎng)度和小數(shù)位數(shù)來(lái)定義decimal類型。
二、日期和時(shí)間類型
1.DATE:用于存儲(chǔ)日期(年、月、日)。
2.TIME:用于存儲(chǔ)時(shí)間(時(shí)、分、秒)。
3.DATETIME:用于存儲(chǔ)日期和時(shí)間。
4.TIMESTAMP:用于存儲(chǔ)日期和時(shí)間,與DATETIME相似,但范圍比DATETIME更小。
三、字符串類型
1.CHAR和VARCHAR:這兩種類型用于存儲(chǔ)字符數(shù)據(jù)。CHAR類型占用固定長(zhǎng)度的存儲(chǔ)空間,而VARCHAR類型使用變長(zhǎng)存儲(chǔ)空間。
2.TEXT:用于存儲(chǔ)大量文本數(shù)據(jù),例如文章、博客或評(píng)論。
3.BLOB:用于存儲(chǔ)二進(jìn)制數(shù)據(jù),例如圖片或文件。
四、二進(jìn)制類型
1.BINARY和VARBINARY:這兩種類型用于存儲(chǔ)二進(jìn)制數(shù)據(jù),BINARY占用固定長(zhǎng)度的存儲(chǔ)空間,而VARBINARY使用變長(zhǎng)存儲(chǔ)空間。
2.BLOB:用于存儲(chǔ)二進(jìn)制數(shù)據(jù),包括大型文本和二進(jìn)制數(shù)據(jù)。
五、其他類型
1.ENUM:用于存儲(chǔ)預(yù)定義的一組字符串中的一個(gè)值。
2.SET:用于存儲(chǔ)預(yù)定義的一組字符串中的一個(gè)或多個(gè)值。
3.ON:用于存儲(chǔ)和查詢ON格式的數(shù)據(jù)。
除以上類型外,MySQL還有一些其他數(shù)據(jù)類型,例如空間數(shù)據(jù)類型(geometry、point和polygon)和位數(shù)據(jù)類型(bit),根據(jù)需要選擇能用最少的存儲(chǔ)空間來(lái)存儲(chǔ)數(shù)據(jù)。
MySQL擁有眾多的數(shù)據(jù)類型,開(kāi)發(fā)人員只需要根據(jù)實(shí)際需求來(lái)選擇合適的類型,既能保證數(shù)據(jù)存儲(chǔ)的正確性和完整性,又能提高數(shù)據(jù)存取的效率。希望本文能對(duì)初學(xué)者或需要用到MySQL的開(kāi)發(fā)者實(shí)用。
相關(guān)問(wèn)題拓展閱讀:
- 誰(shuí)能給我說(shuō)說(shuō)mysql數(shù)據(jù)庫(kù)中的數(shù)據(jù)類型嗎?要詳細(xì)點(diǎn)的。
- 怎么使用Mysql Workbench 查詢mysql數(shù)據(jù)庫(kù)
誰(shuí)能給我說(shuō)說(shuō)mysql數(shù)據(jù)庫(kù)中的數(shù)據(jù)類型嗎?要詳細(xì)點(diǎn)的。
一般初學(xué)者都容易把MYSQL數(shù)據(jù)庫(kù)的一些數(shù)據(jù)類型搞混,下面是它的基本的數(shù)據(jù)類型:
(1)數(shù)值型
數(shù)值是諸如32 或153.4 這樣的值。MySQL 支持科學(xué)表示法,科學(xué)表示法由整數(shù)或浮點(diǎn)數(shù)后跟“e”或“E”、一個(gè)符號(hào)(“+”或“襲巖衫-”)和一個(gè)整數(shù)指數(shù)來(lái)表示。1.24E+12 和23.47e-1 都是合法的科學(xué)表示法表示的數(shù)。而1.24E12 不是合法的,因?yàn)橹笖?shù)前的符號(hào)未給出。
浮點(diǎn)數(shù)由整數(shù)部分、一個(gè)小數(shù)點(diǎn)和小數(shù)部分組成。整數(shù)部分和小數(shù)部分可以分別為空,但不能同時(shí)為空。
數(shù)值前可放一個(gè)負(fù)號(hào)“-”以表示負(fù)值。
(2)字符(串)型
字符型(也叫字符串型,簡(jiǎn)稱串)是諸如“Hello, world!”或“一個(gè)饅頭引起的血案”這樣的值,或者是號(hào)碼這樣的值。既可用單引號(hào)也可用雙引號(hào)將串值括起來(lái)。拍腔
(3)日期和時(shí)間型
日期和時(shí)間是一些諸如“”或“12:30:43”這樣的值。MySQL還支持日期/時(shí)間的組合,如“:30:43”。
(4)NULL值
NULL表示未知值。比如填寫表格中通訊地址不清楚留空不填寫,這就是NULL值。
這是最常見(jiàn)和常用的,希望對(duì)你有所幫棗哪助。
怎么使用Mysql Workbench 查詢mysql數(shù)據(jù)庫(kù)
有兩種方法,一種方法使用mysql的check table和repair table 的sql語(yǔ)句,另一種方法是使用MySQL提供的多個(gè)myisamchk, isamchk數(shù)據(jù)檢測(cè)恢復(fù)工具。前者使用起來(lái)比較簡(jiǎn)便。推薦使用。
1. check table 和 repair table
登陸mysql 終端:
mysql -uxxxxx -p dbname
check table tabTest;
如果出現(xiàn)的結(jié)果說(shuō)Status是OK,則不用修復(fù),如果有Error,可以用:
repair table tabTest;
進(jìn)行修復(fù),修復(fù)之后可以在用check table命令來(lái)進(jìn)行檢查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。
2. myisamchk, isamchk
其中myisamchk適用于MYISAM類型的數(shù)棗絕據(jù)表,而isamchk適用于ISAM類型的數(shù)據(jù)表。這兩條命令的主要參數(shù)相同,一般新的系統(tǒng)都使用MYISAM作為缺省的數(shù)據(jù)表類型,這里以myisamchk為例子進(jìn)行說(shuō)明。當(dāng)發(fā)現(xiàn)某個(gè)數(shù)據(jù)表出現(xiàn)問(wèn)題時(shí)可以使用:
myisamchk tablename.MYI
進(jìn)行檢測(cè),如果需要修復(fù)的話,凳粗姿可以使用:
myisamchk -of tablename.MYI
關(guān)于myisamchk的詳細(xì)參數(shù)說(shuō)明,可以參見(jiàn)它的使用幫助。需要注意的時(shí)在進(jìn)行修改時(shí)必須確保MySQL服務(wù)器沒(méi)有訪問(wèn)這個(gè)數(shù)據(jù)表,保險(xiǎn)的情況下是更好在進(jìn)行檢測(cè)時(shí)把MySQL服務(wù)器Shutdown掉。
-----------------------------
另外可以把下面的命令放在你的rc.local里面啟動(dòng)MySQL服務(wù)器前:
&& /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI
其中的/tmp/mysql.sock是MySQL監(jiān)聽(tīng)的Sock文件位置,對(duì)于使用RPM安裝的用戶應(yīng)該是/var/lib/mysql/mysql.sock,對(duì)于使用源碼安裝則是/tmp/mysql.sock可以根據(jù)自己凳慎的實(shí)際情況進(jìn)行變更,而pathtochk則是myisamchk所在的位置,DATA_DIR是你的MySQL數(shù)據(jù)庫(kù)存放的位置。
需要注意的時(shí),如果你打算把這條命令放在你的rc.local里面,必須確認(rèn)在執(zhí)行這條指令時(shí)MySQL服務(wù)器必須沒(méi)有啟動(dòng)!檢測(cè)修復(fù)所有數(shù)據(jù)庫(kù)(表)
TABLE 語(yǔ)句
具體語(yǔ)法:TABLE table_name >
其實(shí)從語(yǔ)法上看,可以排序,也可以過(guò)濾記錄集,不咐槐過(guò)比較簡(jiǎn)單,沒(méi)有 SELECT 那么強(qiáng)大。
示例 1
簡(jiǎn)單的建一張很小的表 y1,記錄數(shù)為 10 條。表 t1,插入 10 條記做攜錄
mysql-(ytt/3305)->create table t1 (r1 int,r2 int);
Query OK, 0 rows affected (0.02 sec)
mysql-(ytt/3305)->insert into t1
with recursive aa(a,b) as (
select 1,1
union all
select a+1,ceil(rand()*20) from aa where a select * from t1;+——+——+| r1 | r2 |+——+——+| 1 | 1 || 2 | 9 || 3 | 9 || 4 | 17 || 5 | 17 || 6 | 16 || 7 | 6 || 8 | 衡胡友1 || 9 | 10 || 10 | 3 |+——+——+10 rows in set (0.00 sec)
TABLE 結(jié)果mysql-(ytt/3305)->table t1;+——+——+| r1 | r2 |+——+——+| 1 | 1 || 2 | 9 || 3 | 9 || 4 | 17 || 5 | 17 || 6 | 16 || 7 | 6 || 8 | 1 || 9 | 10 || 10 | 3 |+——+——+10 rows in set (0.00 sec)
看下 table 的執(zhí)行計(jì)劃mysql-(ytt/3305)->explain table t1 order by r1 limit 2\G*************************** 1. row ***************************id: 1 select_type: SIMPLEtable: t1 partitions: NULLtype: ALLpossible_keys: NULLkey: NULL key_len: NULLref: NULLrows:filtered: 100.Extra: Using filesort1 row in set, 1 warning (0.00 sec)
其實(shí)可以看到 TABLE 內(nèi)部被 MySQL 轉(zhuǎn)換為 SELECT 了。mysql-(ytt/3305)->show warnings\G*************************** 1. row *************************** Level: Note Code: 1003Message: /* select#1 */ select `ytt`.`t1`.`r1` AS `r1`,`ytt`.`t1`.`r2` AS `r2` from `ytt`.`t1` order by `ytt`.`t1`.`r1` limit 21 row in set (0.00 sec)
那其實(shí)從上面簡(jiǎn)單的例子可以看到 TABLE 在內(nèi)部被轉(zhuǎn)成了普通的 SELECT 來(lái)處理。示例 2應(yīng)用于子查詢里的子表。這里要注意,內(nèi)表的字段數(shù)量必須和外表過(guò)濾的字段數(shù)量一致??寺”?t1 結(jié)構(gòu)mysql-(ytt/3305)->create table t2 like t1;Query OK, 0 rows affected (0.02 sec)
克隆表 t1 數(shù)據(jù)mysql-(ytt/3305)->insert into t2 table t1;Query OK, 10 rows affected (0.00 sec)Records: 10 Duplicates: 0 Warnings: 0
table t1 被當(dāng)做內(nèi)表,表 t1 有兩個(gè)字段,必須同時(shí)滿足 t2 檢索時(shí)過(guò)濾的字段也是兩個(gè)。mysql-(ytt/3305)->select * from t2 where (r1,r2) in (table t1);+——+——+| r1 | r2 |+——+——+| 1 | 1 || 2 | 9 || 3 | 9 || 4 | 17 || 5 | 17 || 6 | 16 || 7 | 6 || 8 | 1 || 9 | 10 || 10 | 3 |+——+——+10 rows in set (0.00 sec)
mysql 查詢數(shù)據(jù)庫(kù)類型的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于mysql 查詢數(shù)據(jù)庫(kù)類型,MySQL數(shù)據(jù)庫(kù)類型查詢大全,誰(shuí)能給我說(shuō)說(shuō)mysql數(shù)據(jù)庫(kù)中的數(shù)據(jù)類型嗎?要詳細(xì)點(diǎn)的。,怎么使用Mysql Workbench 查詢mysql數(shù)據(jù)庫(kù)的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
當(dāng)前標(biāo)題:MySQL數(shù)據(jù)庫(kù)類型查詢大全(mysql查詢數(shù)據(jù)庫(kù)類型)
鏈接URL:http://www.dlmjj.cn/article/djddsdj.html


咨詢
建站咨詢
