首頁 資料庫 mysql教程 MySQL 教學課程類型中的字串型

MySQL 教學課程類型中的字串型

Nov 22, 2018 pm 04:57 PM

這篇文章主要跟大家介紹mysql中列類型之字串型的相關知識介紹,希望對需要的朋友有幫助!

推薦參考教學:《mysql教學

列類型(資料型別)教學課程類型中的字串型>

所謂的列類型,其實就是指數據類型,即對資料進行統一的分類,從系統的角度出發是為了能夠使用統一的方式進行管理,更好的利用有限的空間。

在 SQL 中,將資料型別分成了三大類,分別為:數值型、字串型和日期時間型。

MySQL 教學課程類型中的字串型

字串型教學課程類型中的字串型>

在SQL 中,將字串類型分成了MySQL 教學課程類型中的字串型 類,分別為:char# 、varchartextblobenumset.

第MySQL 教學課程類型中的字串型 類:定長字串

定長字串:char,即磁碟(二維表)在定義結構的時候就已經確定了最終資料的存儲長度。

  • char(L):L 表示Length,也就是可以儲存的長度,單位為字符,最大長度為MySQL 教學課程類型中的字串型MySQL 教學課程類型中的字串型MySQL 教學課程類型中的字串型;

  • char(MySQL 教學課程類型中的字串型):表示在UTFMySQL 教學課程類型中的字串型 環境下,需要MySQL 教學課程類型中的字串型*MySQL 教學課程類型中的字串型=MySQL 教學課程類型中的字串型MySQL 教學課程類型中的字串型 個位元組。

第MySQL 教學課程類型中的字串型 類別:變長字串

#變長字串:varchar,即在指派儲存空間的時候,按照最大的空間分配,但是實際上用了多少,則是根據具體的數據來決定。

  • varchar(L):L 表示Length,理論長度是MySQL 教學課程類型中的字串型MySQL 教學課程類型中的字串型MySQL 教學課程類型中的字串型MySQL 教學課程類型中的字串型MySQL 教學課程類型中的字串型,但是會多出MySQL 教學課程類型中的字串型 到MySQL 教學課程類型中的字串型 個位元組來決定儲存的實際長度;

  • varchar(MySQL 教學課程類型中的字串型0):例如儲存MySQL 教學課程類型中的字串型0 個漢字,在UTFMySQL 教學課程類型中的字串型 環境下,需要MySQL 教學課程類型中的字串型0*MySQL 教學課程類型中的字串型 MySQL 教學課程類型中的字串型=MySQL 教學課程類型中的字串型MySQL 教學課程類型中的字串型 個位元組。

實際上,如果儲存長度超過MySQL 教學課程類型中的字串型MySQL 教學課程類型中的字串型MySQL 教學課程類型中的字串型 個字符,則既不用定長字串也不用變長字串,而是用文字字串text .

如何選擇定長字串或是變長字串呢?

  • 定長字串對磁碟空間比較浪費,但是效率高:如果資料基本上確定長度都一樣,就使用定長字串,例如身分證、電話號碼等;

  • 變長字串對磁碟空間比較節省,但是效率低:如果資料無法確定長度(不同的資料有變化),就使用變長字串,例如位址、姓名等。

第 MySQL 教學課程類型中的字串型 類:文字字串

#如果資料量非常大,通常說超過 MySQL 教學課程類型中的字串型MySQL 教學課程類型中的字串型MySQL 教學課程類型中的字串型 個字元就會使用文字字串。

文字字串根據儲存的格式進行分類,可以分為:

  • text:儲存文字;

  • blob:儲存二進位資料(其實都是儲存路徑),通常不用。

第MySQL 教學課程類型中的字串型 類別:枚舉字串

#列舉字串:enum,需要事先將所有可能出現的結果都設計好,實際上儲存的資料必須是規定好的資料中的一個。

枚舉字串的使用方式:

  • 定義:enum('元素MySQL 教學課程類型中的字串型','元素MySQL 教學課程類型中的字串型','元素MySQL 教學課程類型中的字串型'... ),例如enum('男','女','保密')

  • 使用:儲存的數據,只能是事先定義好的數據。

執行下列SQL 語句建立列舉表,進行測試:

-- 创建枚举表create table my_enum(
    gender enum(&#MySQL 教學課程類型中的字串型9;男&#MySQL 教學課程類型中的字串型9;,&#MySQL 教學課程類型中的字串型9;女&#MySQL 教學課程類型中的字串型9;,&#MySQL 教學課程類型中的字串型9;保密&#MySQL 教學課程類型中的字串型9;)
)charset utfMySQL 教學課程類型中的字串型;
登入後複製

MySQL 教學課程類型中的字串型

再執行如下SQL 語句,向表格my_enum中插入測試資料:

-- 插入测试数据insert into my_enum values (&#MySQL 教學課程類型中的字串型9;男&#MySQL 教學課程類型中的字串型9;),(&#MySQL 教學課程類型中的字串型9;女&#MySQL 教學課程類型中的字串型9;),(&#MySQL 教學課程類型中的字串型9;保密&#MySQL 教學課程類型中的字串型9;);insert into my_enum values (&#MySQL 教學課程類型中的字串型9;male&#MySQL 教學課程類型中的字串型9;);
登入後複製

MySQL 教學課程類型中的字串型

#透過上面的測試,咱們可以發現使用枚舉字串有一個好處,那就是:規範資料格式,插入表中的資料只能是事先定義好的某個資料。

此外,枚舉字串還有一個作用,那就是:節省儲存空間(枚舉資料通常都有一個別名),枚舉實際上儲存的是數值而不是字串本身。

在 MySQL 中,系統是有自動轉換資料格式的功能的。在這裡,咱們可以證明枚舉字段存儲的是數值,具體方法為:將資料取出來 0,如果是字串最終結果永遠為0,否則就是其他值。

-- 验证枚举字段实际存储的格式select gender + 0,gender from my_enum;
登入後複製

MySQL 教學課程類型中的字串型

觀察上述結果,咱們可以找出枚舉元素的實際規律,即按照元素出現的順序,從MySQL 教學課程類型中的字串型開始編號。接下來,咱們再來了解枚舉的原理

#
  • 枚举在进行数据规范(定义)的时候,系统会自动建立一个数字与枚举元素的对应关系(放在日志中);在进行数据插入的时候,系统自动将字符串转换为对应的数值进行存储;在进行数据提取的时候,系统自动将数值转换成对应的字符串进行显示。

通过阅读以上枚举的原理,咱们可以知道:使用枚举的效率并不高(低于其他类型的数据),但能规范数据和节省存储空间。

第 MySQL 教學課程類型中的字串型 类:集合字符串

集合字符串:set,跟枚举类似,实际存储的是数值而不是字符串。

集合字符串的使用方式:

  • 定义:set,元素列表;

  • 使用:可以使用元素列表中的多个元素,用逗号分隔。

执行如下 SQL 语句创建枚举表,进行测试:

-- 创建集合表create table my_set(
    hobby set(&#MySQL 教學課程類型中的字串型9;音乐&#MySQL 教學課程類型中的字串型9;,&#MySQL 教學課程類型中的字串型9;电影&#MySQL 教學課程類型中的字串型9;,&#MySQL 教學課程類型中的字串型9;旅行&#MySQL 教學課程類型中的字串型9;,&#MySQL 教學課程類型中的字串型9;美食&#MySQL 教學課程類型中的字串型9;,&#MySQL 教學課程類型中的字串型9;摄影&#MySQL 教學課程類型中的字串型9;,&#MySQL 教學課程類型中的字串型9;运动&#MySQL 教學課程類型中的字串型9;,&#MySQL 教學課程類型中的字串型9;宠物&#MySQL 教學課程類型中的字串型9;)
)charset utfMySQL 教學課程類型中的字串型;
登入後複製

MySQL 教學課程類型中的字串型

再执行如下 SQL 语句,向表my_set中插入测试数据:

-- 插入测试数据insert into my_set values (&#MySQL 教學課程類型中的字串型9;电影,美食,宠物&#MySQL 教學課程類型中的字串型9;);insert into my_set values (MySQL 教學課程類型中的字串型);
登入後複製

MySQL 教學課程類型中的字串型

再执行如下 SQL 语句,查看表my_set中的数据:

-- 查看数据select hobby + 0,hobby from my_set;
登入後複製

MySQL 教學課程類型中的字串型

观察上面的结果,相信大部分童鞋也懵啦!对于MySQL 教學課程類型中的字串型还好理解,MySQL 教學課程類型中的字串型=MySQL 教學課程類型中的字串型+MySQL 教學課程類型中的字串型,对应于集合中数据的编号,也正是音乐电影;但是MySQL 教學課程類型中的字串型MySQL 教學課程類型中的字串型是什么鬼啊?在此,咱们不妨将集合(&#MySQL 教學課程類型中的字串型9;音乐&#MySQL 教學課程類型中的字串型9;,&#MySQL 教學課程類型中的字串型9;电影&#MySQL 教學課程類型中的字串型9;,&#MySQL 教學課程類型中的字串型9;旅行&#MySQL 教學課程類型中的字串型9;,&#MySQL 教學課程類型中的字串型9;美食&#MySQL 教學課程類型中的字串型9;,&#MySQL 教學課程類型中的字串型9;摄影&#MySQL 教學課程類型中的字串型9;,&#MySQL 教學課程類型中的字串型9;运动&#MySQL 教學課程類型中的字串型9;,&#MySQL 教學課程類型中的字串型9;宠物&#MySQL 教學課程類型中的字串型9;)中的元素选中的记为MySQL 教學課程類型中的字串型,没有选中的记为0,表示成二进制,也就是:

  • 0MySQL 教學課程類型中的字串型0MySQL 教學課程類型中的字串型00MySQL 教學課程類型中的字串型

再将上面的二进制反过来:

  • MySQL 教學課程類型中的字串型00MySQL 教學課程類型中的字串型0MySQL 教學課程類型中的字串型0

不妨算算,上述二进制对应的十进制数,即为MySQL 教學課程類型中的字串型MySQL 教學課程類型中的字串型.

到这里,相信大家已经恍然大悟啦,原来:集合字符串中每一个元素都对应一个二进制位,其中被选中的为MySQL 教學課程類型中的字串型,未选中的为0,最后在反过来,这个二进制数对应的十进制数即为其数据库中实际存储的是数值。

此外,集合字符串中插入元素的顺序并没有影响,最终系统都会自动去匹配集合的顺序,即:

-- 插入测试数据insert into my_set values (&#MySQL 教學課程類型中的字串型9;电影,美食,旅行&#MySQL 教學課程類型中的字串型9;);insert into my_set values (&#MySQL 教學課程類型中的字串型9;旅行,电影,美食&#MySQL 教學課程類型中的字串型9;);
登入後複製

上述两个 SQL 语句会产生相同的结果:

MySQL 教學課程類型中的字串型

如上图所示,显然咱们的结论得到了验证。

最后,集合的原理同枚举类似,因此可以的到相同的结论,即:使用集合的效率并不高(低于其他类型的数据),但能规范数据和节省存储空间。

以上是MySQL 教學課程類型中的字串型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1269
29
C# 教程
1249
24
MySQL的角色:Web應用程序中的數據庫 MySQL的角色:Web應用程序中的數據庫 Apr 17, 2025 am 12:23 AM

MySQL在Web應用中的主要作用是存儲和管理數據。 1.MySQL高效處理用戶信息、產品目錄和交易記錄等數據。 2.通過SQL查詢,開發者能從數據庫提取信息生成動態內容。 3.MySQL基於客戶端-服務器模型工作,確保查詢速度可接受。

說明InnoDB重做日誌和撤消日誌的作用。 說明InnoDB重做日誌和撤消日誌的作用。 Apr 15, 2025 am 12:16 AM

InnoDB使用redologs和undologs確保數據一致性和可靠性。 1.redologs記錄數據頁修改,確保崩潰恢復和事務持久性。 2.undologs記錄數據原始值,支持事務回滾和MVCC。

MySQL:世界上最受歡迎的數據庫的簡介 MySQL:世界上最受歡迎的數據庫的簡介 Apr 12, 2025 am 12:18 AM

MySQL是一種開源的關係型數據庫管理系統,主要用於快速、可靠地存儲和檢索數據。其工作原理包括客戶端請求、查詢解析、執行查詢和返回結果。使用示例包括創建表、插入和查詢數據,以及高級功能如JOIN操作。常見錯誤涉及SQL語法、數據類型和權限問題,優化建議包括使用索引、優化查詢和分錶分區。

MySQL的位置:數據庫和編程 MySQL的位置:數據庫和編程 Apr 13, 2025 am 12:18 AM

MySQL在數據庫和編程中的地位非常重要,它是一個開源的關係型數據庫管理系統,廣泛應用於各種應用場景。 1)MySQL提供高效的數據存儲、組織和檢索功能,支持Web、移動和企業級系統。 2)它使用客戶端-服務器架構,支持多種存儲引擎和索引優化。 3)基本用法包括創建表和插入數據,高級用法涉及多表JOIN和復雜查詢。 4)常見問題如SQL語法錯誤和性能問題可以通過EXPLAIN命令和慢查詢日誌調試。 5)性能優化方法包括合理使用索引、優化查詢和使用緩存,最佳實踐包括使用事務和PreparedStatemen

為什麼要使用mysql?利益和優勢 為什麼要使用mysql?利益和優勢 Apr 12, 2025 am 12:17 AM

選擇MySQL的原因是其性能、可靠性、易用性和社區支持。 1.MySQL提供高效的數據存儲和檢索功能,支持多種數據類型和高級查詢操作。 2.採用客戶端-服務器架構和多種存儲引擎,支持事務和查詢優化。 3.易於使用,支持多種操作系統和編程語言。 4.擁有強大的社區支持,提供豐富的資源和解決方案。

MySQL與其他編程語言:一種比較 MySQL與其他編程語言:一種比較 Apr 19, 2025 am 12:22 AM

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。MySQL以其高性能、可扩展性和跨平台支持著称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。

MySQL:從小型企業到大型企業 MySQL:從小型企業到大型企業 Apr 13, 2025 am 12:17 AM

MySQL適合小型和大型企業。 1)小型企業可使用MySQL進行基本數據管理,如存儲客戶信息。 2)大型企業可利用MySQL處理海量數據和復雜業務邏輯,優化查詢性能和事務處理。

MySQL索引基數如何影響查詢性能? MySQL索引基數如何影響查詢性能? Apr 14, 2025 am 12:18 AM

MySQL索引基数对查询性能有显著影响:1.高基数索引能更有效地缩小数据范围,提高查询效率;2.低基数索引可能导致全表扫描,降低查询性能;3.在联合索引中,应将高基数列放在前面以优化查询。

See all articles