mysql中臨時資料型別 mysql中的資料型別

2021-10-17 15:35:02 字數 1829 閱讀 3616

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萬技術人員互...