1. 程式人生 > >mysql 資料型別 phpmyadmin新建欄位含義

mysql 資料型別 phpmyadmin新建欄位含義

文章來源

mysql 資料型別

1、整型

MySQL資料型別 含義(有符號)
tinyint(m) 1個位元組  範圍(-128~127)
smallint(m) 2個位元組  範圍(-32768~32767)
mediumint(m) 3個位元組  範圍(-8388608~8388607)
int(m) 4個位元組  範圍(-2147483648~2147483647)
bigint(m) 8個位元組  範圍(+-9.22*10的18次方)

取值範圍如果加了unsigned,則最大值翻倍,如tinyint unsigned的取值範圍為(0~256)。 
int(m)裡的m是表示SELECT查詢結果集中的顯示寬度,並不影響實際的取值範圍。MySQL型別關鍵字後面的括號內指定整數值的顯示寬度(例如,INT(11))。該可選顯示寬度規定用於顯示寬度小於指定的列寬度的值時從左側填滿寬度。顯示寬度並不限制可以在列內儲存的值的範圍,也不限制超過列的指定寬度的值的顯示。當結合可選擴充套件屬性ZEROFILL使用時, 預設補充的空格用零代替。例如,對於宣告為INT(5) ZEROFILL的列,值4檢索為00004。 請注意如果在整數列儲存超過顯示寬度的一個值,當MySQL為複雜聯接生成臨時表時會遇到問題,因為在這些情況下MySQL相信資料適合原列寬度。INT(M) ZEROFILL,加上ZEROFILL後M才表現出不同,比如 INT(3) ZEROFILL,你插入到資料庫裡的是10,則實際插入為010,也就是在前面補充加了一個0.如果INT(3)和INT(10)不加ZEROFILL,則它們沒有什麼區別.M不是用來限制INT列內儲存值的範圍的.int(M)的最大值和最小值與UNSIGNED有關。

2、浮點型(float和double)

MySQL資料型別 含義
float(m,d) 單精度浮點型    8位精度(4位元組)     m總個數,d小數位
double(m,d) 雙精度浮點型    16位精度(8位元組)    m總個數,d小數位

設一個欄位定義為float(5,3),如果插入一個數123.45678,實際資料庫裡存的是123.457,但總個數還以實際為準,即6位。

3、定點數

浮點型在資料庫中存放的是近似值,而定點型別在資料庫中存放的是精確值。 
decimal(m,d) 引數m<65 是總個數,d<30且 d<m 是小數位。

4、字串(char,varchar,_text)

MySQL資料型別 含義
char(n) 固定長度,最多255個字元
varchar(n) 固定長度,最多65535個字元
tinytext 可變長度,最多255個字元
text 可變長度,最多65535個字元
mediumtext 可變長度,最多2的24次方-1個字元
longtext 可變長度,最多2的32次方-1個字元

char和varchar:
1.char(n) 若存入字元數小於n,則以空格補於其後,查詢之時再將空格去掉。所以char型別儲存的字串末尾不能有空格,varchar不限於此。 
2.char(n) 固定長度,char(4)不管是存入幾個字元,都將佔用4個位元組,varchar是存入的實際字元數+1個位元組(n<=255)或2個位元組(n>255),所以varchar(4),存入3個字元將佔用4個位元組。 
3.char型別的字串檢索速度要比varchar型別的快。

varchar和text: 
1.varchar可指定n,text不能指定,內部儲存varchar是存入的實際字元數+1個位元組(n<=255)或2個位元組(n>255),text是實際字元數+2個位元組。 
2.text型別不能有預設值。 
3.varchar可直接建立索引,text建立索引要指定前多少個字元。varchar查詢速度快於text,在都建立索引的情況下,text的索引似乎不起作用。

5.二進位制資料(_Blob)

1._BLOB和_text儲存方式不同,_TEXT以文字方式儲存,英文儲存區分大小寫,而_Blob是以二進位制方式儲存,不分大小寫。 
2._BLOB儲存的資料只能整體讀出。 
3._TEXT可以指定字符集,_BLO不用指定字符集。

6.日期時間型別

MySQL資料型別 含義
date 日期 '2008-12-2'
time 時間 '12:25:36'
datetime 日期時間 '2008-12-2 22:06:44'
timestamp 自動儲存記錄修改時間

若定義一個欄位為timestamp,這個欄位裡的時間資料會隨其他欄位修改的時候自動重新整理,所以這個資料型別的欄位可以存放這條記錄最後被修改的時間。

資料型別的屬性

MySQL關鍵字 含義
NULL 資料列可包含NULL值
NOT NULL 資料列不允許包含NULL值
DEFAULT 預設值
PRIMARY KEY 主鍵
AUTO_INCREMENT 自動遞增,適用於整數型別
UNSIGNED 無符號
CHARACTER SET name 指定一個字符集

phpmyadmin新建欄位含義

1、欄位:欄位名稱 2、型別:欄位型別 3、長度:欄位的長度,如varchar型別,在這個位置設定最大字元長度,但是對int、bigint、smallint、tinyint來說,他們的儲存的長度是固定的,這裡設定的是他們顯示的寬度度。       bigint:  8位元組      int:   4位元組        smallint:2位元組        tinyint: 1位元組 4、整理:欄位採用的編碼 例如: utf8_general_ci Unicode (多語言), 不區分大小寫, 5、屬性:欄位屬性,針對數值型資料和日期型別資料的設定。     UNSIGNED:該欄位不會有非負數出現,比如 int 設定為該屬性,那麼這列的數值都是從0開始。      ZEROFILL:預設補充的空格用零代替,設定為這個屬性的時候,該列就是非負數列。例如,對於宣告為INT(5) ZEROFILL的列,值4檢索為00004      ON UPDATE CURRENT_TIMESTAMP:該列列為預設值使用當前的時間戳,並且自動更新。 6、null:該列是否允許為空 7、預設:該列的預設值 8、額外:設定列值為自增,針對數值型別。      AUTO_INCREMENT:自增。

相關推薦

mysql 資料型別 phpmyadmin新建含義

文章來源 mysql 資料型別 1、整型 MySQL資料型別 含義(有符號) tinyint(m) 1個位元組  範圍(-128~127) smallint(m) 2個位元組  範圍(-32768~32767) mediumint(m) 3個位元組 

MySQL資料型別和常用屬性

MySQL中的資料型別大的方面來分,可以分為:日期和時間、數值,以及字串。下面就分開來進行總結。 日期和時間資料型別 MySQL資料型別 含義 date 3位元組,日期,格式:2014-09-18 time 3位元組,時間,格式:08:42:30 dat

Oracle:SQL語句--對錶的操作——修改列的資料型別( 即 修改資料型別)

– 修改列的資料型別( 即 修改欄位的資料型別)(未驗證在有資料,並且互有主外來鍵時,是否可用) –另外注意 此處 表 不能用 別名! 語法: alter table 表名 modify (欄位名

MySQL資料型別屬性

MySQL 資料型別MySQL中定義資料欄位的型別對你資料庫的優化是非常重要的。MySQL支援多種型別,大致可以分為三類: 數值 日期/時間 字串(字元) 數值型別 MySQL支援所有標準SQL數值資料型別。 這些型別包括嚴格數值資料型別(IN

知識點:mysql查詢資料時,對做加、減、乘、除,null的四則運算為null

該處不羅列出每種情況,以減法、加法、乘法為例,說明該情況: 展示emp表: 1、減法: select empno,ename,sal-200 from emp; 2、乘法: select empno,ename,sal*12 from emp;    

如何從mysql資料庫中查詢指定且符合條件的資料 ,然後拼接成json字串,最後匯出json檔案

SELECT CONCAT("{'name':'",IFNULL(Name,''),"',","'sex':'",IFNULL(Sex,''),"',","'age':'",IFNULL(Age,''),"',", "'phone':'",IFNULL(Phon

查詢當日資料 按小時分組 是varchar型別

select SUBSTR(tjsd,1,10),sum(clzs) from jtts.T_DTI_STAT_XZQH_CLL_LASTHOUR where 1=1 and to_char(to_date(tjsd,‘yyyymmddhh24mi’),‘dd’)=to_char(sysda

mysql查詢語句中對內容補(補零為例)length()函式獲取某個資料長度

mysql查詢語句中對欄位內容補位(補零為例)length()函式獲取某個欄位資料長度 jakehu      2014 年 4 月 10 日 mysql查詢語句中對欄位內容補位(補零為例)length()函式獲取某個欄位資料長度2014-04-

MYSQL資料型別的屬性含義

   在新增資料型別的時候,要設定資料型別的屬性,具體說說各資料型別的屬性的含義 1,MySQL關鍵字 NULL        資料列可包含NULL值 2,關鍵字NOT NULL      資料列不允許包含NULL值 3,關鍵字DEFAULT      預設值 

SQL Server——資料表管理(資料型別、臨時表、設定標識、使用預設值、建立約束、修改表)

目錄   一、欄位的資料型別——例項: 二、臨時表 三、設定標識欄位  四、使用預設值 五、建立約束 六、修改表 一、欄位的資料型別——例項: 建立一個新表(如圖)  當然我們也可以就所設計的表進行修改:

C# 如何獲取SQL Server 中指定資料表的所有名和型別

如何獲取指定資料表的所有欄位名和欄位型別。SqlConnection.GetSchema方法有2個過載形式,獲取指定資料表的所有欄位名和欄位型別的祕密就在GetSchema (String, String[])的第二個引數中。 定義如下: public override DataTable GetS

mysql資料庫優化--(2)設計 型別的選擇

建表時,往往需要考慮欄位的型別的問題. 可優化性不強,需要注意以下的幾個原則 2.1       儘可能佔用更少的儲存空間 多少位元組Byte! tinyint:1, smallint 2, med

mysql處理刪除自增之後下一次插入資料的問題

用資料庫的時候經常會有一個id是自增的情況,如果你直接把整個庫的資料刪除之後,下一次插入資料會發現id會從刪除前資料的最大id開始自增,如果你想繼續從1開始的話,可以輸入 truncate table

MSSQL和MySQL中,資料表兩列值互換的問題

MSSQL的處理方法 update table1 set field_1 = field_2, field_2 = field_1 可是MySQL就不能這樣寫,不然一列會覆蓋另一列記錄 MySQL語句如下 update table1 a, table1

MySql資料庫插入一條資料時,create_time自動新增為當前時間

有時候我們會有這樣的需求。往資料庫新增一條資料。然後表中有一個欄位是creat_time。新增資料的同時,這個欄位預設為當前時間。其實很簡單。設定欄位型別為timestamp。然後下面預設值填寫CURRENT_TIMESTAMP 下面那個根據當前時間戳更新 勾上。yes.搞定

MySQL資料表中修改的排列位置

建立資料表的時候,欄位在表中的排列位置就已經確定了。不過,使用ALTER TABLE語句可以改變欄位在表中的排列位置。 在MySQL中,修改欄位排列位置的基本語法格式如下: ALTER TABLE 表名 MODIFY 欄位名1 資料型別 FIRST | AFTER 欄位名2

MYSQL 5.5不支援型別為datetime且預設值為NOW()的建表語句

5.5版本如下建表語句會失敗: alter table Test_Time_aa add column tt datetime DEFAULT NOW() comment '測試時間格式' 主要是在5.5版本不支援欄位型別為datetime且預設值為NOW()的欄位 同時

mysql 資料型別筆記

一. varchar儲存規則: 4.0版本以下,varchar(20),指的是20位元組,如果存放UTF8漢字時,只能存6個(每個漢字3位元組) 5.0版本以上,varchar(20),指的是20字元,無論存放的是數字、字母還是UTF8漢字(每個漢字3位元組),都可以存放20個,最大大小是6553

js裡的sort()對json資料(某一)進行排序,超實用!!!

首先來看一下接口裡的資料,對哪一資料進行操作 { "hourList": [{ "DATA_DATE": "00", "USE_SUM": 9.58 }, { "DATA_DATE": "03", "USE_SUM": 23.18 }, { "DATA_DATE": "

mysql資料型別/注意事項/int(20)混淆

int(20), bigint(20)括號裡的內容指的是顯示時填充0的個數,而不是位元組或空間限制,不同於char(20)或varchar(20)的意義: https://stackoverflow.com/questions/3135804/types-in-mysql-bigint20-vs-int20