mysql作為關係型資料庫,在二維表中存資料,肯定要規定資料的型別,型別規定了資料的大小,因此使用的時候選擇合適的型別,不僅會降低表占用的磁碟空間,間接減少了磁碟i/o的次數,提高了表的訪問效率,而且索引的效率也和資料的型別息息相關。
目錄
1 資料型別
1.1 數值型別
1.2 日期和事件型別
1.3 字串型別
1.4 enum列舉型別和set集合型別
2 運算子
2.1 算術運算子
2.2 邏輯運算子
2.3 比較運算子
資料型別分為數值型別、日期和時間型別、字串型別以及enum列舉型別和set集合型別。
上圖主要列出了整數型別和浮點數型別,在實際使用中,根據具體的場景選擇合適的資料型別很重要!
日期型別也是做專案過程中,經常使用的型別資訊,尤其是timestamp和datetime兩個型別,但是注意timestamp會自動更新時間,非常適合那些需要記錄最新更新時間的場景,而datetime需要手動更新。
字串型別應該是使用最多的了,首先注意char和varchar的區別,然後注意text和blob的區別,一般的字串型別,我們選擇varchar型別就可以了,如像部落格之類,資料量比較大的型別就選擇text或者blob,但是text只能存文字,而blob還可以儲存二進位制檔案,比如等。
char和varchar的區別:char的長度是不可變的,而varchar的長度是可變的,也就是說,定義乙個char[10]和varchar[10],如果存進去的是『csdn』,那麼char所佔的長度依然為10,除了字元『csdn』外,後面跟六個空格,而varchar就立馬把長度變為4了,取資料的時候,char型別的要用trim()去掉多餘的空格,而varchar是不需要的。
blob和text的區別:這兩者的最大區別為,blob儲存的是二進位制資料,而text儲存的是字元資料。
注意,這兩個型別,都是限制該欄位只能取固定的值,但是列舉字段只能取乙個唯一的值,而集合字段可以取任意個值。
mysql的運算子和主流程式語言很多運算子的含義是一樣的,但也有區別,運算子多用在sql語句當中,對sql查詢做各種條件過濾的。
not邏輯非 and邏輯與 or邏輯或
MySQL 資料型別和運算子
目錄 5.1.1 整數型別 5.1.2 浮點數型別和定點數型別 5.1.3 日期與時間型別 5.1.4 文字字串型別 字元字串 5.1.5 二進位制字串型別 位元組字串 5.2 如何選擇資料型別 5.3.2 算術運算子 5.3.3 比較運算子 5.3.4 邏輯運算子 5.3.5 位運算子 5.3.6...
MySQL資料型別和運算子
mysql具有豐富的資料型別,在建表和儲存過程中都需要指定資料型別 常用的資料型別有 數值型別 整數型別 mysql主要提供的整數型別有 tinyint smallint mediumint int bigint。create table emp id int 11 name varchar 25 ...
資料型別和運算子 運算子
objective c 支援所有的基本算術運算子 除法運算子。除法運算子有些特殊,如果除法運算子的兩個運算元都是整數型別,則計算結果也是整數,就是將自然 數除法的結果斷取整。求餘運算子。它要求運算子兩邊的運算元必須是整數,他的計算結果是使用第乙個運算元來除以第二個運算元,得到 乙個整除的結果後,剩下...