Heim > Datenbank > MySQL-Tutorial > MYSQL-Tabellenoperationen

MYSQL-Tabellenoperationen

齐天大圣
Freigeben: 2020-05-27 09:05:14
Original
179 Leute haben es durchsucht

Wenn eine Bibliothek erstellt wird, müssen als nächstes Tabellen erstellt werden. Um eine Tabelle zu erstellen, müssen Sie nicht nur die Syntax kennen, sondern auch die Spaltentypen, Indizes usw. Im Folgenden wird nur auf die Syntax zum Erstellen von Tabellen eingegangen und nicht auf die Spaltentypen.

Erstellen Sie eine Tabelle

Syntax zum Erstellen einer Tabelle:

CREATE TABLE [IF NOT EXISTS] 表名 (
    字段名1 列类型 [属性] [索引],
    字段名2 列类型 [属性] [索引],
    字段名3 列类型 [属性] [索引],
    ......
) [表类型] [表字符集]
Nach dem Login kopieren

Eine Sache, die hier zu beachten ist, ist der Feldname sollte nicht mit dem Schlüssel von MySQL identisch sein. Wenn Sie dies wirklich tun möchten, müssen Sie vor und nach dem Feldnamen `-Symbole hinzufügen. Dieses Symbol befindet sich über der Tabulatortaste.

Jetzt erstellen wir eine Benutzertabelle mit folgenden Feldern: Benutzer-ID, Benutzername, Benutzerpasswort, Mobiltelefonnummer, Geschlecht und Geburtstag.

create table if not exists users(
  user_id int(10) unsigned auto_increment primary key,
  username varchar(16) not null default '' collate utf8mb4_bin comment '用户名',
  userpass char(32) not null collate utf8mb4_bin default '',
  mobile char(11) not null default '' unique,
  gender enum('未知', '男', '女') default '未知',
  birth date not null default '1900-01-01',
  index username(username)
) engine=innodb default charset utf8mb4 collate utf8mb4_general_ci;
Nach dem Login kopieren

Normalerweise erstellen wir für jede Tabelle ein eindeutiges Identifikationsfeld, hier ist user_id, um zukünftige Vorgänge zu erleichtern. Die Sortierung ist hier sowohl für die Felder „Benutzername“ als auch „Benutzerkennung“ festgelegt. Dies liegt daran, dass bei diesen beiden Feldern die Groß-/Kleinschreibung beachtet wird. Darüber hinaus haben wir zwei Indizes für die Tabelle erstellt, nämlich das Feld „mobil“ und das Feld „Benutzername“. Für Mobilgeräte wird ein eindeutiger Index festgelegt, was bedeutet, dass die Mobiltelefonnummer nicht wiederholt werden kann. Durch die Erstellung eines allgemeinen Indexes für den Benutzernamen soll die Suche nach Benutzernamen beschleunigt werden.

Tabelle und Tabellenstruktur anzeigen

Nachdem die Tabelle erstellt wurde, möchten wir sehen, ob sie wirklich erfolgreich erstellt wurde. Sie können alle Tabellen in der aktuellen Bibliothek über „Tabellen anzeigen“ anzeigen.

mysql> show tables;
+---------------+
| Tables_in_job |
+---------------+
| users      |
+---------------+
1 row in set
Nach dem Login kopieren

Die Tabelle wurde zwar erfolgreich generiert, aber wenn Sie sehen möchten, welche Felder und Attribute in der Tabelle enthalten sind, können Sie dies über den Tabellennamen desc überprüfen.

Tabellen löschen und löschen

Hinweis: Das Löschen einer Tabelle ist ein gefährlicher Vorgang. Gehen Sie daher vorsichtig vor !

Syntax der Löschtabelle: DROP TABLE [IF EXISTS] Tabellenname

Keine Demonstration hier.

Tabellensyntax löschen: Tabellennamen TRUNCATE

Hier konzentrieren wir uns auf den Unterschied zwischen „Benutzer abschneiden“ und „Aus Benutzern löschen“.

  • Abschneiden entspricht dem Löschen der Tabelle und dem anschließenden Neuerstellen der Tabelle. Alle Daten in der Tabelle wurden zurückgesetzt.

  • Während beim Löschen nur die Daten in der Tabelle gelöscht werden, werden einige Attributinformationen der Tabelle, wie z. B. die automatisch inkrementierte ID, nicht zurückgesetzt.

Ändern Sie die Tabelle

Abschließend schauen wir uns an, wie Sie die Tabelle ändern. Es wird an letzter Stelle platziert, da seine Syntax am kompliziertesten ist und es sich um den schwierigsten Teil von Tabellenoperationen handelt. Die Syntax lautet wie folgt:

ALTER TABLE 数据表名 alter_spec[,alter_spec] ... table options
Nach dem Login kopieren

Ich habe allgemeine Operationen wie folgt organisiert:

  • Neue Felder hinzufügen: ALTER TABLE Tabellenname Feld hinzufügen Name ist, dass „Modifizieren“ nur den Spaltentyp ändern kann, während „Ändern“ zusätzlich zum Ändern des Spaltentyps auch den Spaltennamen ändern kann.

  • Feld löschen: ... DROP-Spaltenname

  • Indexnamen hinzufügen: ... ADD INDEX [INDEX_NAME] (index_col1,index_col2, ...)

  • DROP INDEX INDEX_NAME

  • DROP PRIMARY KEY

  • Primärschlüssel hinzufügen: ... PRIMÄRSCHLÜSSEL HINZUFÜGEN (INDEX_COL1,INDEX_COL2,...)

  • Eindeutigen Index hinzufügen: ... EINZIGARTIGEN [index_name] (index_col1,index_col2,...) HINZUFÜGEN

  • Ändern Sie den Tabellennamen: RENAME newName

  • Lass es uns üben

  • Fügen Sie zunächst ein neues Feld „E-Mail“ hinzu und platzieren Sie es nach dem Benutzerpass .
ALTER TABLE users ADD email VARCHAR(255) NOT NULL DEFAULT '' AFTER userpass;
Nach dem Login kopieren

Benutzerpass ändern und die Länge auf 64 Bit ändern

ALTER TABLE users MODIFY userpass CHAR(64) NOT NULL DEFAULT '' COMMENT '用户登录密码';
Nach dem Login kopieren

Benutzerpass ändern und in auth ändern

ALTER TABLE users CHANGE userpass `auth` char(32) NOT NULL DEFAULT '';
Nach dem Login kopieren

Einen normalen Index zur E-Mail hinzufügen

ALTER TABLE users ADD INDEX eamil(email);
Nach dem Login kopieren

E-Mail-Index löschen

ALTER TABLE users DROP INDEX eamil;
Nach dem Login kopieren

Löschen Sie einen eindeutigen Index, genau wie das Löschen eines normalen Index

ALTER TABLE users DROP INDEX mobile;
Nach dem Login kopieren

Fügen Sie einen eindeutigen Index hinzu

ALTER TABLE users ADD UNIQUE mobile(mobile);
或
ALTER TABLE users ADD UNIQUE (mobile);
Nach dem Login kopieren

Löschen Sie den Primärschlüssel. Sie müssen vorher aoto_increment löschen löschen;

ALTER TABLE users MODIFY user_id INT(10) NOT NULL;
ALTER TABLE users DROP PRIMARY KEY;
Nach dem Login kopieren

Primärschlüssel hinzufügen

ALTER TABLE users ADD PRIMARY KEY (user_id);
Nach dem Login kopieren

Das Obige beschreibt nur einige Syntax von Tabellenoperationen, Spaltentypen und Indizes usw. Wenn Sie interessiert sind, können Sie die relevanten Informationen lesen.

Das obige ist der detaillierte Inhalt vonMYSQL-Tabellenoperationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
1
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage