數據類型
1,數值類型
2,字符串類型
3,日期和時間
4,ENUM和SET
5,幾何數據類型mysql
數據類型選項
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是三種字符編碼方案。