mysql資料庫欄位類型de(mysql資料庫數據類型)

本文目錄一覽:

資料庫欄位類型設計

一、整型:

1、tinyint:tinyint 是-128到128 。當屬性設置為unsigned的時候。最大值就是255了。現在知道為什麼需要設置為unsigned屬性了。原來是為了最大限度的使用給予的存儲空間。如果不設置。那麼假如你的值都是正數的。那麼-128這一百多個數字就相當於是浪費了。默認tinyint會自動設置為tinyint(3)

2、int,佔四個位元組,取值範圍是-2^31到2^31-1(大約正負二十億)int 類型phpmyadmin默認會設置int(10)

3、bigint,佔八個位元組,取值範圍是-2^63到2^63-1

二、時間類型

1、Date:用來存儲沒有時間的日期。Mysql獲取和顯示這個類型的格式為「YYYY-MM-DD」。支持的時間範圍為「1000-00-00」到「9999-12-31」;

2、TimeStamp:存儲既有日期又有時間的數據。存儲和顯示的格式為 「YYYY-MM-DD HH:MM:SS」。支持的時間範圍是「1000-00-00 00:00:00」到「9999-12-31 23:59:59」;

3、DateTime:也是存儲既有日期又有時間的數據。存儲和顯示的格式跟TimeStamp一樣。支持的時間範圍是「1970-01-01 00:00:01」到「2038-01-19 03:14:07」; (一般用這個)

1、盡量使用TINYINT、SMALLINT、MEDIUM_INT作為整數類型而非INT,如果非負則加上UNSIGNED

2、大小(VARCHAR的長度只分配真正需要的空間)

3、使用枚舉或整數代替字元串類型

4、類型(盡量使用TIMESTAMP而非DATETIME,在精度要求高的應用中,建議使用定點數來存儲數值,以保證結果的準確性。能用decimal就不要用float)

5、單表不要有太多欄位,建議在20以內

6、值(是否允許為空、是否有默認值,盡量避免使用NULL欄位,很難查詢優化且佔用額外索引空間)

7、用整型來存IP

8、合理的欄位名(符合3NF,避免不必要的數據冗餘,參考 3NF)

9、創建並使用正確的索引

10、將欄位設置為not null 還出於另外一種考慮:mysql表的列中包含null的話,那麼該列不會包含在所有中。也就是使用索引是無效的。所有,考慮今後會使用索引的欄位,就要設置欄位屬性是not null。

11、如果你要保存NULL,手動去設置它,而不是把它設為默認值。

12、考慮到這個欄位今後會作為查詢關鍵字使用like的形式進行搜索。那麼要將該欄位定義成索引。這樣使用like查詢就會更快。

mysql資料庫中有幾種數據類型

MySQL數據類型之一字元型

VARCHAR VS CHAR

VARCHAR型和CHAR型數據的這個差別是細微的,但是非常重要。他們都是用來儲存字元串長度小於255的字元。

假如你向一個長度為四十個字元的VARCHAR型欄位中輸入數據Bill Gates。當你以後從這個欄位中取出此數據時,你取出的數據其長度為十個字元——字元串Bill Gates的長度。 現在假如你把字元串輸入一個長度為四十個字元的CHAR型欄位中,那麼當你取出數據時,所取出的數據長度將是四十個字元。字元串的後面會被附加多餘的空格。

當你建立自己的站點時,你會發現使用VARCHAR型欄位要比CHAR型欄位方便的多。使用VARCHAR型欄位時,你不需要為剪掉你數據中多餘的空格而操心。

VARCHAR型欄位的另一個突出的好處是它可以比CHAR型欄位佔用更少的內存和硬碟空間。當你的資料庫很大時,這種內存和磁碟空間的節省會變得非常重要

MySQL數據類型之二文本型

TEXT

使用文本型數據,你可以存放超過二十億個字元的字元串。當你需要存儲大串的字元時,應該使用文本型數據。

注意文本型數據沒有長度,而上一節中所講的字元型數據是有長度的。一個文本型欄位中的數據通常要麼為空,要麼很大。

當你從HTML form的多行文本編輯框(TEXTAREA)中收集數據時,你應該把收集的信息存儲於文本型欄位中。但是,無論何時,只要你能避免使用文本型欄位,你就應該不適用它。文本型欄位既大且慢,濫用文本型欄位會使伺服器速度變慢。文本型欄位還會吃掉大量的磁碟空間。

一旦你向文本型欄位中輸入了任何數據(甚至是空值),就會有2K的空間被自動分配給該數據。除非刪除該記錄,否則你無法收回這部分存儲空間。

MySQL數據類型之三數值型

SQL支持許多種不同的數值型數據。你可以存儲整數 INT 、小數 NUMERIC、和錢數 MONEY。

INT VS SMALLINT VS TINYINT

他們的區別只是字元長度:

INT型數據的表數範圍是從-2,147,483,647到2,147,483,647的整數

SMALLINT 型數據可以存儲從-32768到32768的整數

TINYINT 型的欄位只能存儲從0到255的整數,不能用來儲存負數

通常,為了節省空間,應該儘可能的使用最小的整型數據。一個TINYINT型數據只佔用一個位元組;一個INT型數據佔用四個位元組。這看起來似乎差別不大,但是在比較大的表中,位元組數的增長是很快的。另一方面,一旦你已經創建了一個欄位,要修改它是很困難的。因此,為安全起見,你應該預測以下,一個欄位所需要存儲的數值最大有可能是多大,然後選擇適當的數據類型。

MUNERIC

為了能對欄位所存放的數據有更多的控制,你可以使用NUMERIC型數據來同時表示一個數的整數部分和小數部分。NUMERIC型數據使你能表示非常大的數——比INT型數據要大得多。一個NUMERIC型欄位可以存儲從-1038到1038範圍內的數。NUMERIC型數據還使你能表示有小數部分的數。例如,你可以在NUMERIC型欄位中存儲小數3.14。

當定義一個NUMERIC型欄位時,你需要同時指定整數部分的大小和小數部分的大小。如:MUNERIC(23,0)

一個 NUMERIC型數據的整數部分最大只能有28位,小數部分的位數必須小於或等於整數部分的位數,小數部分可以是零。

MONEY VS SMALLMONEY

你可以使用 INT型或NUMERIC型數據來存儲錢數。但是,專門有另外兩種數據類型用於此目的。如果你希望你的網點能掙很多錢,你可以使用MONEY型數據。如果你的野心不大,你可以使用SMALLMONEY型數據。MONEY型數據可以存儲從-922,337,203,685,477.5808到922,337,203,685,477.5807的錢數。如果你需要存儲比這還大的金額,你可以使用NUMERIC型數據。

SMALLMONEY型數據只能存儲從-214,748.3648到214,748.3647 的錢數。同樣,如果可以的話,你應該用SMALLMONEY型來代替MONEY型數據,以節省空間。

MySQL數據類型之四邏輯型

BIT

如果你使用複選框( CHECKBOX)從網頁中搜集信息,你可以把此信息存儲在BIT型欄位中。BIT型欄位只能取兩個值:0或1。

當心,在你創建好一個表之後,你不能向表中添加 BIT型欄位。如果你打算在一個表中包含BIT型欄位,你必須在創建表時完成。

MySQL數據類型之五日期型

DATETIME VS SMALLDATETIME

一個 DATETIME型的欄位可以存儲的日期範圍是從1753年1月1日第一毫秒到9999年12月31日最後一毫秒。

如果你不需要覆蓋這麼大範圍的日期和時間,你可以使用SMALLDATETIME型數據。它與DATETIME型數據同樣使用,只不過它能表示的日期和時間範圍比DATETIME型數據小,而且不如DATETIME型數據精確。一個SMALLDATETIME型的欄位能夠存儲從1900年1月1日到2079年6月6日的日期,它只能精確到秒。

DATETIME型欄位在你輸入日期和時間之前並不包含實際的數據,認識這一點是重要的。

MySQL數據表的修改:修改欄位類型

4.4.3修改欄位類型

    語句格式:ALTER TABLE 表名 MODIFY 欄位名 數據類型;

在上面語句格式中,「表名」指定要修改的是哪個表,「MODIFY」表示要修改表中欄位數據類型,「欄位名」指定要修改表中哪個欄位(的數據類型),「數據類型」指定表中欄位要修改成的新數據類型。

下面截圖中的「ALTER TABLE」語句將t_dept表中deptno欄位數據類型由原來的 int(10)修改為varchar(20)。

mediumint 在mysql 中是什麼類型

mysql的欄位類型大體來講分為int、text、varchar、char、blog等幾種,而各自的類型中又劃分了不同的字元數的類型,mediumint是MySQL資料庫中的一種數據類型,比INT小,比SMALLINT大。

位元組(byte),1個位元組等於8個位(bit),一個bit存儲0或者1,理解這個對於理解後面的佔用位元組導致的存儲數值的有很重要的作用。整型,常見細分為tinyint、smallint、mediumint、int、bigint這幾種。

類   型:mediumint

長   度:8

佔用位元組:3位元組

有 符 號:-8388608~8388607

無 符 號:0~16777215

不指定長度時的長度為:9(實際長度還是8)

擴展資料

1、tinyint:存儲所佔一個位元組,一個位元組等於8bit,根據1bit可以存儲0到1兩種可能性,因此tinyint類型可以存儲2的8次方,也就是256種可能性,從0開始計數,無符號也就是可以 存儲0~255,如果是有符號,那就是-128~127。

2、smallint:存儲所佔兩個位元組,同上也就是可以存儲2的16次方,也就是可以存儲65536種可能性,無符號從0開始則是可以存儲0~65535,有符號則是-32768~32767。

3、mediumint:存儲所佔三個位元組,也就是2的24次方,可以存儲16777216種可能性,無符號可以存儲0~16777215,有符號可以存儲-8388608~8388607。

4、int:存儲所佔四個位元組,也就是2的32次方,可以存儲4294967296種可能性,無符號可以存儲0~4294967295,有符號則是-2147483648~2147483647。

5、bigint:存儲所佔8個位元組,也就是2的64次方,可以存儲2的64次種可能性,無符號可以存儲0~((2³²×²)-1),有符號則是-(2³²×²)/2 ~ (2³²×²)/2-1。

參考資料來源:百度百科—mediumint

MySql數據類型有哪些

Mysql支持的多種數據類型主要有:數值數據類型、日期/時間類型、字元串類型。 

1.整數數據類型及其取值範圍:

類型

說明

存儲需求(取值範圍)

tinyint    很小整數    1位元組([0~255]、[-128~127]); 255=2^8-1;127=2^7-1  

smallint    小整數    2位元組(0~65535、-32768~32767) ;65535=2^16-1  

mediumint    中等    3位元組(0~16777215) ;16777215=2^24-1  

int(integer)    普通    4位元組(0~4294967295) ;4294967295=2^32-1  

bigint    大整數    8位元組(0~18446744073709551615);18446744073709551615=2^64-1  

浮點數定點數:

類型名稱

說明

存儲需求

float    單精度浮點數    4位元組  

double    雙精度浮點數    8位元組  

decimal    壓縮的「嚴格」定點數    M+2位元組  

註:定點數以字元串形式存儲,對精度要求高時使用decimal較好;盡量避免對浮點數進行減法和比較運算。 

2.時間/日期類型: 

year範圍:1901~2155; 

time格式:『HH:MM:SS』(如果省略寫,並且沒有冒號,則默認最右起2位為秒,再到分,最後到時); 

插入系統當前時間:insert into 表名 values(current_date()),(now()); 

date類型:『YYYY-MM-DD』; 

datetime(日期+時間):『YYYY-MM-DD HH:MM:SS』或『YYYYMMDDHHMMSS』,取值範圍:『1000-01-01 00:00:00』~『9999-12-31 23:59:59』; 

timestamp格式同datetime,但在存儲時需要4個位元組(datetime需要8位元組),並且以UTC(世界標準時間)進行存儲(即timestamp會隨設置的時區而變化,而datetime存儲的絕不會變化);timestamp的範圍:1970-2037。 

 

3.字元串類型: 

text類型:tinytext、text、mediumtext、longtext;

類型

範圍

tinytext    255=2^8-1  

text    65535=2^16-1  

mediumtext    16777215=2^24-1  

longtext    4294967295=4GB=2^32-1  

 

char的存儲需求是定義時指定的固定長度;varchar的存儲需求是取決於實際值長度。 

set類型格式:set(』值1』,』值2』…) ——可以有0或者多個值,對於set而言,若插入的值為重複的,則只娶一個。插入的值亂序,則自動按順序插入排列。插入不正常值,則忽略。 

二進位類型: 

bit(M)——保存位欄位值(位欄位類型),M表示值的位數; 

eg:select BIN(b+0) from 表名;—–b為列名;b+0表示將二進位的結果轉換為對應的數字的值,BIN()函數將數字轉換為二進位。 

 

blog——-二進位大對象,用來存儲可變數量的數據。

數據類型

存儲範圍(位元組)

tinyblog    最多255=2^8-1 位元組  

bolg    最多65535=2^16-1 位元組  

mediumblog    最多16777215=2^24-1 位元組  

longblog    最多4294967295=4GB=2^32-1 位元組  

mysql資料庫中sql修改欄位類型要怎麼做

方法如下:

//修改一個欄位的類型

alter table user MODIFY new1 VARCHAR(10);

//修改一個欄位的名稱,此時一定要重新指定該欄位的類型

alter table user CHANGE new1 new4 int。

一、電腦常見問題

主板不啟動,開機無顯示,有顯卡報警聲。

故障原因:一般是顯卡鬆動或顯卡損壞。  

處理辦法:打開機箱,把顯卡重新插好即可。要檢查AGP插槽內是否有小異物,否則會使顯卡不能插接到位;對於使用語音報警的主板,應仔細辨別語音提示的內容,再根據內容解決相應故障。  

如果以上辦法處理後還報警,就可能是顯卡的晶元壞了,更換或修理顯卡。如果開機後聽到”嘀”的一聲自檢通過,顯示器正常但就是沒有圖像,把該顯卡插在其他主板上,使用正常,那就是顯卡與主板不兼容,應該更換顯卡。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/297438.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-28 12:15
下一篇 2024-12-28 12:15

相關推薦

  • int類型變數的細節與注意事項

    本文將從 int 類型變數的定義、聲明、初始化、範圍、運算和類型轉換等方面,對 int 類型變數進行詳細闡述和講解,幫助讀者更好地掌握和應用 int 變數。 一、定義與聲明 int…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變數時顯示的指定變數類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python返回數組:一次性搞定多種數據類型

    Python是一種多用途的高級編程語言,具有高效性和易讀性的特點,因此被廣泛應用於數據科學、機器學習、Web開發、遊戲開發等各個領域。其中,Python返回數組也是一項非常強大的功…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • Python 轉換數據類型

    本文將詳細探討Python中轉換數據類型的方法和技巧,幫助大家更好地處理不同類型的數據。 一、數據類型概述 在Python中,常用的數據類型包括字元串、整數、浮點數、列表、元組、字…

    編程 2025-04-29
  • Python基本數字類型

    本文將介紹Python中基本數字類型,包括整型、布爾型、浮點型、複數型,並提供相應的代碼示例以便讀者更好的理解。 一、整型 整型即整數類型,Python中的整型沒有大小限制,所以可…

    編程 2025-04-29
  • Python中的Bool類型判斷

    本篇文章旨在講解Python中的Bool類型判斷。在Python中,Bool類型是經常使用的一種類型,因此掌握其用法非常重要。 一、True和False 在Python中,True…

    編程 2025-04-29
  • 資料庫第三範式會有刪除插入異常

    如果沒有正確設計資料庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係資料庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • Python數據類型分為哪幾種

    Python作為一門非常靈活的編程語言,有著非常豐富的數據類型。Python的數據類型可以分為數字類型、字元串類型、列表類型、元組類型、字典類型和集合類型六種。 一、數字類型 Py…

    編程 2025-04-29

發表回復

登錄後才能評論