ホームページ >データベース >mysql チュートリアル >Mysql での create as と create like の違いは何ですか? (比較紹介)

Mysql での create as と create like の違いは何ですか? (比較紹介)

不言
不言転載
2019-02-14 11:52:374322ブラウズ

この記事の内容は、Mysql の create as と create like の違いについてです。 (比較紹介)困っている友人は参考にしていただければ幸いです。

Navicat Premium を使用すると、テーブルやデータ構造をコピーする場合など、非常に便利であることがわかります。実際、テーブル データや構造をコピーするこの方法は、テーブルとして作成され、テーブルのように作成されます。

注意深い友達は、それらの違いは何ですか?と尋ねます。 。 。 。早速、本題に入りましょう:,

(推奨コース: MySQL チュートリアル)

たとえば、テーブル データ 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');

注意 これにはインデックスがあります:

コピーテーブルとして作成

create table t1_copy as select * from t1 where 1=2# 或者 create table t1_copy as select * from t1 limit 0

ここで必要なのはテーブル構造なので、where 上記 1=2 または limit 0 は空のデータをクエリします。新しいテーブル t1_copy にはインデックスがないことがわかります。

t1 テーブル (ソース テーブル) のインデックス情報が欠落していますが、テーブル構造だけが同じです。 (データをコピーしたい場合は、制限 0 を削除するだけです。つまり、クエリされたデータをすべてコピーします)

コピー テーブルのように作成します

create table t1_copy2 like t1

like によって作成された新しいテーブルには、ソース テーブルの完全なテーブル構造とインデックス情報が含まれていることがわかりました。

概要:

as は、同じテーブル構造を作成し、ソース テーブル データをコピーするために使用されます。

like は、完全なテーブル構造とすべてのインデックスを作成するために使用されます。

注: この 2 つの方法では、テーブルをコピーするときにテーブルの権限設定はコピーされません。たとえば、最初にテーブル A に権限が設定されていた場合、テーブル AA をコピーした後、テーブル AA にはテーブル A と同様の権限がありません。興味のある友達は試してみてください

以上がMysql での create as と create like の違いは何ですか? (比較紹介)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。