[SQL] SELECT, INSERT, UPDATE, DELETE 사용예제 (검색, 등록, 수정, 삭제)
[SQL] SELECT, INSERT, UPDATE, DELETE 사용예제 (검색, 등록, 수정, 삭제)
SQL 명령어는 기능에 따라서 DDL(Data Definition Language). DML(Data Manipulation Language), DCL(Data Control Language)로 나뉘어 집니다.
- DDL은 데이터 정의어로 CREATE, ALTER, DROP등의 명령어로 데이터베이스나 테이블을 생성, 수정, 삭제합니다.
- DML은 데이터 조작어로 SELECT, INSERT, UPDATE, DELETE등의 명령어로 데이터를 조회, 삽입, 수정, 삭제합니다.
- DCL은 데이터 제어어로 GRANT, REVOKE 등의 명령어로 데이터베이스의 접근 및 권한을 부여합니다.
여기서는 데이터를 조작에 사용되는 DML 명령어에 대해서 알아보도록 하겠습니다.
목차
- SELECT 사용예제 - 데이터 조회
- INSERT 사용예제 - 데이터 삽입
- UPDATE 사용예제 - 데이터 수정
- DELETE 사용예제 - 데이터 삭제
1. SELECT 사용 예제 - 데이터 조회
1) SELECT * FROM usertable; // usertable에서 모든 데이터 출력하기
2) SELECT name, age FROM usertable; // usertable에서 name, age 컬럼 출력하기
3) SELECT DISTINCT name FROM usertable; // 데이터 중복제거시 DISTINCT 사용
4) SELECT * FROM usertable ORDER BY age; // age를 기준으로 오름차순 정렬
5) SELECT * FROM usertable ORDER BY age DESC; // age를 기준으로 내림차순 정렬
6) SELECT * FROM usertable WHERE name = 'jane'; // name이 jane인 데이터 출력
7) SELECT * FROM usertable WHERE age < 20; // age가 20미만인 데이터 출력
8) SELECT * FROM usertable WHERE age >= 10 AND age <= 20; // age가 10이상, 20이하인 데이터 출력
9) SELECT * FROM usertable WHERE age IN (10, 20); // age가 10 또는 20인 데이터 출력
10) SELECT * FROM usertable WHERE name LIKE '%a%'; // name에 'a' 단어가 포함된 데이터 출력
11) SELECT grade, count(grade) as cnt FROM usertable GROUP BY grade; // 동일 grade그룹별 데이터 개수 출력
- count( )는 데이터 개수를 출력함 (ex, SUM( ), MIN( ), MAX( ) ...)
- count(grade) as cnt 는 COUNT(grade)를 cnt라는 별칭으로 사용하게 함
12) SELECT grade, count(grade) as cnt FROM usertable GROUP BY grade HAVING count(grade) >= 3; // 동일grade그룹별 데이터 개수가 3이상인 값만 출력
13) SELECT * FROM usertable1 JOIN usertable2 ON usertable1.name = usertable2.name; // usertable1의 name과 usertable2의 name이 서로 일치하는 데이터를 출력
- JOIN (= INNER JOIN) : 두 테이블을 연결후, 양쪽 테이블에 해당 컬럼이 모두 존재하는 데이터만 출력
- LEFT OUTER JOIN : 두 테이블을 연결후, 왼쪽 테이블의 모든 데이터 출력
- RIGHT OUTER JOIN : 두 테이블을 연결후, 오른쪽 테이블의 모든 데이터 출력
- FULL OUTER JOIN : 두 테이블을 연결후, 양쪽 테이블의 모든 데이터 출력
2. INSERT 구문 예제 - 데이터 삽입
1) INSERT INTO usertable(name, age) VALUES ('james', 20) ; // usertable에 name은 james, age는 20인 데이터 삽입
3. UPDATE 구문 예제 - 데이터 수정
1) UPDATE usertable SET age=30 WHERE name='james'; // usertable에 james의 age를 30으로 변경
4. DELETE 구문 예제 - 데이터 삭제
1) DELETE FROM usertable WHERE name='james'; // usertable에 name이 james인 데이터를 삭제