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 데이터베이스 디자인 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.최근 redash에서 sql을 쓸 기회가 많고, 이런 쓰는 방법이 있었는지와 sql에 대해 공부를 다시하고 있기 때문에 배운 것을 여기에 씁니다. Redash란? 월별로 데이터를 표시하고 싶습니다 주별로 데이터를 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.