CREATE DATABASE IF NOT EXISTS partDB; USE partDB; DROP TABLE IF EXISTS partTbl; CREATE TABLE partTbl( userId CHAR(8) NOT NULL, name VARCHAR(10) NOT NULL, birthYear INT NOT NULL, addr CHAR(2) NOT NULL ) PARTITION BY LIST COLUMNS(addr)( PARTITION part1 VALUES IN ('서울', '경기'), PARTITION part2 VALUES IN ('충북', '충남'), PARTITION part3 VALUES IN ('경북', '경남'), PARTITION part4 VALUES IN ('전북', '전남'), PAR..
DROP TABLE IF EXISTS gugutbl; CREATE TABLE gugutbl(gugu CHAR(5), result CHAR(4)); DROP PROCEDURE IF EXISTS gugudan; delimiter $$ CREATE PROCEDURE gugudan() BEGIN DECLARE i INT; DECLARE j INT; DECLARE str CHAR(5); SET i = 2; -- 몇단부터 SET j = 1; -- 몇부터 곱할래 WHILE (i
스토어드 프로시저 개요 쿼리문의 집합으로 , 어떠한 동작을 일괄 처리하기 위한 용도 스토어드 프로시저 생성 예 USE sqlDB; DROP PROCEDURE IF EXISTS userProc1; delimiter $$ CREATE PROCEDURE userProc1( IN userName VARCHAR(10) ) BEGIN SELECT * FROM userTbl WHERE name = userName; END $$ delimiter ; CALL userProc1('조관우'); 입력 매개 변수 IN 입력_매개변수_이름 데이터_형식; 프로시저에 전달값이 있을 경우 받아주는 입력 매개변수 출력 매개 변수 OUT 출력_매개변수_이름 데이터_형식; 주로 SELECT... INTO문을 사용하며, 출력 매개 변수를 ..
인덱스의 개념 책 뒷부분의 '찾아보기' 개념 인덱스의 장점 검색 속도가 무척 빨라질 수 있다. (항상 그런것은 아니다.) 그 결과 해당 쿼리의 부하가 줄어들어서, 결국 시스템 전체의 성능이 향상된다. 인덱스의 단점 인덱스가 데이터베이스 공간을 차지해서 추가적인 공간이 필요해지는데, 대략 데이터베이스 크기의 10% 정도의 추가 공간이 필요하다. 처음 인덱스를 생성하는데 시간이 많이 소요될 수 있다. 데이터의 변경 작업(INSERT, UPDATE, DELETE)이 자주 일어날 경우에는 오히려 성능이 많이 나빠질 수도 있다. 인덱스의 종류 클러스터형 인덱스 : = PRIMARY KEY, 영어사전으로 비유 보조 인덱스 : = UNIQUE KEY, 책 뒤의 찾아보기로 비유 제약조건 설정과 인덱스 PRIMARY K..
열의 추가 USE tabledb; ALTER TABLE usertbl ADD homepage VARCHAR(30) 열의 삭제 ALTER TABLE usertbl DROP COLUMN mobile1; 열의 이름 및 데이터 형식 변경 ALTER TABL usertbl CHANGE COLUMN name Uname VARCHAR(20) NULL; name 은 기존이름, Uname은 새 이름 열의 제약 조건 추가 및 삭제 ALTER TABLE usertbl DROP FOREIGN KEY buytbl_ibfk_1; 외래키를 제거한 후에 기본 키를 제거해야 한다.
PK(primary key : 기본키)는 학생과 수업의 테이블에서 각 행의 정보들을 식별할 수 있는 정보(학생코드, 수업코드)를 표현한다. PK는 테이블 행의 여러 정보들 중 행을 식별할 수 있어야 하는 때문에 비어있으면 안되고(NOT NULL) 중복되어서도 안된다(Unique). NOT NULL 과 Unique의 속성을 모두 가진다. FK(foreign key : 외래키)는 참조하는 테이블과 참조되는 테이블의 관계를 나타낸다. 그림에서 학생-수업 테이블은 학생테이블과 수업테이블의 관계를 1:N 관계로 나타내기위한 테이블이므로 학생테이블과 수업테이블을 참조하여 만들어야 한다. 그러기 위해서 학생정보를 식별하는 학생코드(PK), 수업정보를 식별하는 수업코드(PK)로 테이블이 구성되며 이렇게 다른 테이블의 ..