본문 바로가기

SQL10

SQL - 트리거 트리거트리거는 총의 방아쇠를 당기면 자동으로 총알이 나가듯이 INSERT, UPDATE, DELETE 문이 작동할 때 실행되는 기능으로 데이터를 삭제할 때 해당 데이터를 다른 테이블에 백업한 후에 삭제하는 기능을 사용할 수 있다.이러한 트리거 기능은 백업하지 않고 바로 지워버리는 등의 실수를 방지할 수 있고 데이터의 오류가 발생되는 것을 막을 수 있다. 이런 방법으로 데이터의 무결성을 유지할 수 있다. 기본 작동트리거는 DML의 이벤트가 발생할 때 작동한다. 테이블에 미리 부착되는 코드라 생각하면 된다.트리거는 스토어드 프로시저와 문법이 비슷하지만 CALL문으로 호출할 수 없고 DML의 이벤트가 발생할 때만 자동으로 실행된다. 추가적으로 트리거에는 IN, OUT 매개 변수를 사용할 수 없다. 트리거 부착.. 2024. 11. 11.
SQL - 프로그래밍 스토어드 프로시저MySQL에서 프로그래밍 기능이 필요할 때 사용하는 데이터베이스 객체로 SQL 프로그래밍은 기본적으로 스토어드 프로시저 안에서 만들어져야 한다.DELIMITER $$CREATE PROCEDURE 스토어드_프로시저_이름()BEGIN SQL 코딩END $$DELIMITER ;CALL 스토어드_프로시저_이름(); 변수 선언DECLARE 변수명 데이터타입; SELECT ~INTO 를 사용해 변수에 값을 넣을 수 있다.SELECT 컬럼명 INTO 변수명 FROM 테이블명 WHERE 조건식; 변수 초기화SET 변수명 = 값; IF문조건이 참일 때 특정 SQL 문장을 실행하는 구문이며 JAVA와 동일하다.IF THEN SQL문장END IF; THEN : 조건식이 참일 때 실행할 SQL문장.. 2024. 11. 8.
SQL - 제약조건 제약조건데이터의 무결성을 지키기 위한 것으로 데이터의 무결성은 데이터에 결함이 없다는 의미다. 예를 들어 구글 계정의 아이디가 중복되면 치명적인 문제가 발생할 수 있다. 이러한 결함이 없는 것을 데이터의 무결성이라고 표현한다.제약 조건설명PRIMARY KEYUNIQUE + NOT NULL 제약 조건을 합친 것으로 유일한 값을 뜻한다.FOREIGN KEY현재 테이블의 컬럼 데이터가 다른 테이블의 PK에 존재하면 입력 가능하다.UNIQUE유일한 데이터를 뜻한다.DEFAULTNULL을 입력한 경우 특정 값을 대신 입력한다.NULL값이 없어도 괜찮다.  기본 키 제약조건(PK)PRIMARY KEY기본 키에 입력되는 값은 중복/변경될 수 없고, NULL값이 입력될 수 없다. CREATE TABLE에서의 기본 키 .. 2024. 11. 7.
SQL - 뷰(VIEW) 뷰(VIEW)뷰는 데이터베이스 객체중 하나로 테이블 처럼 데이터를 가지고 있지 않다. 뷰는 SELECT문으로 만들어져 있기 때문에 뷰에 접근하는 순간 바로 SELECT문이 실행된다.뷰는 단순 뷰와 복합 뷰로 나뉜다.단순 뷰 : 하나의 테이블복합 뷰 : 두 개 이상의 테이블(JOIN)뷰의 기본 생성DB, 테이블을 생성하는 방법과 비슷하게 생성할 수 있다. AS절 다음에 SELECT문을 작성한다.CREATE VIEW 뷰_이름AS SELECT * FROM 테이블; SELECT * FROM 뷰_이름; 뷰 덮어씌우기기존에 생성된 뷰를 덮어씌우는 데 사용된다.CREATE OR REPLACE VIEW 뷰_이름AS SELECT 컬럼1, 컬럼2 FROM 테이블; 뷰를 사용하는 이유보안에 도움이 된다. .. 2024. 11. 7.
SQL - JOIN JOIN두 개의 테이블을 서로 묶어 하나의 결과로 만드는 것을 의미한다. 내부 조인두 테이블을 연결할 때 가장 많이 사용하는 것으로 일반적으로 조인이라고 하면 내부 조인을 의미한다. 내부 조인은 연결되는 컬럼(열)의 값이 두 테이블에 모두 존재해야 결과가 출력된다.(PK-FK)조인은 3개 이상의 테이블로도 할 수 있지만 속도가 느려진다는 단점이 있기 때문에 대부분은 2개의 테이블로 조인한다. 일대다 관계(PK - FK)두 테이블의 조인을 위해서는 일대다 관계로 연결되어야 한다.  일대다 관계란  한 테이블의 기본키(PK)가 다른 테이블의 외래키(FK)로 사용될 때 형성된다. 즉, 하나의 행이 여러 행과 연결될 수 있는 관계를 의미한다. 예를 들어 회원 테이블의 ID가 기본키(PK)로 설정되고, 구매 테이.. 2024. 11. 7.
SQL - 데이터의 형식 데이터의 형식데이터의 형식은 크게 숫자형, 문자형(날짜형)으로 나누어진다. 정수형데이터 형식바이트범위TINYINT1-128 ~ 127SMALLINT2-32,768 ~ 32.767INT4약 -21억 ~ +21억BIGINT8약 -900경 ~ +900경 *INT를 가장 많이 사용한다.*UNSIGNED 예약어 : 값의 범위가 0부터 시작된다. 실수형소수점이 있는 숫자를 저장할 때 사용한다.데이터 형식바이트설명FLOAT4소수점 아래 7자리까지 표현DOUBLE8소수점 아래 15자리까지 표현 문자형데이터 형식바이트설명CHAR(개수)1~255- 고정길이 문자형으로 자릿수가 고정되어 있다.- 공간이 낭비될 수 있다.- 성능이 빠르다.- 전화번호 같은 개수가 고정된 문자에 사용한다. VARCHAR(개수)1~16383- 가.. 2024. 11. 6.