본문 바로가기
반응형

SQL186

오라클 insert, update, delete, select 사용법 정리 ORACLE에서 CREATE TABLE로 테이블을 만든뒤 INSERT, UPDATE, DELETE, SELECT문을 사용할 수 있는데 각각 삽입, 수정, 삭제, 조회 4가지다 차례대로 한번 알아보자 1. INSERT 테이블에 행을 추가한다 INSERT 예제 INSERT INTO 테이블명(컬럼명) VALUES('값'); EX) INSERT INTO TB(COL1) VALUES('ABC') -- TB 테이블의 COL1 컬럼에 'ABC'를 넣어 행 추가 -- OR INSERT INTO 테이블명 VALUES('값', '값' ...) -- 테이블에 정의한 컬럼 순서대로 모두 넣어줘야 함 2. UPDATE 추가한 행의 내용을 수정한다, WHERE 절을 넣지 않을 시 테이블 전체의 내용이 바뀌므로 주의 UPDATE .. 2019. 10. 14.
오라클 테이블 제약조건(Constraint) 종류 및 작성방법 정리 오라클 CREATE TABLE 문을 작성하는 방법은 아래와 같은데 CREATE TABLE 테이블명 ( 컬럼명 데이터형 제약조건, 컬럼명2 데이터형 제약조건 ); 여기서 제약조건(Constraint) 부분을 작성할 시 제약조건의 종류 및 작성하는 방법을 알아보자 제약조건은 NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK, DEFAULT 가 있는데 전체적으로 보면 다음과 같고 CREATE TABLE FOREIGN_TABLE ( -- FOREIGN KEY 사용 시 필요 테이블 VALUE5 VARCHAR2(10) PRIMARY KEY ); CREATE TABLE TEST ( VALUE1 VARCHAR2(10) NOT NULL, -- NULL 값 들어오지 못하게 함 VAL.. 2019. 10. 14.
오라클 CREATE TABLE로 테이블 생성방법 오라클에서 CREATE TABLE로 테이블을 생성할 수 있는데 테이블이 있어야 이후에 SELECT, INSERT, UPDATE, DELETE가 가능해지기에 일단 데이터베이스로 뭘 하기에 앞서 테이블을 만들어야 한다 먼저 테이블은 아래와 같이 입력해서 만들 수 있는데 CREATE TABLE 테이블명 ( 컬럼명 데이터형 제약조건, 컬럼명2 데이터형 제약조건 ); 여기서 눈여겨봐야 할 부분은 데이터형과 제약조건이다 데이터형은 전체 리스트는 다음과 같은데 자주 사용하는 목록은 다음과 같다 CHAR(N) - 고정 길이 문자열, N 이하로 값이 들어오면 나머지 칸은 공백으로 채워진다 VARCHAR2(N) - 가변 길이 문자열(N 이하로 값이 들어오면 크기에 맞춰 채워짐) NUMBER(N) - N 자리수만큼 숫자 입.. 2019. 10. 14.
프로그래머스 DATETIME에서 DATE로 형 변환 풀이(MySQL) 사이트명 : 프로그래머스(Programmers) 문제명 : DATETIME에서 DATE로 형 변환 SQL : MySQL 단순한 문제인데 문제는 DATETIME을 ####-##-##의 형태로 변환을 해야하는데 어떻게 하냐는 것이다!!! 내 풀이방법은 아래와 같은데 DATE_FORMAT(값, '원하는 형태'); 로 값의 형태를 변경할 수 있는데 2018-01-22 이런 형태로 바꾸기 위해서는 '%Y-%M-%D' 로 입력을 해 줘야한다 이것 말고도 다른 유형으로 변경하자면 아래 링크의 글을 참조해주면 된다 MySQL DATE_FORMAT() Function MySQL DATE_FORMAT() Function ❮ MySQL Functions Definition and Usage The DATE_FORMAT() .. 2019. 9. 9.
프로그래머스 오랜 기간 보호한 동물(2) 풀이(MySQL) 사이트명 : 프로그래머스(Programmers) 문제명 : 오랜 기간 보호한 동물(2) SQL : MySQL ANIMAL_INS 테이블과 ANIMAL_OUTS 두 테이블을 갖고 시작하게 되는데 여기서 ANIMAL_INS 테이블에 있는 DATETIME - ANIMAL_OUTS 테이블의 DATETIME을 해서 상위 2 행만 조회하라는 얘기다 내 풀이방법은 아래와 같은데 먼저 ANIMAL_OUTS로 JOIN을 시킨 뒤 ANIMAL_OUTS에 없는 값은 A.ANIMAL_ID IS NOT NULL로 다 빼버린다 이후 ORDER BY에 A.DATETIME(보호일) - B.DATETIME(입양일)을 해준 후 LIMIT 2로 2행만 뽑아오면 된다 2019. 9. 9.
프로그래머스 중성화 여부 파악하기 풀이(MySQL) 사이트명 : 프로그래머스(Programmers) 문제명 : 중성화 여부 파악하기 SQL : MySQL ANIMAL_INS 테이블에서 SEX_UPON_INTAKE가 'Neutered' or 'Spayed' 로 시작할 경우 중성화 컬럼에 O를 주고 그렇지 않을 경우에는 X를 줘서 ANIMAL_ID, NAME, 중성화 컬럼 이렇게 3개를 반환하는 문제인데 마지막으로 ANIMAL_ID를 기준으로 오름차순 정렬을 해 줘야 한다 내 풀이방법은 아래와 같은데 MySQL에서는 Oracle의 Decode 대신 IF를 사용해주면 되는데 SEX_UPON_INTAKE를 1부터 8까지, 1부터 6까지 잘라봐서 'Neutered' 혹은 'Spayed' 라면 O 아니면 X를 중성화 컬럼에 넣어줘서 반환하면 되는데 마지막에 ORDE.. 2019. 9. 9.

반응형