Heim >Datenbank >MySQL-Tutorial >MYSQL-Tabellenoperationen

MYSQL-Tabellenoperationen

齐天大圣
齐天大圣Original
2020-05-27 08:48:45195Durchsuche

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 列类型 [属性] [索引],
    ......
) [表类型] [表字符集]

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;

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

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

Ich habe allgemeine Operationen wie folgt organisiert:

  • Neue Felder hinzufügen: ALTER TABLE Tabellenname Feld hinzufügen Name 6ffc8270e492970e2cf12913c530cefa 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;

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

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

Benutzerpass ändern und in auth ändern

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

Einen normalen Index zur E-Mail hinzufügen

ALTER TABLE users ADD INDEX eamil(email);

E-Mail-Index löschen

ALTER TABLE users DROP INDEX eamil;

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

ALTER TABLE users DROP INDEX mobile;

Fügen Sie einen eindeutigen Index hinzu

ALTER TABLE users ADD UNIQUE mobile(mobile);
或
ALTER TABLE users ADD UNIQUE (mobile);

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;

Primärschlüssel hinzufügen

ALTER TABLE users ADD PRIMARY KEY (user_id);

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!

Stellungnahme:
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