집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에서 다음과 같이 생성과 다음과 같이 생성의 차이점은 무엇입니까? (비교 소개)
이 글의 내용은 MySQL에서 create as와 create like의 차이점에 관한 것입니다. (비교 소개)에는 특정 참고 가치가 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
테이블이나 데이터 구조를 복사하는 등 Navicat Premium을 사용할 때 매우 편리할 수 있습니다. 실제로 테이블 데이터나 구조를 복사하는 방법은 테이블을 생성하는 것과 테이블을 생성하는 것의 차이점이 무엇인지 물을 것입니다. ? . . . 더 이상 고민하지 않고 곧바로 요점으로 들어가겠습니다.
(추천 과정:
MySQL TutorialDROP 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
여기서는 테이블 구조만 필요하므로 위의 1=2 또는 lmit 0은 빈 데이터를 쿼리합니다. 새 테이블 t1_copy에는 인덱스가 없음을 알 수 있습니다.
에는 t1 테이블(소스 테이블)의 인덱스 정보가 부족하고 동일한 테이블 구조만 있습니다. (데이터를 복사하려면 제한 0을 제거하면 됩니다. 즉, 쿼리된 데이터를 모두 복사합니다.)
Create like copy tablecreate table t1_copy2 like t1
like가 생성한 새 테이블에 다음이 포함되어 있음을 발견했습니다. 완전한 소스 테이블 테이블 구조 및 인덱스 정보.
요약: as는 동일한 테이블 구조를 생성하고 원본 테이블 데이터를 복사하는 데 사용됩니다.
like는 완전한 테이블 구조와 모든 인덱스를 만드는 데 사용됩니다.
참고: 두 가지 방법은 테이블을 복사할 때 테이블의 권한 설정을 복사하지 않습니다. 예를 들어 원래 테이블 A에 권한이 설정된 경우 테이블 AA를 복사한 후 테이블 AA에는 테이블 A와 유사한 권한이 없습니다. 관심있는 친구들은 한번 해보세요
위 내용은 MySQL에서 다음과 같이 생성과 다음과 같이 생성의 차이점은 무엇입니까? (비교 소개)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!