MySQL, MariaDB

ALTER, FOREIGN KEY, JOIN

SungWookKang 2015. 7. 16. 12:47
반응형

ALTER, FOREIGN KEY, JOIN

 

  • Version : Mariadb 5.5.4.2-WinX64

 

테이블 생성

use sw_test;

 

 

create table user (

uid char(8),

name varchar(32),

money dec(10,2),

score int

);

 

제일 앞에 uid2 컬럼 추가

alter table user

    add column uid2 char(8) first;

 

 

 

name 컬럼 뒤에 birth 컬럼 추가

alter table user

    add column birth date after name;

 

 

Uid에 PRIMARY KEY 속성 추가

alter table user

    add primary key (uid);

 

 

Score 컬럼 삭제

alter table user

    drop column score;

 

 

Money 컬럼을 money2 컬럼으로 변경

alter table user

    change column money money2 decimal(10,2);

 

FOREIGN KEY 추가

alter table trade

        add foreign key (seller_id) REFERENCES user(uid);

 

테이블 생성시 FOREIGN KEY 추가

create table trade(

tid int,

item varchar(32),

price dec(10,2),

seller_id char(8),

PRIMARY KEY (tid),

FOREIGN KEY (seller_id) REFERENCES user(uid)

);

 

 

FOREIGN KEY 삭제

show create table trade;

 

--아래 테이블 정보 나타나면 포린키 이름 확인

CREATE TABLE `trade` (

`tid` int(11) NOT NULL DEFAULT '0',

`item` varchar(32) DEFAULT NULL,

`price` decimal(10,2) DEFAULT NULL,

`seller_id` char(8) DEFAULT NULL,

PRIMARY KEY (`tid`),

KEY `seller_id` (`seller_id`),

CONSTRAINT `trade_ibfk_1` FOREIGN KEY (`seller_id`) REFERENCES `user` (`uid`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8

 

 

--FOREIGN KEY 삭제

alter table trade

    drop foreign key `trade_ibfk_1`;

 

 

내부조인

JOIN (EQI-JOIN, 동등 조인) : Inner join 중에서 가장 많이 사용하는 "="을 조인 조건으로 사용.

select

a.col1, b.col1

from tbl_a as a

    inner join tbl_b as b on a.col1 = b.col1

 

세타조인 : 내부 조인 중 동등 조인을 제외한 나머지 정보

select

a.col1, b.col1

from tbl_a as a

    inner join tbl_b as b on a.col1 <> b.col1

 

 

외부조인

MySQL은 LEFT OUTER JOIN, RIGHT OUTER JOIN 지원 (FULL OUTER JOIN 미지원)

 

2015-04-27 / 강성욱 / http://sqlmvp.kr

 

 

MySQL, MariaDB, MySQL, ALTER TABLE, ALTER COLUMN, CHAGNE COLUMN, FOREIGN KEY, JOIN, 조인, 외래키, 테이블 수정, 컬럼 수정

반응형

'MySQL, MariaDB' 카테고리의 다른 글

설정 파일 구성 (my.ini) 및 시스템 변수 확인  (0) 2015.07.16
인덱스 생성  (0) 2015.07.16
외부접속 허용하기  (0) 2015.07.16
데이터 타입  (0) 2015.07.16
테이블 생성 삭제 / 데이터 입력 삭제  (0) 2015.07.16