mysql byte MySql欄位型別及位元組

2021-10-25 14:31:01 字數 3691 閱讀 5627

字段型別:

tinyint-----------------乙個很小的整數。有符號的範圍是-128到127,無符號的範圍是0到255。

smallint--------------乙個小整數。有符號的範圍是-32768到32767,無符號的範圍是0到65535。

mediumint------------乙個中等大小整數。有符號的範圍是-8388608到8388607,無符號的範圍是0到16777215。

int------------------------乙個正常大小整數。有符號的範圍是-2147483648到2147483647,無符號的範圍是0到4294967295。

integer---------------int的乙個同義詞。

bigint-------------------乙個大整數。有符號的範圍是-9223372036854775808到9223372036854775807,無符號的範圍是0到18446744073709551615。

float--------------------乙個小(單精密)浮點數字。不能無符號。允許的值是-3.402823466e+38到-1.175494351e-38,0 和 1.175494351e-38到3.402823466e+38。m是顯示寬度而d是小數的位數。沒有引數的float或有<24 的乙個 引數表示乙個單精密浮點數字。

double-----------------乙個正常大小(雙精密)浮點數字。不能無符號。允許的值是-1.7976931348623157e+308到-2.2250738585072014e-308、 0和2.2250738585072014e-308到1.7976931348623157e+308。

double precision、real[(m,d)] [zerofill] 這些是double同義詞。

decimal----------------乙個未壓縮(unpack)的浮點數字。不能無符號。行為如同乙個char列:「未壓縮」意味著數字作為乙個字串被儲存,值的每一位使用乙個字元。

numeric--------------- 這是decimal的乙個同義詞。

date --------------------乙個日期。支援的範圍是'1000-01-01'到'9999-12-31'。mysql以'yyyy-mm-dd'格式來顯示date值,但是允許你使用字串或數字把值賦給date列。

datetime -------------乙個日期和時間組合。支援的範圍是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。mysql以'yyyy-mm-dd hh:mm:ss'格式來顯示datetime值,但是允許你使用字串或數字把值賦給datetime的列。

timestamp------------乙個時間戳記。範圍是'1970-01-01 00:00:00'到2023年的某時。乙個timestamp列對於記錄乙個insert或update操作的日期和時間是有用的,你以可以通過賦給它乙個null值設定它為當前的日期和時間。

time ---------------------乙個時間。範圍是'-838:59:59'到'838:59:59'。mysql以'hh:mm:ss'格式來顯示time值,但是允許你使用字串或數字把值賦給time列。

year---------------------乙個2或4位數字格式的年(預設是4位)。允許的值是1901到2155,和0000(4位年格式),如果你使用2位,1970-2069( 70-69)。mysql以yyyy格式來顯示year值,但是允許你把使用字串或數字值賦給year列。(year型別在mysql3.22中是新型別。)

tinyblob 、tinytext 乙個blob或text列,最大長度為255(2^8-1)個字元

blob 、text ---------乙個blob或text列,最大長度為65535(2^16-1)個字元

mediumblob、mediumtext -------乙個blob或text列,最大長度為16777215(2^24-1)個字元

longblob 、longtext--------------乙個blob或text列,最大長度為4294967295(2^32-1)個字元

enum-----------------------列舉。乙個僅有乙個值的字串物件,這個值式選自與值列表'value1'、'value2', ...,或null。乙個enum最多能有65535不同的值。

set-------------------------乙個集合。能有零個或多個值的乙個字串物件,其中每乙個必須從值列表'value1', 'value2', ...選出。乙個set最多能有64個成員。

數字型別

列型別需要的儲存量

tinyint

1 位元組

smallint

2 個位元組

mediumint

3 個位元組

int4 個位元組

integer

4 個位元組

bigint

8 個位元組

float(x)

4 如果 x < = 24 或 8 如果 25 < = x < = 53

float

4 個位元組

double

8 個位元組

double precision

8 個位元組

real

8 個位元組

decimal(m,d)

m位元組(d+2 , 如果m < d)

numeric(m,d)

m位元組(d+2 , 如果m < d)

日期和時間型別

列型別需要的儲存量

date

3 個位元組

datetime

8 個位元組

timestamp

4 個位元組

time

3 個位元組

year

1 位元組

串型別列型別

需要的儲存量

char(m)

m位元組,1 <= m <= 255

varchar(m)

l+1 位元組, 在此l <= m和1 <= m <= 255

tinyblob, tinytext

l+1 位元組, 在此l< 2 ^ 8

blob, text

l+2 位元組, 在此l< 2 ^ 16

mediumblob, mediumtext

l+3 位元組, 在此l< 2 ^ 24

longblob, longtext

l+4 位元組, 在此l< 2 ^ 32

enum('value1','value2',...)

1 或 2 個位元組, 取決於列舉值的數目(最大值65535)

set('value1','value2',...)

1,2,3,4或8個位元組, 取決於集合成員的數量(最多64個成員)

text與blob的區別在於:text不能儲存。blob是二進位製流,text是非二進位制。

mysql 的二進位制資料型別 binary, varbinary, blob 都沒有字符集的概念。

再訪問blob資料時,要入庫時base64,出庫時再base64。

zerofill屬性(零值)適用於所有數值類資料列型別,作用是,如果數值的寬度小於定義的顯示寬度,則在數值前填充0。

unsigned屬性不允許資料列出現負數。

auto_increment屬性可生成獨一無二的數字序列。只對整數類的資料列有效。

null和not null屬性設定資料列是否可為空。

default屬性可為資料列指定預設值。

Python檢測重複字 部分中華字經重複字檢測

中文去標點符號,中文繁體字轉化簡體字,列表檢測並輸出重複項,list當多個相同值時索引 關於去標點,使用包 zhon,直接pip即可 安裝及使用 關於中文繁簡轉換,安裝opencc python 安裝及使用 coding utf 8 author zhr date 2019 10 25 20 26 ...

監聽套接字 連線套接字

摘要 對於伺服器程式設計中最重要的一步等待並接受客戶的連線,那麼這一步在程式設計中如何完成,accept函式就是完成這一步的。它從核心中取出已經建立的客戶連線,然後把這個已經建立的連線返回給使用者程式,此時使用者程式就可以與自己的客戶進行點到點的通訊了。accept函式等待並接受客戶請求 inclu...

java FileInputStream 位元組流

首先要明白,檔案儲存在硬碟上實質上儲存的都是數字,因此通過fileinputstream中的read 方法讀取的是數字。fileinputstream fis new fileinputstream new file test.txt int x fis.read system.out.printl...