資料型別
1,數值型別
2,字串型別
3,日期和時間
4,ENUM和SET
5,幾何資料型別
資料型別選項
unsigned 無負值
zerofill 數值顯示有影響,會前置0來填充不足位數的資料。對值無影響,只是在輸出是進行了格式化輸出
auto_increment 自動遞增
serial default value==宣告auto_increment not null
tinyint -128----127
smallint -32768----32767
mediumint -8388608-----8388607
int(integer) -2147483648----2147483647
bigint -9223372036854775808----9223372036854775807
浮點數
float 4位元組 正負1.175494351E-38-----正負3.402823466E+38
double 8位元組 正負2.2250738585072014E-308---正負1.7976931348623157E+308
定點數
DEC
DECIMAL
BIT
字元型
char 0-255
varchar 0-65535
tinyblob 0-255
blob 0-65535
mediumblob 0-167772150
longblob 0-4294967295
tinytext 0-255
text 0-65535
mediumtext 0-167772150
longtext 0-4294967295
二進位制字元,只能是二進位制的字元
varbinary 0-M
binary 0-M
時間型別
datetime 佔8個位元組 可以顯示日期同時顯示時間 yyyy-mm-dd hh:mm:ss
顯示範圍 1000-01-01 00:00:00----9999-12-31 23:59:59
可用格式
2011-01-01 00:01:10
2011/01/01 00+01+10
20110101000110
11/01/01/ 00@01@10
mysql5.5版本之前日期型別無法精確到微秒級別
date 佔3個位元組 顯示日期
顯示範圍 1000-01-01----9999-12-31
timestamp 佔用4個位元組 1970 10 10 80001----2038-01-19 03:14:07
timestamp 和datetime顯示結果一樣
但是顯示範圍不同,其次建表時timestamp格式可以設定預設值,datetime不行
更新表時可以設定timestamp型別的列自動更新為當前時間
time -838:59:59 ----838:59:59
year 1901----2155 可以使用year(2)和year(4)
與時間相關的函式
now current_timestamp sysdate
1,now和current_timestamp是同樣的
2,sysdate函式返回執行當前函式時的時間,而now返回的事執行sql語句時的時間
時間加減
如果出現目標年份是閏月,會自動加減1天
date_add(date,interval expr unit)
date_sub(date,interval expr unit)
date_add(now(),interval 1 day)
unit 可以是如下資料
year
month
day
week
hour
minute
second
microsecond
date_format()函式,其作用是按使用者需求格式化列印日期,如果查詢條件使用建議使用時間索引。
select date_format(now() ,'%Y%m%d') as datetime ;
字符集
mysql字符集在選擇字符集是
_ci 大小寫不敏感
_cs 大小寫敏感
_bin 二進位制
字符集(Charset):是一個系統支援的所有抽象字元的集合。字元是各種文字和符號的總稱,包括各國家文字、標點符號、圖形符號、數字等。
常見字符集名稱:ASCII字符集、GB2312字符集、BIG5字符集、GB18030字符集、Unicode字符集等。計算機要準確的處理各種字符集文字,需要進行字元編碼,以便計算機能夠識別和儲存各種文字。
字元編碼(Character Encoding):是一套法則,使用該法則能夠對自然語言的字元的一個集合(如字母表或音節表),與其他東西的一個集合(如號碼或電脈衝)進行配對。即在符號集合與數字系統之間建立對應關係,它是資訊處理的一項基本技術。通常人們用符號集合(一般情況下就是文字)來表達資訊。而以計算機為基礎的資訊處理系統則是利用元件(硬體)不同狀態的組合來儲存和處理資訊的。元件不同狀態的組合能代表數字系統的數字,因此字元編碼就是將符號轉換為計算機可以接受的數字系統的數,稱為數字程式碼。
Unicode(統一碼、萬國碼、單一碼、標準萬國碼)是業界的一種標準,它可以使電腦得以體現世界上數十種文字的系統。
可以這樣理解:Unicode是字符集,UTF-32/ UTF-16/ UTF-8是三種字元編碼方案。