Mysql基本內容之欄位型別

2021-08-11 14:24:09 字數 3307 閱讀 7894

mysql中常用的資料型別有下面這些

整型各型別的空間的值的區別

引數所佔位元組

帶符號最小值

無符號最小值

帶符號最大值

無符號最大值 |

tinyint

1-128

0127

255smallint

2-32768

032767

622335

mediumint

3-8388608

08388607

16777215

int4

-2147483648

02147483647

4294967295

bigint

8-9223372036854775808

09223372036854775807

18446744073709551615

注意:最大值和系統有關係,如windows32位和64的最大值是不一樣的,windows和linux的最大值也是不一樣的;

使用形式:
//型別名【(長度)】  【unsigned】 【zerofill】

tinyint(2) unsigned

說明:

1,長度:就是用來設定要「顯示」的長度位數(數字個數),

2,unsigned:就是用於設定該型別中的數字沒有符號(正負號),即沒有負數;

3,zerofill:就是「填充0」的意思,即如果乙個數字,沒有達到指定的長度,則系統就會用0填充到其左邊。

- 其中m表示「顯示長度」,其需與zerofill結合使用才有效,即不夠該長度的會自動左側補0,當然如果超出也不影響。

- unsigned表示「無符號數」,表示其中的數值是「非負」數字

- 如果設定了zerofill,則自動也就表示同時具備了unsigned修飾

- 如果設定了zerofill但沒有設定長度m,則其會預設將所有數的左邊補0到該型別的最大位數

浮點型:

單精度浮點型:float,其精度大約可以精確到6-7位;

雙精度浮點型:double,其精度大約可以精確到15位左右;

特點:浮點型的小數,其內部的二進位制形式,很可能是非精確的

定點型:

decimal,或使用dec。

形式:

//decimal(總精度,小數部分精度);

decimal(12,2)

說明:

1,總精度,其實就是可以用於精確表達的位數,包括小數部分的位數和整數部分的位數;

2,總精度最大為65位,小數部分的精度(位數),最大為30位。

定長字串,表示設定的長度,其儲存的時候,就是該長度——不夠就會自動補空格填滿;

最大可設定為255,表示可儲存255個字元;

varchar型別:

變長字串,表示設定的長度,是可儲存的最大長度,實際儲存長度可以小於該長度;

該型別儲存的時候,還需要在字段內的最前面額外儲存該字段的實際長度;

最大可設定為65533,表示最大可儲存65533個字元;

因為考慮因素:一行的總的儲存空間限制是65535位元組,

但有考慮字元編碼的問題,又會出現:

如果儲存的是純英文本元,則實際最多可儲存65533個字元;

如果儲存的是純gbk的中文字元,則實際最多可儲存的是65533/2個字元;

如果儲存的是純utf8的中文字元,則實際最多可儲存的是65533/3個字元;

text型別:

它通常用於儲存「大文字」,因為其可儲存65535個位元組,並且,不受行儲存空間的限制;

enum型別:

用於儲存若干個「可選項之一」的一種字元型別。

通常,是在字段定義時,預先設定多個選項,而且是作為單選項,實際儲存資料的時候,就可以選擇其中乙個存入資料庫。

它適合於儲存在網頁中的「單選項」資料,比如:單選按鈕,下拉列表選項值等等;

形式:

enum(『單選項1』, 『單選項2』, 『單選項3』, ...

.... ); //最多65535個。

說明:

這些選項,在系統內部,實際對應的是如下這些數字值:1, 2, 3, 4, 5, 6, ….

set型別:

用於儲存若干個「多選項」的一種字元型別。

通常,是在字段定義時,預先設定多個選項,而且是作為多選項,實際儲存資料的時候,就可以選擇其中若干個選項值存入資料庫。

它適合於儲存在網頁中的「多選項」資料,比如:多選按鈕;

形式:

set(『多選項1』, 『多選項2』, 『多選項3』, ...

.... ); //最多64個。

說明:

這些選項,在系統內部,實際對應的是如下這些數字值:1, 2, 4, 8, 16, ….

date型別:

用於儲存(記錄)年月日這種時間的資料,其範圍可以為:』1000-01-01』到』9999-12-31』

time型別:

用於儲存(記錄)時分秒這種時間的資料,其範圍可以為:』-838:59:59』到』838:59:59』

datetime型別:

用於記錄年月日時分秒這種較為精確的時間資料,其範圍為:』1000-01-01 00:00:00』到』9999-12-31 23:59:59』

year型別:

用於記錄乙個年份資料,通常就是指年份數字,比如2018,1983,其有兩種形式:

使用乙個數字:

2位數字:1-99之間

4位數字:1901-2155之間

使用乙個字串:

2位字串:』00』到』99』

4位字串:』1901』到』2155』

timestamp型別:

用於記錄乙個「當前時間」的精確的時間戳——也就是某個時刻的對應整數值;

該整數值,表示,從2023年1月1日0時0分0秒開始算起到該時候所經歷的秒數;

而且,其有如下特徵:

該字段的值,會在乙個表的某行資料執行insert或update的時候,自動獲取該時刻的時間戳值;

注意:

作為時間日期型別的資料,如果是在**中插入乙個具體的字面資料值,則需要用單引號引起來——跟字元型別一樣。

如果是存時間戳的話可以直接用int型別,查詢的時候效率更高

Mysql基本內容之欄位型別詳情

mysql中常用的資料型別有下面這些 整型各型別的空間的值的區別 引數所佔位元組 帶符號最小值 無符號最小值 帶符號最大值 無符號最大值 tinyint 1 128 0 127 255 smallint 2 32768 0 32767 622335 mediumint 3 8388608 0 838...

python 基本內容

1.包 import 模組名 這個包首先在當前目錄找。每個模組中可以用 name 判斷是否為 main 來執行程式 建立包pack,建立乙個資料夾然後建立 init py import pack.filename pack.filename.f 引用包重新命名 import pack as newn...

Servlet基本內容

常用的狀態碼如下 200 請求成功。302 請求重定向。304 請求資源沒有改變,訪問本地快取。404 請求資源不存在。通常是使用者路徑編寫錯誤,也可能是伺服器資源已刪除。500 伺服器內部錯誤。通常程式拋異常。狀態資訊 狀態資訊是根據狀態碼變化而變化的 1 servlet技術 2 filter技術...