mysql中的資料型別
1.整數
tinyint 1個位元組 無符號的8bit 最大255 有符號7個bit 127 -128
smallint2個
mediumint 3個
int 4個 最常用 如果你的資料超過10位 用bigint
bigint 8個
注意:1.預設情況整數是有符號的
設定為無符號 unsigned
alter table t2 modify age tinyint unsigned;
create table t2(age tinyint unsigned);
mysql5.6 預設是非嚴格模式, 如果你的資料超出範圍 會自動取最大值 一般不要這麼搞 會丟失資料
檢視當前的sql模式:
select @@sql_mode; @表示全域性變數 @@表示會話級變數(區域性)
臨時設定sql_mode
set @@sql_mode = "***xx"
建議直接修改配置檔案:
[mysqld]
sql_mode=no_engine_substitution,strict_trans_tables
指定長度
int(10) 如果你的資料不足10位 用0填充 (需要新增zerofill 這個約束)
對於整數和小數而言 都是用控制 顯示填充的最小長度
2.浮點
兩種不精確的小數
float 可以精確到 大約5位
double 比float更精確
如果對精確度要求比較高 需要使用decimal 型別
decimal 需要指定 位數如下: 位數不包括小數點
decimal(65,30) 總長最大65 小數30
3.字串
char 定長字串
varchar 長度可變的字串
char(10) 儲存abc 佔10個字元長度
優點:讀取儲存速度快於 varchar
缺點: 浪費與磁碟空間
varchar(10)abc3個字元長度外加乙個bit 儲存字元長度
優點:節省空間
缺點:速度慢於char型別
如果字元長度不大 建議使用char型別 反之則選擇varchar
char 最大範圍255
varchar最大 65535
如果不夠那就採用text 最大可以儲存2的32次方
text
具備編碼的大字串
blob
都是建乙個檔案伺服器 資料庫只儲存檔案的位址資訊
字串型別中 需要掌握的 char varchar text blob也不常用
注意: mysql會自動將字串後面的空格刪掉 所以你的資料在儲存前應該先把空格處理掉
列舉和集合
列舉是提前規定乙個範圍 你的值只能是其中之一 多選一
集合是提前規定乙個範圍 你的值可以是其中的多個 多選多
集合在插入資料時 ,多個值之前用逗號隔開 但他們必須包含在同乙個字串內!
4.日期和時間
year
date
time
year date time 都可以用字串或數字兩種方式輸入值
datetime
datestamp
datetime和datestamp 只能使用字串輸入
上述所有型別的年份都可以是兩位數
0-69 翻譯為 2000-2069 70-99 翻譯為1790-1999
時間相關的函式和常量
current_time 獲取當前時間
now()獲取當前時間
MYSQL建表時資料型別的選擇
對於相同級別的資料型別,應該優先選擇占用空間小的資料型別。大小範圍 signed 範圍 unsigned 用途tinyint 1 位元組 128,127 0,255 小整數值,如年齡 smallint 2 位元組 32768,32 767 0,65535 大整數值 mediumint 3 位元組 8...
mysql資料庫設計表時資料型別的選擇
說一下常用的幾種資料型別 1 整數 整數型別 儲存空間 範圍 有符號 範圍 無符號 tinyint 8bit 1 位元組 128,127 0,255 smallint 16bit 2 位元組 32 768,32 767 0,65 535 mediumint 24bit 3 位元組 8 388 608...
mysql資料型別用法 mysql資料型別和用法
歡迎進入linux社群論壇,與200萬技術人員互動交流 進入 mysql支援多種列型別 數值型別 日期 時間型別和字串 字元 型別。本章首先對這些列型別進行了概述,然後更加詳細地描述了各種列的型別,以及列型別儲存需求的總結。概述很簡單。關於具體列型別 歡迎進入linux社群論壇,與200萬技術人員互...