오늘이라도
2. 테이블 작성, SQL 문법 : DDL, DML, LIKE 연산, 내장함수 등 본문
2. 테이블 작성, SQL 문법 : DDL, DML, LIKE 연산, 내장함수 등
upcake_ 2020. 4. 9. 20:55https://github.com/upcake/Class_Examples
교육 중에 작성한 예제들은 깃허브에 올려두고 있습니다.
gif 파일은 클릭해서 보는 것이 정확합니다.
0. SQL(Structured Query Language; 구조적 질의어) 문법
① DDL(Data Definition Language; 정의어)
- create(생성), drop(제거), alter(구조 변경), truncate(데이터 영구 삭제)
② DML(Data Manipulation Language; 조작어)
- insert(삽입), delete(삭제), update(수정), select(검색)
③ DCL(Data Control Language, 제어어)
- grant(권한 부여), revoke(권한 해제), commit(완료), rollback(복원)
1. DDL : 데이터 정의어
① CREATE : 테이블을 생성
CREATE TABLE 테이블이름( // 테이블 생성
컬럼이름1 데이터타입, // 항목은 콤마로 구분
컬럼이름2 데이터타입,
컬럼이름3 데이터타입 // 마지막 항목은 콤마 생략
); // 세미콜론으로 마무리
- CHAR(숫자) : 고정길이 문자열
- VARCHAR2(숫자) : 가변 길이 문자열
- NUMBER(정수부, 소수부) : 수치 데이터, 각 숫자는 자릿수를 결정
- DATE : 날짜/시간 형식
② DROP : 테이블 제거(영구 삭제)
DROP TABLE 테이블이름; // 테이블 영구 삭제
③ ALTER : 테이블의 구조를 변경
# 항목 추가
ALTER TABLE 테이블명 ADD 추가할컬럼명 데이터타입;
# 항목 변경(데이터타입 수정)
ALTER TABLE 테이블명 MODIFY (수정할컬럼명 데이터타입);
# 항목 변경(컬럼명 수정)
ALTER TABLE 테이블명 RENAME COLUMN 기존컬럼명 TO 변경컬럼명;
# 항목 삭제
ALTER TABLE 테이블명 DROP COLUMN 삭제할컬럼명;
④ TRUNCATE : 테이블의 내용만 삭제
TRUNCATE TABLE 테이블이름; //테이블 내용(레코드) 삭제
[고객 테이블] ▶ 원본
이름 | 주소 | 연락처 |
홍길동 | 광주 | 1111 |
김길동 | 서울 | 2222 |
박문수 | 부산 | 3333 |
[고객 테이블] ▶ DELETE
데이터는 지워지지만, 테이블 용량은 줄어들지 않음
이름 | 주소 | 연락처 |
[고객 테이블] ▶TRUNCATE
테이블 용량이 줄어들고, 데이터도 삭제
이름 | 주소 | 연락처 |
|
[고객 테이블] ▶ DROP
테이블에 대한 흔적 자체가 영구 삭제
영 구 삭 제 |
2. DML : 데이터 조작어
① INSERT : 새로운 레코드를 삽입
INSERT INTO 테이블명 [(삽입할 필드명)]
VALUES (필드에 삽입될 값);
- 대괄호 []는 생략 가능한 부분을 의미한다.
② UPDATE : 칼럼 값을 수정(갱신)
UPDATE 테이블명
SET 속성 = 값, 속성 = 값, 속성 = 값
WHERE 조건식;
③ DELETE : 레코드를 삭제
# DELETE FROM 테이블명 WHERE 조건식; //조건에 해당하는 레코드만 삭제
# DELETE FROM 테이블명; //전체 레코드가 삭제
④ SELECT : 레코드 검색
SELECT [ALL / DISTINCT] 컬럼리스트 FROM 테이블명
[WHERE 조건식]
[GROUP BY 속성] [HAVING 조건]
[ORDER BY 속성 ASC/DESC];
- between N and M : N과 M사이의 값을 가진 레코드 지정
- like '%A' : A로 시작하는 레코드 지정
- like '%A%' : A가 포함된 레코드 지정
- like 'A%' : A로 끝나는 레코드 지정
- count(칼럼 이름) : 해당 칼럼의 레코드 개수를 출력
- sum(칼럼 이름) : 해당 칼럼의 레코드의 합
- avg(칼럼 이름) : 해당 칼럼의 레코드의 평균
- max(칼럼 이름) : 해당 칼럼의 레코드의 최댓값
- min(칼럼 이름) : 해당 칼럼의 레코드의 최솟값
- 기타 연산
· where 칼럼 이름 in (X, Y) ▶ 해당 칼럼의 값이 X와 Y인 레코드 지정
· sysdate from dual ▶ DBMS에 저장된 날짜 지정
· to_char(sysdate, 'YYYY/MM/DD') from dual ▶ 지정한 양식으로 날짜 출력
- 작업이 끝나고 커밋하는 것을 잊지 말자.
'취업성공패키지 SW 개발자 교육 > Oracle RDBMS' 카테고리의 다른 글
[Oracle] 3. NULL 위치, 연산자 연습 문제, 숫자 함수, ROUND(), TRUNC(), CEIL(), FLOOR(), MOD(), UPPER(), LOWER(), INITCAP(), LPAD(), RPAD(), TRIM(), LTRIM(), RTRIM() (0) | 2020.04.23 |
---|---|
2. NLS, 날짜 출력, AND, OR, BETWEEN, IN, LIKE, ESCAPE, NULL, ORDER BY (0) | 2020.04.22 |
1. hs 계정, desc, select, from, where, lower (0) | 2020.04.21 |
3. SQL 문법 활용 (0) | 2020.04.12 |
1. SQL 개발 환경 구축, SQL 설치 시 주의사항, 데이터베이스 용어 정리 (0) | 2020.04.08 |