01 Unsichtbare Spalten erstellenSo erstellen Sie eine unsichtbare Spalte: TABELLE ERSTELLEN `t2` ( `id` int NICHT NULL AUTO_INCREMENT, `name` varchar(20) DEFAULT NULL, `Alter` int DEFAULT NULL UNSICHTBAR, PRIMÄRSCHLÜSSEL (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci Wie Sie sehen, wird in unserem SQL eine Tabelle t2 mit Feldern einschließlich ID, Name und Alter erstellt, wobei das Altersfeld mit dem Attribut „unsichtbar“ festgelegt ist. Natürlich können wir die Syntax „Alter Table“ verwenden, um eine unsichtbare Spalte zu erstellen und der t2-Tabelle ein unsichtbares Score-Feld hinzuzufügen. mysql> Tabelle ändern t2, Punktzahl hinzufügen int unsichtbar; Abfrage OK, 0 Zeilen betroffen (0,05 Sek.) Datensätze: 0 Duplikate: 0 Warnungen: 0 Kann die Syntax zum Erstellen einer Tabelle perfekt mit unsichtbaren Feldern kompatibel sein? Die Antwort ist ja. mysql> anzeigen, Tabelle erstellen t1\G *************************** 1. Reihe *************************** Tabelle: t1 Tabelle erstellen: CREATE TABLE `t1` ( `id` int NICHT NULL AUTO_INCREMENT, `name` varchar(20) DEFAULT NULL, `Alter` int DEFAULT NULL /*!80023 UNSICHTBAR */, PRIMÄRSCHLÜSSEL (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci 1 Zeile im Satz (0,00 Sek.) mysql> Tabelle t3 wie t1 erstellen; Abfrage OK, 0 Zeilen betroffen (0,09 Sek.) mysql> anzeigen, Tabelle erstellen t3\G *************************** 1. Reihe *************************** Tabelle: t3 Tabelle erstellen: CREATE TABLE `t3` ( `id` int NICHT NULL AUTO_INCREMENT, `name` varchar(20) DEFAULT NULL, `Alter` int DEFAULT NULL /*!80023 UNSICHTBAR */, PRIMÄRSCHLÜSSEL (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci 1 Zeile im Satz (0,00 Sek.) Die Syntax von create table as behält die unsichtbare Spalte standardmäßig nicht bei. Wenn Sie diese Spalte beibehalten möchten, verwenden Sie die folgende Methode: 02 Grundlegende Operationen an unsichtbaren SpaltenWir erstellen eine Tabelle namens t1, die drei Felder enthält: id, name und age. Das Feld age ist unsichtbar. Sehen wir uns einige grundlegende Operationen an: mysql> in t1-Werte einfügen (1, 'zhangsan', 10); FEHLER 1136 (21S01): Die Spaltenanzahl stimmt nicht mit der Werteanzahl in Zeile 1 überein mysql> in t1 (ID, Name, Alter) einfügen Werte (1, 'zhangsan', 10); Abfrage OK, 1 Zeile betroffen (0,01 Sek.) mysql> wähle * aus t1; +----+----------+ | Ich würde | Name | +----+----------+ | 1 | Zhangsan | +----+----------+ 1 Zeile im Satz (0,00 Sek.) Als erstes fügen wir in die Tabelle t1 einen Datensatz ein, der 3 Felder enthält. Wir erhalten eine Fehlermeldung, dass die Anzahl der Spalten nicht übereinstimmt. Beim Einfügen fügen wir dann die entsprechenden Felder hinzu und stellen fest, dass das Einfügen normal ist. Wenn Sie jedoch die Syntax „select *“ für die Abfrage verwenden, stellen Sie fest, dass die Abfrageergebnisse nur zwei Spalten enthalten: „id“ und „name“. Die unsichtbare Spalte „age“ wird standardmäßig nicht angezeigt. Natürlich können wir „Select“ verwenden, um diese Spalte explizit anzuzeigen: mysql> wähle ID, Name, Alter aus t1; +----+----------+------+ | ID | Name | Alter | +----+----------+------+ | 1 | zhangsan | 10 | +----+----------+------+ 1 Zeile im Satz (0,00 Sek.) 03 Unsichtbare SpaltenmetadatenSie können „information_schema“ verwenden, um zu überprüfen, ob eine Spalte eine unsichtbare Spalte ist, oder Sie können den Befehl „desc + table_name“ verwenden. wie folgt: HIER TABLE_SCHEMA = „test“ UND TABLE_NAME = „t1“; +------------+----------+-----------+ | TABELLENNAME | SPALTENNAME | EXTRA | +------------+----------+-----------+ | t1 | ich | | | t1 | j | | | t1 | k | UNSICHTBAR | +------------+----------+-----------+ mysql> Beschreibung test.t1; +----------+----------+------+-----+---------+----------------+ | Feld | Typ | Null | Schlüssel | Standard | Extra | +----------+----------+------+-----+---------+----------------+ | ID | int | NEIN | PRI | NULL | auto_increment | | Name | varchar(20) | JA | | NULL | | | Alter | int | JA | | NULL | UNSICHTBAR | +----------+----------+------+-----+---------+----------------+ 3 Zeilen im Satz (0,00 Sek.) 04 Wird als Primärschlüssel-ID verwendetSchauen Sie sich das folgende Beispiel an. Wir legen den Primärschlüssel „id“ als unsichtbare Spalte fest, damit wir uns mehr auf die Felder konzentrieren können, die mit dem Dateninhalt der Tabelle in Zusammenhang stehen, ohne uns um die Spalte „id“ kümmern und sie ausblenden zu müssen: mysql> Test verwenden Einlesen von Tabelleninformationen zur Vervollständigung von Tabellen- und Spaltennamen Sie können diese Funktion deaktivieren, um einen schnelleren Start mit -A zu erhalten Datenbank geändert mysql> Tabelle t4 erstellen (ID int ungleich null, auto_increment, Primärschlüssel unsichtbar, Name varchar(20), Alter int); Abfrage OK, 0 Zeilen betroffen (0,07 Sek.) mysql> in t4-Werte einfügen ('zhangsan',10),('lisi',15); Abfrage OK, 2 Zeilen betroffen (0,01 Sek.) Datensätze: 2 Duplikate: 0 Warnungen: 0 mysql> wähle * aus t4; +----------+------+ | Name | Alter | +----------+------+ | 10 | | lisi | 15 | +----------+------+ 2 Zeilen im Satz (0,00 Sek.) Diese Methode hat einen großen Vorteil: Unter der Annahme, dass die für das Geschäft entworfene Tabelle keinen Primärschlüssel hat, wird der DBA diese Tabellenstruktur definitiv nicht zulassen. Dann kann der DBA den Primärschlüssel auf eine unsichtbare Spalte setzen, um das Problem dieser Tabelle zu lösen, ohne die Geschäftslogik zu ändern. Oben finden Sie detaillierte Informationen zu den grundlegenden Operationen unsichtbarer Spalten in MySQL 8.0. Weitere Informationen zu unsichtbaren Spalten in MySQL 8.0 finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
>>: JavaScript-Grundlagenobjekte
In der MySQL-Dokumentation können MySQL-Variablen...
Inhaltsverzeichnis EffectList-Sammlung Effektlist...
Ergebnisse erzielen Implementierungscode html <...
Inhaltsverzeichnis 1. Einführung in die grub.cfg-...
Version: centos==7.2 jdk==1.8 Zusammenfluss == 6....
Vorwort Bei der täglichen Entwicklung müssen wir ...
Inhaltsverzeichnis 1. Kapseln Sie komplexe Seiten...
Beim Erstellen von Webseiten ist die Verwendung d...
Häufige Anwendungsszenarien Die Schnittstellen ak...
Vorwort In Datenbanken wie Oracle und SQL Server ...
In Bezug auf High Performance MySQL Version 3 (Ab...
Ergebnisse erzielen Bauen Sie zunächst mit HTML e...
1. Entpacken Sie nginx-1.8.1.tar.gz 2. Entpacken ...
Inhaltsverzeichnis Vorwort 1. Benutzerdefinierter...
Nachdem der Container gestartet wurde Melden Sie ...