데이터베이스 02.DDL, DML [CREATE,ALTER,DROP,INSERT, UPDATE, DELETE, SELECT]
2019. 9. 4. 14:16
Programing/Database
DDL
만들기 CREATE
CREATE TABLE tb(filed1 TEXT, filed2 INTEGER);
수정 ALTER
ALTER TALBE tb ADD PHONE CHAR(13);
삭제 DROP
DROP 분류 분류명
예시
DROP TABLE book;
DML
1. 입력 INSERT
INSERT INTO 테이블명(필드명1,필드명2,..........)
VALUES("값1","값2",숫자값,........);
2. 업데이트 UPDATE
UPDATE 테이블명 SET 레코드명 = '수정할값'
WHERE 레코드명 조건 값;
예시
UPDATE book SET author = '홍수'
WHERE price >= 20000;
3. 삭제 DELETE 레코드만 제거
DELETE FROM 테이블명
WHERE 검색할 필드명 조건 삭제할레이블값;
예시
DELETE FROM book
WHERE author = "홍수";
4. 조회 SELECT
SELECT * FROM 테이블명
WHERE 조건필드명 = 검색값;
예시
SELECT * FROM book
WHERE author = "가나";
like "가%"
"가"로 시작하는 레코드 가져오기
= 대신 like를 넣고 사용
예시
SELECT * FROM book
WHERE author Like "가%";
중복제거 DISTINCT
SELECT DISTINCT TITLE FROM EMPLOYEE;
~로 시작, ~로 끝나는 %
* %가 들어가면 = 대신 LIKE 사용
SELECT * FROM EMPLOYEE WHERE EMPNAME LIKE "이%";
SELECT * FROM EMPLOYEE WHERE EMPNAME LIKE "%문";
~가 아닌 값 <>(부정)
SELECT * FROM EMPLOYEE WHERE DNO <> 2;
사이값 BETWEEN
SELECT * FROM EMPLOYEE WHERE SALARY BETWEEN 3000000 AND 4500000;
SELECT * FROM EMPLOYEE WHERE SALARY >= 3000000 AND SALARY <= 4500000;
참 IN
SELECT * FROM EMPLOYEE WHERE DNO IN(1,3);
부정 NOT IN
SELECT * FROM EMPLOYEE WHERE DNO NOT IN(1,3);
새로운 속성 만들어 보여주기 AS 생성할이름 FROM 테이블
SELECT EMPNAME, SALARY, SALARY * 1.1 AS NEWSALARY FROM EMPLOYEE;
NULL인 값(기입하지 않은 값) 찾기
SELECT * FROM EMPLOYEE WHERE MANAGER IS NULL;
NULL이 아닌 값(기입한 값) 찾기
SELECT * FROM EMPLOYEE WHERE MANAGER IS NOT NULL;
오름차순(큰순) 정렬 BY 속성이름 ASC
* ASC 생략 가능
SELECT * FROM EMPLOYEE ORDER BY SALARY
내림차순(작은순) 정렬 BY 속성이름 DESC
SELECT * FROM EMPLOYEE ORDER BY SALARY DESC
오름차순과 내림차순 정렬
*DNO는 ASC, SALARY는 DESC 정렬
SELECT * FROM EMPLOYEE ORDER BY DNO, SALARY DESC
평균, 최대값 그룹지어 보여주기
SELECT AVG(SALARY) AS AVGSAL, MAX(SALARY) AS MAXSAL FROM EMPLOYEE GROUP BY DNO;
'Programing > Database' 카테고리의 다른 글
데이터베이스 무결성 제약조건 (0) | 2019.10.02 |
---|---|
데이터베이스 WHERE 조건 (0) | 2019.09.25 |
관계대수 JOIN (0) | 2019.09.23 |
데이터베이스 01 [데이터타입] (0) | 2019.09.04 |
DB SQLite (0) | 2019.07.07 |