Heim  >  Artikel  >  Datenbank  >  String-Typ im Spaltentyp im MySQL-Tutorial

String-Typ im Spaltentyp im MySQL-Tutorial

藏色散人
藏色散人nach vorne
2018-11-22 16:57:013611Durchsuche

Dieser Artikel stellt Ihnen hauptsächlich das relevante Wissen über den String-Typ im MySQL-Spaltentyp vor. Ich hoffe, dass er Freunden in Not hilfreich sein wird!

Empfohlenes Referenz-Tutorial: „MySQL-Tutorial

Spaltentyp (Datentyp) im Spaltentyp im MySQL-Tutorial>

Der sogenannte Spaltentyp bezieht sich tatsächlich auf Der Datentyp, also eine einheitliche Klassifizierung von Daten, besteht aus Systemsicht darin, sie einheitlich verwalten und den begrenzten Platz besser nutzen zu können.

In SQL werden Datentypen in drei Hauptkategorien unterteilt: Numerischer Typ, Zeichenfolgentyp und Datums- und Uhrzeittyp.

String-Typ im Spaltentyp im MySQL-Tutorial

String-Typ im Spaltentyp im MySQL-Tutorial>

In SQL ist der String-Typ in String-Typ im Spaltentyp im MySQL-Tutorial Kategorien unterteilt, nämlich: char, varchar, text, blob, enum und set.

Kategorie String-Typ im Spaltentyp im MySQL-Tutorial: Zeichenfolge fester Länge

Zeichenfolge fester Länge: char, das heißt , Die Festplatte (zweidimensionale Tabelle) hat bei der Definition der Struktur bereits die Speicherlänge der endgültigen Daten bestimmt.

  • char(L): L steht für Länge, also die Länge, die in Zeichen gespeichert werden kann. Die maximale Länge beträgt

  • char(4): Zeigt an, dass in der UTFString-Typ im Spaltentyp im MySQL-Tutorial-Umgebung 4*String-Typ im Spaltentyp im MySQL-Tutorial=String-Typ im Spaltentyp im MySQL-TutorialString-Typ im Spaltentyp im MySQL-Tutorial Bytes erforderlich sind.

Kategorie String-Typ im Spaltentyp im MySQL-Tutorial: Zeichenfolge variabler Länge

Zeichenfolge variabler Länge: varchar, d. h. bei der Zuweisung von Speicherplatz gemäß Die maximale Platzzuteilung, aber wie viel tatsächlich genutzt wird, wird anhand konkreter Daten ermittelt.

  • varchar(L): L bedeutet Länge, die theoretische Länge beträgt String-Typ im Spaltentyp im MySQL-TutorialString-Typ im Spaltentyp im MySQL-TutorialString-Typ im Spaltentyp im MySQL-TutorialString-Typ im Spaltentyp im MySQL-TutorialString-Typ im Spaltentyp im MySQL-Tutorial, es werden jedoch String-Typ im Spaltentyp im MySQL-Tutorial bis String-Typ im Spaltentyp im MySQL-Tutorial weitere Bytes benötigt, um die tatsächliche Speicherlänge zu bestimmen; 🎜 >

  • : Um beispielsweise String-Typ im Spaltentyp im MySQL-Tutorial0 chinesische Zeichen zu speichern, werden in der UTFString-Typ im Spaltentyp im MySQL-Tutorial-Umgebung String-Typ im Spaltentyp im MySQL-Tutorial0*String-Typ im Spaltentyp im MySQL-Tutorial+String-Typ im Spaltentyp im MySQL-Tutorial=String-Typ im Spaltentyp im MySQL-TutorialString-Typ im Spaltentyp im MySQL-Tutorial Bytes benötigt.
  • varchar(String-Typ im Spaltentyp im MySQL-Tutorial0)

    Wenn die Speicherlänge String-Typ im Spaltentyp im MySQL-TutorialString-Typ im Spaltentyp im MySQL-TutorialString-Typ im Spaltentyp im MySQL-Tutorial Zeichen überschreitet, wird tatsächlich weder eine Zeichenfolge fester Länge noch eine Zeichenfolge variabler Länge verwendet, sondern eine Textzeichenfolge
  • .

Wie wähle ich eine Zeichenfolge mit fester Länge oder eine Zeichenfolge mit variabler Länge aus? text

Zeichenfolgen fester Länge verschwenden Speicherplatz, sind aber äußerst effizient: Wenn die Daten grundsätzlich die gleiche Länge haben, verwenden Sie Zeichenfolgen fester Länge, z. B. Ausweise, Telefonnummern usw. ;
  • Strings mit variabler Länge sparen Speicherplatz, sind aber ineffizient: Wenn die Länge der Daten nicht bestimmt werden kann (verschiedene Datenänderungen), verwenden Sie Strings mit variabler Länge, z. B. Adressen und Namen warten.
  • Kategorie String-Typ im Spaltentyp im MySQL-Tutorial: Textzeichenfolge

Textzeichenfolge wird verwendet, wenn die Datenmenge sehr groß ist, normalerweise mehr als String-Typ im Spaltentyp im MySQL-TutorialString-Typ im Spaltentyp im MySQL-TutorialString-Typ im Spaltentyp im MySQL-Tutorial Zeichen.

Textzeichenfolgen werden nach dem Speicherformat klassifiziert und können unterteilt werden in:

    : speichert Text; 🎜 >
  • : speichert Binärdaten (die eigentlich Speicherpfade sind), die normalerweise nicht verwendet werden.

    text

  • Kategorie 4: Aufzählungszeichenfolge

    blob

    Aufzählungszeichenfolge:
  • , alle möglichen Ergebnisse müssen im Voraus aufgezeichnet werden. Gut gestaltet, das eigentlich Die gespeicherten Daten müssen zu den angegebenen Daten gehören.

Verwendung der Aufzählungszeichenfolge:

Definition: enum, wie

; Verwendung: Die Bei den gespeicherten Daten kann es sich nur um vordefinierte Daten handeln.

  • Führen Sie die folgende SQL-Anweisung aus, um eine Aufzählungstabelle zum Testen zu erstellen:

    -- 创建枚举表create table my_enum(
        gender enum(&#String-Typ im Spaltentyp im MySQL-Tutorial9;男&#String-Typ im Spaltentyp im MySQL-Tutorial9;,&#String-Typ im Spaltentyp im MySQL-Tutorial9;女&#String-Typ im Spaltentyp im MySQL-Tutorial9;,&#String-Typ im Spaltentyp im MySQL-Tutorial9;保密&#String-Typ im Spaltentyp im MySQL-Tutorial9;)
    )charset utfString-Typ im Spaltentyp im MySQL-Tutorial;
    enum(String-Typ im Spaltentyp im MySQL-Tutorial9;元素String-Typ im Spaltentyp im MySQL-TutorialString-Typ im Spaltentyp im MySQL-Tutorial9;,String-Typ im Spaltentyp im MySQL-Tutorial9;元素String-Typ im Spaltentyp im MySQL-TutorialString-Typ im Spaltentyp im MySQL-Tutorial9;,String-Typ im Spaltentyp im MySQL-Tutorial9;元素String-Typ im Spaltentyp im MySQL-TutorialString-Typ im Spaltentyp im MySQL-Tutorial9;...)enum(String-Typ im Spaltentyp im MySQL-Tutorial9;男String-Typ im Spaltentyp im MySQL-Tutorial9;,String-Typ im Spaltentyp im MySQL-Tutorial9;女String-Typ im Spaltentyp im MySQL-Tutorial9;,String-Typ im Spaltentyp im MySQL-Tutorial9;保密String-Typ im Spaltentyp im MySQL-Tutorial9;)

  • Führen Sie die folgende SQL-Anweisung erneut aus, um eine Tabelle hinzuzufügen
  • Testdaten einfügen in:

    -- 插入测试数据insert into my_enum values (&#String-Typ im Spaltentyp im MySQL-Tutorial9;男&#String-Typ im Spaltentyp im MySQL-Tutorial9;),(&#String-Typ im Spaltentyp im MySQL-Tutorial9;女&#String-Typ im Spaltentyp im MySQL-Tutorial9;),(&#String-Typ im Spaltentyp im MySQL-Tutorial9;保密&#String-Typ im Spaltentyp im MySQL-Tutorial9;);insert into my_enum values (&#String-Typ im Spaltentyp im MySQL-Tutorial9;male&#String-Typ im Spaltentyp im MySQL-Tutorial9;);

Durch den obigen Test können wir feststellen, dass die Verwendung von Aufzählungszeichenfolgen einen Vorteil bietet, das heißt:

standardisieren Sie die Datenformat, einfügen Die Daten in der Tabelle können nur bestimmte Daten sein, die im Voraus definiert wurden.

String-Typ im Spaltentyp im MySQL-Tutorial

Darüber hinaus haben Aufzählungszeichenfolgen noch eine weitere Funktion, nämlich:

Speicherplatz sparen (Aufzählungsdaten haben normalerweise einen Alias, in dem tatsächlich numerische Werte anstelle der Zeichenfolge selbst gespeichert werden). my_enum

In MySQL verfügt das System über die Funktion, Datenformate automatisch zu konvertieren. Hier können wir beweisen, dass das Aufzählungsfeld numerische Werte speichert: Nehmen Sie die Daten heraus String-Typ im Spaltentyp im MySQL-Tutorial Wenn es sich um eine Zeichenfolge handelt, ist das Endergebnis immer

, andernfalls sind es andere Werte.

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

Anhand der obigen Ergebnisse können wir die tatsächlichen Regeln für die Aufzählung von Elementen herausfinden, d. h. die Nummerierung beginnt bei in der Reihenfolge, in der die Elemente erscheinen. Als nächstes lernen wir das Prinzip der Aufzählung

kennen:

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

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

第 String-Typ im Spaltentyp im MySQL-Tutorial 类:集合字符串

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

集合字符串的使用方式:

  • 定义:set,元素列表;

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

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

-- 创建集合表create table my_set(
    hobby set(&#String-Typ im Spaltentyp im MySQL-Tutorial9;音乐&#String-Typ im Spaltentyp im MySQL-Tutorial9;,&#String-Typ im Spaltentyp im MySQL-Tutorial9;电影&#String-Typ im Spaltentyp im MySQL-Tutorial9;,&#String-Typ im Spaltentyp im MySQL-Tutorial9;旅行&#String-Typ im Spaltentyp im MySQL-Tutorial9;,&#String-Typ im Spaltentyp im MySQL-Tutorial9;美食&#String-Typ im Spaltentyp im MySQL-Tutorial9;,&#String-Typ im Spaltentyp im MySQL-Tutorial9;摄影&#String-Typ im Spaltentyp im MySQL-Tutorial9;,&#String-Typ im Spaltentyp im MySQL-Tutorial9;运动&#String-Typ im Spaltentyp im MySQL-Tutorial9;,&#String-Typ im Spaltentyp im MySQL-Tutorial9;宠物&#String-Typ im Spaltentyp im MySQL-Tutorial9;)
)charset utfString-Typ im Spaltentyp im MySQL-Tutorial;

String-Typ im Spaltentyp im MySQL-Tutorial

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

-- 插入测试数据insert into my_set values (&#String-Typ im Spaltentyp im MySQL-Tutorial9;电影,美食,宠物&#String-Typ im Spaltentyp im MySQL-Tutorial9;);insert into my_set values (String-Typ im Spaltentyp im MySQL-Tutorial);

String-Typ im Spaltentyp im MySQL-Tutorial

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

-- 查看数据select hobby + 0,hobby from my_set;

String-Typ im Spaltentyp im MySQL-Tutorial

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

  • 0String-Typ im Spaltentyp im MySQL-Tutorial0String-Typ im Spaltentyp im MySQL-Tutorial00String-Typ im Spaltentyp im MySQL-Tutorial

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

  • String-Typ im Spaltentyp im MySQL-Tutorial00String-Typ im Spaltentyp im MySQL-Tutorial0String-Typ im Spaltentyp im MySQL-Tutorial0

不妨算算,上述二进制对应的十进制数,即为String-Typ im Spaltentyp im MySQL-Tutorial4.

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

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

-- 插入测试数据insert into my_set values (&#String-Typ im Spaltentyp im MySQL-Tutorial9;电影,美食,旅行&#String-Typ im Spaltentyp im MySQL-Tutorial9;);insert into my_set values (&#String-Typ im Spaltentyp im MySQL-Tutorial9;旅行,电影,美食&#String-Typ im Spaltentyp im MySQL-Tutorial9;);

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

String-Typ im Spaltentyp im MySQL-Tutorial

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

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

Das obige ist der detaillierte Inhalt vonString-Typ im Spaltentyp im MySQL-Tutorial. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen