mysql 資料型別,字符集

fsl發表於2013-07-01

資料型別

 

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是三種字元編碼方案。
 
 
 
 

相關文章