목록데이터 베이스 (51)
바닥코딩

NULL ? NULL 값은 아직 정의되지 않은 값을 의미하며 NULL 은 절대 0또는 공백이 아니다 NULL 관련 함수 일반형 함수 함수 소개 NVL(표현식1, 표현식2)/ ISNULL(표현식1, 표현식2) 표현식1의 결과 값이 NULL 이면 표현식2 의 값을 출력한다 단 표현식 1과 표현식2의 결과 데이터 타입이 항상 같아야만 한다 NULL 관련 함수중 가장 많이 사용한다 NULLIF (표현식1, 표현식2) 표현식1이 표현식 2와같으면 NULL 을 아니면 표현식 1 값을 RETURN COALESCE(표션식1.....2.....) 임이의 개수의 표현식에서 NULL 값이 아닌 최초의 표현식을 나타낸다

1. ON DUPLICATE KEY UPDATE = DB 에서 대량에 데이터를 등록할때 키값이 있어도 INSERT를 하는 과정에서 문제가 발생할 수 있다 따라서 키값이 있는 경우에는 INSERT를 해주는 방법도 있찌만 UPDATE를 해주는 방법을 통해 에러를 줄인다 ON DUPLICATE KEY UPDATE 구문은 UNIQUE 한 KEY 값이 기준이 되어야만 사용할 수 있다 1 2 3 4 5 6 7 8 9 10 CREATE TABLE USERS ( NAME VARCHAR(25), EMAIL VARCHAR(255) ); ALTER TABLE USERS ADD UINQUE (NAME); INSERT INTO USER (NAMEM, EMAIL) VALUES ('TEZ','TEZ.gmail.com') ON DU..

1. CONVERT (데이터 형변환) = 표현하고자 하는 값을 해당 데이터 형식으로 바꾸는 것을 의미한다 ex) CONVERT 함수를 통해 문자열 데이터의 문자셋을 UTF-8 로 변환하는 문장 / 인수의 타입 변환 1 2 3 4 5 6 SELECT CONVERT("ABC" USING UTF-8) // 문자열을 UTF-8 로 인코딩 SELECT AVG(AMOUNT) AS 'SALES' CONVERT(AVG(AMOUNG), int) from buytbl // 해당 인수를 int type으로 형변환 2. AES_ENCRYPT / AES_DECRYPT (암호화 , 복호화 ) 암호화와 복호화를 하는 방식은 여러가지가 있는데 그중 AES를 사용하여 가정한다면 아래와 같다 AES_ENCRYPT (암호화 값 , 암호)..

1. SET 구문 = 프로시저에 변수나 파라미터에 값을 저장하려면 보통 2가지 방법이 있는데 SET을 이용하거나 SELECT 를 이용해 값을 넣는 방법이다 SET 을 이용하는 경우는 SET 변수 =100 ; 이러한 형식으로 값을 넣지만 SELECT 는 조건이 필요하다 SELECT로 값을 받아오려면 사용자 정의 변수를 사용해야하는데 3가지 조건이 필요하다 1. 변수 이름은 @ 로 시작한다 2. DECLARE는 해주지 않는다 3. = 이 아니라 := 를 사용한다 ex) SELECT @변수 1:=필드 FROM [테이블 명] 2. PREPARE /EXECUTE 구문 동적 SQL과 같은 경우 미리 쿼리문장을 준비한 후에 나중에 실핼하는 것을 의미하는데 이를 PREPARE와 EXECUTE로 구현할 수 있다. PRE..

절차형 SQL 에서는 일반 프로그래밍 언어와 같이 제어문/반복문 사용이 가능하다 1. 조건문 : 일반적으로 IF - THEN - ELESIF -ELSE 구조를 사용하거나 CASE ~ WHEN ~ THEN 구조를 사용한다 1 2 3 4 5 6 7 8 9 10 11 12 13 IF x = 1 THEN sequence_of_statements_1; ELSIF x = 2 THEN sequence_of_statements_2; ELSIF x = 3 THEN sequence_of_statements_3; ELSIF x = 4 THEN sequence_of_statements_4; ELSIF x = 5 THEN sequence_of_statements_5; ELSE sequence_of_statements_N; EN..

1.PROCEDURE = 저장 프로시저는 미리 데이터베이스 서버에 일련의 SQL 문을 만들어 두고 프로시저들을 수행하여 SQL 문을 간단히 실행 할 수 있게 고안한 것이다 SQL 문만 뿐만아니라 실행부에서 IF 문 WHILE 문 과 같은 제어문/반복문을 사용할 수 있기 때문에 절차형 프로그램이 가능 하게 된다 2.TRIGGER = 트리거는 테이블에 삽입/변경/삭제 와 같은(일반적으로 DML)이 들어 왔을 때 트리거가 설정되어 있으면 트리거 안의 SQL 이 자동으로 수행이 된다 이러한 기능을 사용하여 CRUD 연산에서 발생하는 모순을 방지한다 PROCEDURE TRIGGER CREATE PROCEDURE 문법 사용 CREATE TRIGGER 문법사용 생성하면 소스코드와 실행코드가 생성 생성하면 소스코드와 ..

일반적으로 RDBS 를 이루는 SQL 문장은 비절차적 문장이기 때문에 일반 개발 언어와 같이 절차 지향적인 프로그래밍이 가능하도록 DBMS 별로 각자의 절차형 SQL을 제공하고 있다 절차형 SQL 위와 같은 BLOCK 구조를 가진다

SQL 문장에서 JOIN을 작성할 때 ON/USING/WHERE 는 각각 아래와 같은 특징이 있다 1. ON : ON은 WHERE 와 다르게 칼럼명이 다르더라도 조인 저건을 사용 할 수 있으며 JOIN부를 명시하기 위해 주로 사 용한다 ON 은 JOIN 절보다 먼저 실행이 되기 떄문에 OUTER JOIN시 WHERE에 동등한 조건을 명시했을 때 결과가 다른 값이 추출 될 수 있다 2. USING : FROM 절에 하여 원하는 칼럼서 EQUI JOIN을 수행할 수 있다