본문 바로가기
데이터 추가, 갱신, 삭제 - INSERT / UPDATE / DELETE 추가 - INSERT INSERT INTO 테이블명 VALUES(값1, 값2, ...); 열을 지정하여 INSERT INSERT INTO 테이블명(열1, 열2, ...) VALUES(값1, 값2, ...) INSERT INTO 테이블명(열1, 열2, ...) VALUES(값1, default, ...) 지정하지 않은 열에는 테이블 생성 시 설정한 default값이 저장된다. 혹은 default 키워드를 직접 사용하여 default값을 열에 저장할 수 있다. 만일 NOT NULL 제약이 걸려 있는 열은 NULL값이 허용되지 않는다. 갱신 - UPDATE UPDATE 테이블명 SET 열1=값1, 열2=값2, .... WHERE 조건식 DELETE와 달리 테이블의 셀 값을 갱신하는 명령이다. SET 구에 갱신.. 2021. 12. 3.
CASE문 CASE WHEN 조건식1 THEN 식1 [ WHEN 조건식2 THEN 식2 ] [ ELSE 식3 ] END ELSE는 생략 가능하며 생략했을 시 'ELSE NULL'로 간주한다. 예) a열의 값이 NULL값일 때 이를 0으로 변환하고 싶을 때 SELECT a, CASE WHEN a IS NULL THEN 0 END "a(null=0)" FROM table; 결과) a a(null=0) 1 1 2 2 NULL 0 NULL값을 변환할 때는 COALESCE 함수 사용 가능하다. SELECT a, COALESCE(a, 0) FROM table; NULL이 아니면 첫 번째 인수의 값을 반환(a열 값) NULL인 경우 두 번째 인수의 값을 반환(0) 서로 다른 형식의 CASE문 SELECT a "코드", CASE.. 2021. 12. 3.
연산 수치연산 SELECT 구, WHERE 구, ORDER BY 구 등 여러 구에서 연산을 할 수 있다. SELECT에서 열끼리 연산한 값에 예약어 AS를 사용해 별명을 정해줄 수 있다.(생략 가능) 한글과 같이 ASCII 문자(알파벳, 숫자 등)가 아닌 것으로 별명을 정해줄 땐 " "(더블쿼트)로 둘러싸준다. SELECT 구에서 지정해준 별명은 WHERE 구에서 사용할 수 없다, 이는 DB 서버 내부에서 처리 순서가 WHERE 구 -> SELECT 구이기 때문이다. WHERE 구로 행이 조건에 맞는지 조사한 후에 SELECT 구에 지정된 열을 선택해 결과를 반환하는 식이다. (ORDER BY 구는 가장 나중에 처리되므로 SELECT 구에서 지정한 별명을 사용할 수 있다.) 다른 구를 포함한 자세한 처리 순서.. 2021. 12. 3.
결과 행 제한(LIMIT OFFSET) LIMIT구로 반환될 행수를 제한할 수 있다. SELECT 열명 FROM 테이블명 WHERE 조건식 ORDER BY 열명 LIMIT 행수 ORDER BY 구 뒤에 LIMIT 구가 온다. WHERE 구로 행을 검색한 후 ORDER BY로 정렬한 뒤 최종적으로 LIMIT 구를 처리한다. OFFSET LIMIT 구 뒤에 위치하고, 처음 출력할 데이터 행의 인덱스 위치를 뒤에 적으면 된다. SELECT 열명 FROM 테이블명 WHERE 조건식 ORDER BY 열명 LIMIT 행수 OFFSET 시작행위치(인덱스) ** LIMIT 시작행위치(인덱스), 행 갯수 -> LIMIT 구에 숫자를 2개 쓰는 경우가 있다. 이는 OFFSET을 사용했을 때처럼 시작행위치의 인덱스와 행 갯수를 나타내는 표현이다. 2021. 12. 3.
정렬 (ORDER BY) ORDER BY 열명 DESC : 내림차순 ORDER BY 열명 ASC : 오름차순 ASC, DESC 지정하지 않은 경우 디폴트는 ASC(오름차순)이다. 대소관계 문자열형 데이터는 사전식 순서로 대소관계를 결정한다. (abc, ㄱㄴㄷ 순) 수치형과 문자열형은 대소관계 비교 방법이 다르다. 예} a(VARCHAR형) b(INTEGER형) 1 1 2 2 10 10 11 11 이와 같은 테이블이 있다고 하자. SELECT * FROM table ORDER BY a; 결과 a(VARCHAR형) b(INTEGER형) 1 1 10 10 11 11 2 2 SELECT * FROM table ORDER BY b; 결과 a(VARCHAR형) b(INTEGER형) 1 1 2 2 10 10 11 11 a열은 VARCHAR형.. 2021. 12. 3.
테이블에서 데이터 검색 (SELECT, DESC, WHERE, AND, OR , NOT, LIKE) SELECT 구로 열 선택 WHERE 구로 행 선택 DESC는 테이블에 어떤 열이 정의되어있는지 확인 문자열형과 날짜시간형 상수는 ' ' (싱글쿼트)로 감싸 표기 NULL값 검색은 IS NULL을 사용 AND는 OR보다 우선 순위가 높다 LIKE LIKE 술어를 사용하면 열 값이 부분만 일치하는 경우도 참이된다. (=연산자는 열 값이 완전히 일치할 때만 참) 패턴에 사용하는 메타문자 % , _ %는 임의의 문자열과 매치되고, 빈 문자열에도 매치된다. (_는 임의의 문자 하나) 예) WHERE 열명 LIKE '패턴'; % 문자 자체 검색 -> \% _ 문자 자체 검색 -> \_ ' 문자 자체 검색 -> '' 이스케이브 방법으로 처리 간단한 패턴이라면 LIKE를 쓰지만 복잡할 경우에는 정규 표현식(Regul.. 2021. 12. 3.