Maison  >  Article  >  base de données  >  Quelle est la différence entre créer comme et créer comme dans Mysql ? (Introduction comparative)

Quelle est la différence entre créer comme et créer comme dans Mysql ? (Introduction comparative)

不言
不言avant
2019-02-14 11:52:374248parcourir

Le contenu de cet article porte sur quelle est la différence entre créer comme et créer comme dans Mysql ? (Introduction comparative), il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

Vous pouvez trouver cela très pratique lors de l'utilisation de Navicat Premium, comme la copie de tables ou de structures de données. En fait, cette méthode de copie de données ou de structures de table consiste à créer une table en tant que et à créer une table en tant que

Des amis prudents demanderont quelle est la différence entre eux ? . . . Sans plus attendre, allons droit au but :

(Cours recommandé :

Tutoriel MySQL)

Par exemple, voici les données de la table 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');
Notez qu'il y a un index ci-dessus :


Créer en tant que table de copie

create table t1_copy as select * from t1 where 1=2# 或者 create table t1_copy as select * from t1 limit 0
Ici nous n'avons besoin que de la structure de la table, donc ce qui précède où 1=2 ou lmit 0 interroge des données vides. Nous constaterons que la nouvelle table t1_copy n'a pas d'index :


n'a pas les informations d'index de la table t1 (table source) et n'a que la même structure de table. (Si vous souhaitez copier des données, supprimez simplement la limite 0, c'est-à-dire copiez toutes les données interrogées)

Créer comme une table de copie

create table t1_copy2 like t1

Nous avons constaté que la nouvelle table créée par like contient la structure complète de la table et les informations d'index de la table source.

Résumé :

as est utilisé pour créer la même structure de table et copier les données de la table source.

like est utilisé pour créer une structure de table complète et tous les index.

Remarque : les deux méthodes ne copieront pas les paramètres d'autorisation sur la table lors de la copie de la table. Par exemple, si les autorisations ont été initialement définies pour la table A, après avoir copié la table AA, la table AA ne dispose pas d'autorisations similaires à la table A. Les amis intéressés peuvent l'essayer

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer