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; 외래키를 제거한 후에 기본 키를 제거해야 한다.