MySQL 에서 create table as 와 like 의 차이 점 분석

3096 단어 MySQLaslike구별
본 고 는 MySQL 에서 create table as 와 like 의 차 이 를 분석 했다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
Navicat Premium 을 사용 할 때 편리 함 을 발견 할 수 있 습 니 다.예 를 들 어 복사 표 나 데이터 구조 등 이 있 습 니 다.사실은 이런 복사 표 데이터 나 구조 방법 은 바로...
create table as 와 create table like 같은 방식 으로 이 루어 집 니 다.
세심 한 친 구 는 그들 에 게 어떤 차이 가 있 느 냐 고 물 을 것 이다.잔말 말고 본론 으로 들 어가 라.
예 를 들 어 여기에 표 데이터 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 t1copy as select * from t1 limit 0
여기 서 우 리 는 표 구조 만 필요 하기 때문에 위의 where 1=2 또는 lmit 0 은 빈 데 이 터 를 조회 합 니 다.우 리 는 새 시계 t1 을 발견 할 것 이다.복사 에 색인 이 없습니다:

t1 표(원본 표)의 색인 정보 가 부족 하고 표 구조 만 같 습 니 다.(데 이 터 를 복사 하려 면 limit 0 을 제거 하면 됩 니 다.즉,조 회 된 모든 데이터 복사 입 니 다)
복사 표 처럼 만 들 기
create table t1_copy2 like t1

우 리 는 like 가 만 든 새 표 에 원본 표 의 전체 표 구조 와 색인 정 보 를 포함 하 는 것 을 발견 했다.
요약:
as 는 같은 표 구 조 를 만 들 고 원본 표 데 이 터 를 복사 하 는 데 사 용 됩 니 다.
like 는 전체 표 구조 와 모든 색인 을 만 드 는 데 사 용 됩 니 다.
메모:두 가지 방식 은 시 계 를 복사 할 때 표 에 대한 권한 설정 을 복사 하지 않 습 니 다.예 를 들 어 원래 표 A 에 대해 권한 설정 을 했 는데 표 AA 를 복사 한 후에 표 AA 는 표 A 와 유사 한 권한 을 가지 지 않 았 다.관심 있 으 신 분 들 은 해 보 세 요.
다음은 다른 네티즌 의 보충
my sql 의 복사 같은 표 구조 방법 에 대해 create table as 와 create table like 두 가지 가 있 는데 차이 점 은 무엇 입 니까?
create table t2 as select * from t1 where 1=2;[/code]또는[code]limit 0;
as 가 만 든 t2 표(새 표)는 t1 표(원본 표)의 색인 정보 가 부족 하고 표 구조 만 같 으 며 색인 이 없습니다.
create table t2 like t1 ;
like 생 성 된 새 표 는 원본 표 의 전체 표 구조 와 색인 정 보 를 포함 합 니 다.
양자 의 용도:
as 같은 표 구 조 를 만 들 고 원본 표 데 이 터 를 복사 하 는 데 사용 합 니 다.
like 는 전체 표 구조 와 모든 색인 을 만 드 는 데 사 용 됩 니 다.
Oacle 은 as 를 지원 합 니 다.표 구조 만 색인 이 없습니다.
Oacle 은 like 를 지원 하지 않 습 니 다.
본 고 에서 말 한 것 이 여러분 의 MySQL 데이터베이스 디자인 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기