Heim  >  Artikel  >  Datenbank  >  Was ist der Unterschied zwischen „create as“ und „create like“ in MySQL? (Vergleichende Einführung)

Was ist der Unterschied zwischen „create as“ und „create like“ in MySQL? (Vergleichende Einführung)

不言
不言nach vorne
2019-02-14 11:52:374246Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Frage, was der Unterschied zwischen „Erstellen als“ und „Erstellen wie“ in MySQL ist. (Vergleichende Einführung) hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen.

Sie können es sehr praktisch finden, wenn Sie Navicat Premium verwenden, z. B. das Kopieren von Tabellendaten oder -strukturen. Tatsächlich wird diese Methode zum Kopieren von Tabellendaten oder -strukturen als Tabelle erstellt >Aufmerksame Freunde werden fragen: Was ist der Unterschied zwischen ihnen? . . . Kommen wir ohne weitere Umschweife direkt zur Sache:

(Empfohlene Kurse:

MySQL-Tutorial

) Hier sind zum Beispiel Tabellendaten t1:

DROP TABLE IF EXISTS `t1`;
CREATE TABLE `t1`  (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID,自增',
  `uid` bigint(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户uid',
  `nickname` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '昵称',
  `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '用户名',
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `unn`(`uid`, `name`, `nickname`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci  ROW_FORMAT = Compact;

-- ----------------------------
-- Records of t1
-- ----------------------------
INSERT INTO `t1` VALUES (3, 100, 'kaven', 'test3');
INSERT INTO `t1` VALUES (2, 101, 'maha', 'test2');
INSERT INTO `t1` VALUES (4, 102, 'loose', 'test4');
INSERT INTO `t1` VALUES (5, 105, 'balala', 'test5');

Hinweis Es gibt einen Index darauf:


Als Kopiertabelle erstellen

create table t1_copy as select * from t1 where 1=2# 或者 create table t1_copy as select * from t1 limit 0
Hier brauchen wir nur die Tabellenstruktur, also wo oben 1=2 oder lmit 0 leere Daten abfragt. Wir werden feststellen, dass die neue Tabelle t1_copy keinen Index hat:


fehlt die Indexinformation der t1-Tabelle (Quelltabelle) und hat nur die gleiche Tabellenstruktur. (Wenn Sie Daten kopieren möchten, entfernen Sie einfach die Grenze 0, d. h. kopieren Sie alle abgefragten Daten)

Ähnliche Kopiertabelle erstellen

create table t1_copy2 like t1

Wir haben festgestellt, dass die von like erstellte neue Tabelle die vollständige Tabellenstruktur und Indexinformationen der Quelltabelle enthält.

Zusammenfassung

: wie es zum Erstellen derselben Tabellenstruktur und zum Kopieren der Quelltabellendaten verwendet wird.

like wird verwendet, um eine vollständige Tabellenstruktur und alle Indizes zu erstellen.

Hinweis: Die beiden Methoden kopieren beim Kopieren der Tabelle nicht die Berechtigungseinstellungen für die Tabelle. Wenn beispielsweise ursprünglich Berechtigungen für Tabelle A festgelegt wurden, verfügt Tabelle AA nach dem Kopieren von Tabelle AA nicht über ähnliche Berechtigungen wie Tabelle A. Interessierte Freunde können es ausprobieren

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen „create as“ und „create like“ in MySQL? (Vergleichende Einführung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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