MYSQL 中要在數據庫中使用的數據類型

你在學習數據庫管理器嗎? 在這種情況下,您需要告知自己 MySQL中的數據類型, 世界上最好和最常用的之一。不要錯過機會!

Mysql-2 中的數據類型

MySQL 中的數據類型

每次我們需要創建一個可用於存儲應用程序數據的表時,我們必須知道如何識別哪種類型的數據有助於我們更好地存儲我們需要存檔的所有內容。 我們可以在以下三種數據中進行選擇:數字數據、字符串(字母數字)以及日期和時間。

在 MYSQL 表的這些字段中,我們有可能在三種類型的內容之間進行選擇,儘管看起來很明顯,但要確定將數據發送到哪裡,存儲屬於什麼類型的組,這裡我們有一個示例供自己使用在上下文中:是的,我們需要一個字段來存儲一個人的年齡,那麼它將是一個數字數據字段。

但在我繼續解釋之前,你知道 MySQL 是什麼嗎? 它被稱為世界上使用最廣泛的開源數據庫管理器之一。 為了讓我們了解它的流行程度,我們會告訴您:WordPress 是不同類型內容的管理器,自 2003 年以來就存在,大約 55% 到 60% 的網頁存在,多虧了這一點,它使用 MySQL 作為數據庫,所以這證明了它的有用性和它的範圍。

MySQL屬於甲骨文公司,2010年負責收購。這個管理器有多種用途,例如:練習、執行安裝、修改網頁、讀取數據等。

該驅動程序可以輕鬆下載,並且根據您使用的 Windows 有多個版本,同樣,安裝它非常容易。

絕大多數數據庫驅動程序都是通過編程語言使用的。 比方說,例如,我們計算機上的信息在數據庫中是可用的,但是當我們需要查看和管理它時,它使用了一種編程語言; 以 MySQL 為例,它伴隨著 php,它被稱為 Web 開發語言,與 WordPress 的開發相同。

我們假設為了速度,我們可以推薦下載 XAMPP 工具,該工具可用於各種版本的 Windows。 XAMPP 帶有許多組件,其中包括:

  • Apache:這將是一個網絡服務器。
  • PHP:Web 開發語言。
  • Fillezilla:他負責調動檔案。
  • Mercury:是郵件服務器,目的是做測試。
  • MySQL:正如我們前面提到的,它是數據庫服務器。

安裝 XAMPP 後,您將可以享受所有這些組件,包括 MySQL,您可以直接啟動並連接到圖形界面,這就是為什麼 XAMPP 除了具有其他組件之外非常有用。

清楚所有這些之後,我們想解釋一下,在我們選擇的用於存儲數據的表類型以及數字數據字段中,我們還有其他類型,我們必須知道哪個是最好的,哪個是最好的。讓我們有機會消耗更少的物理存儲空間,並將給我們希望在該領域存儲的數據的機會。 理解這些問題的唯一方法是 MySQL 為我們提供的不同類型的數據,下面我們將提供這些信息以了解每個組的最合適的用途。

我們邀請您在下面的視頻中觀看有關 MySQL 中數據類型的強化課程以及您需要了解的一切。不要錯過學習機會!:

數值數據

我們可以在 MySQL 中發現一種類型的數據與另一種類型的數據之間的區別只是它可以包含的值的範圍。 在數值數據中我們需要看到我們可以區分兩個大的分支:整數和小數; 現在,我們想根據呈現給我們的情況和我們需要解釋我們可以擁有的數值數據類型:

數字整數

在這一點上,我們要解釋的第一件事是,我們必須存儲此類數據的選項是年齡、數量和沒有小數的大小。 我們還想舉一個例子來更好地理解我們應該為每個字段選擇什麼類型的數據:

我們提供 TIN​​YINT,一種允許我們存儲最大值 127 的數據類型。因此,如果我們需要為用戶的年齡定義一個字段,這是我們可以使用的字段,因為正常的年齡範圍在該數字內除非我們生活在聖經舊約時代,否則沒有人在生物學上超過這個數字; 所以不,這種類型的數據不允許我們存儲 567,例如,如果限制達到 128,則甚至不能存儲 127。

現在,如果我們想為一個大市場的標識符定義一個字段來銷售成千上萬種不同的東西,這將呈指數級變化,顯然 TINYINT 不再為我們服務,除此之外我們應該非常準確地知道物品的數量它銷售,但不僅是我們目前擁有的,而且還試圖對我們不久的將來做出預測,這樣我們的存儲系統就不會很快過時。

我們可以使用像 SMALLINT 這樣的東西,它允許我們對多達 32,000 篇文章進行編號,但是如果我們更改示例並從市場移動到應該用於擁有 5 萬用戶的電話公司的客戶表的 ID 字段,我們不能再有 SMALLINT,而是其他一些像 MEDIUMINT,我們繼續,在我們公司有 200 億客戶的情況下,我們應該使用類型為 INT 的字段。 在變得反复無常並想要定義一個字段來識別生活在地球上的每個人類的情況下,問題會發生變化,那麼我們應該向 BIGNIT 字段尋求幫助,因為 INT 類型只允許最多兩億不同的數據,這顯然不會到達我們。

我們還想確認負值的存在,我們可以在想要保存遊戲分數時找到負值,或者可以標記表格的零以下標記等。

無符號值

讓我們這樣看:負年齡根本沒有任何意義。 如果有可能將每個數據的最大正值的限制加倍以消除該字段可以存儲負值的可能性,我們將把存儲的正限制加倍,並且通常允許存儲值的 TINYINT 類型的字段127,現在可以讓你存儲從 0 到 255 的值。

我們如何定義一個沒有符號的字段? 通過 UNSIGNED 修飾符,我們可以定義一個數字字段。 使用它,我們應該找到一個讀取屬性和 UNSIGNED 值的列,並且該字段不能再包含負值,從而將其存儲容量加倍。

值得一提的是,當在列中定義一個字段時,我們會發現它是 Length,我們寫了一個與我們剛剛選擇的存儲容量一致的數字,這一點很重要。 繼續以年齡為例,如果我們使用 TINYNIT,我們必須將 XNUMX 作為長度,而不是更大或更小的數字。

帶小數的數字

價格、工資、銀行賬戶金額等,我們已經轉移到帶小數的數值,我們已經把整數留在後面,儘管這些數據類型被稱為“浮點數”,因為逗號分隔了整數部分和小數部分,實際上在 MySQL 數據類型之間,它存儲它們,用句點分隔它們; 從這裡我們將擁有三種類型的數據:FLOAT、DOUBLE 和 DECIMAL。

FLOAT 將允許我們存儲至少 -999.99 和最多 999.99 的值。 讓我們考慮到符號 - 不算數,而是將它們分開的點,即小數點,是的,這就是為什麼它們總共是六位數,儘管我們注意到其中兩個是小數; 但是我們有一個叫做簡單精度範圍的東西,它迫使我們使用 0 到 24 之間的十進制數量。

另一方面,DOUBLE 是精度的兩倍,只允許在 25 到 23 之間定義小數位數。使用 FLOAT,這是簡單的精度,可能會導致舍入問題和剩余小數位丟失。 有待解釋的是 DECIMAL,它最適合存儲需要較少長度但精度最高的貨幣值,並且沒有四捨五入,這種類型的數據為要存儲的數字分配一個固定的寬度。 此類數據的最大總位數為 64,其中 30 位是允許的最大小數位數,足以存儲價格、工資和貨幣。

小數點 1

字母數字數據

最後我們離開數值數據的類別進入一個新的類別。 這裡我們將討論存儲字符串,以便更好地解釋它,在 MySQL 的數據類型中,我們有以下幾種:CHAR、VARCHAR、BINARY、VARBINARY、TINYBLOB、TINYTEXT、BLOB、TEXT、MEDIUMBLOB、MEDIUMTEXT, LONGBLOB、LONGTEXT、ENUM和SET,根據我們要存儲的數據,每一種都有自己的特點和優勢。

日期和時間數據

當涉及到 MYSQL 中的數據類型時,這將是我們的最後一個類別。 我們將看到我們有多種選項來存儲引用的數據、日期和時間,查看一種和另一種之間的區別及其主要用途,這樣我們將能夠在每種情況下選擇適當的數據類型。

DATE

MySQL 中的這種類型的數據允許我們存儲日期,其中前四位屬於年份,接下來的兩位屬於月份,最後兩位屬於日期,儘管在西班牙語國家,我們習慣於先對日期進行排序按天計算,然後按月計算,然後按年計算,對於 MYSQL 則完全相反。

重要的是要知道,在讀取 DATE 字段時,雖然它用破折號分隔年與月和月與日,但在插入此數據時,它允許我們連續執行所有操作,例如,我們可以看到它像this: 2018-06-04 並像這樣插入它 20180604. DATE 允許我們處理的日期範圍是 1000-01-01 到 9999-12-31。

除非我們與兩千多年前發生的事件有關並且需要公開它,否則我們對這種格式不會有任何問題; 另一方面,著眼於未來,我們有更多機會,因為使用這種格式,我們幾乎達到了 10,000 年。

約會時間

將字段定義為 DATETIME 將允許我們存儲信息而不是日期,而是時刻,時刻,除了日期,還有它的時間表,首先我們會有年,然後是月,然後是日,那麼我們還有小時、分鐘甚至秒,格式如下:

  • YYYY- MM- DD HH: MM: SS

日期部分的範圍類似於 DATE 類型(10,000 年)的範圍,即從 1000-01-01 到 9999-12-31。 時間表的一部分將是這樣的:從 00:00:00 到 23:53:53。 完成的所有內容將如下所示:1000-01-01 00:00:00 到 9999-12-31 23:59:59。

TIME

在這裡我們可以存儲小時、分鐘和秒,是的,前面的數據類型也這樣做了,但是對於 TIME,我們有一個允許的範圍:-839: 59: 59 到 839: 59: 59; 這將在當前日期來回跨越大約 35 天。 這種類型的數據非常適合計算兩個接近時刻之間的經過時間。

時間戳

這裡我們有一個數據類型,它可能與 DATETIME 非常相似,但它的格式和範圍不同,儘管它對於存儲日期和時間仍然很有用。 有了這個格式的字段,可以給我們呈現三個選項,第一個是:YYYY-MM-DD HH:MM:SS,第二個是:YYYY-MM-DD,第三個更簡單:YY-MM- DD。

在這裡,我們有可能擁有 14、8 或 6 位數字的長度,這一切都取決於我們提供的信息。 這種格式既不像其他格式那樣具有歷史意義,也不像其他格式那樣具有未來感,因為該字段處理的範圍僅從 1970-01-01 到 2037 年。

此外,作為一個奇怪的事實,我們可以確定每次插入或更新記錄時都會自動更新其值,這樣我們將始終在此字段中保留上次更新該數據的日期和時間,即非常理想。無需編程即可控制。

如果我們想從 phpMyAdmin 中定義它,我們所要做的就是在屬性中選擇“更新時”CURRENT_TIMESTAMP 的選項,並將其作為默認值 CURRENT_TIMESTAMP。 插入或修改記錄時其值可以自動更新的字段。

一年

如果我們需要將字段定義為 YEAR,我們可以使用兩位和四位數字存儲年份。 如果我們用兩位數來表示,從 70 到 99(有 70 到 99,我們會理解這些對應於 1970 年到 1999 年的年份範圍,如果我們有從 00 到 69 的數字,那麼我們可以理解指的是 2000 年到 2069 年),在這種提供四位數的情況下,我們會發現可能的範圍會擴大,然後從 1901 年到 2155 年。

我們還有一個額外的可能性,雖然與 MySQL 中的數據類型無關,但與日期和時間有關。 這種額外的可能性是使用 PHP 時間函數生成一個時間戳值(我們再次澄清,我們不再談論 MYSQL,儘管由於名稱非常相似而混淆是有效的)。

無論如何,我們可以將該值存儲在一個 10 位的 INT 字段中,這樣,對我們字段的值進行排序將非常簡單(我們可以以新聞項目的日期為例),然後我們可以通過將該值時間戳轉換為我們可以使用 PHP 自己的日期處理函數使其可讀的內容來顯示該日期。

日期時間-1

我希望通過這篇關於 MySQL 中的數據類型的文章,我們已經能夠讓我們想要解釋的一切都足夠清楚,並且您已經學會瞭如何根據我們所有的信息創建一個數據庫和一個表,完全精確地定義它們的字段使用它們作為數據類型和屬性,因此,能夠或在條件下,正確地開始編程,現在清楚地知道我們將需要什麼格式,根據我們的需要適合我們的需要程序。

我們邀請您閱讀我們與編程相關的另一篇文章: 面向對象編程中的多態.


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:Actualidad Blog
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。