본문 바로가기

웹 개발

SQL (Structured Query Language) + 실습해보기

SQL?

 

SQL (Structured Query Language) 은 DBMS에서 데이터를 조작하고 검색하기 위한 데이터 처리 언어이다. MySQL, Oracle과 같은 RDBMS에서 주로 사용하며 데이터의 구조와 관계를 정의하고 쿼리를 실행하여 데이터를 관리한다. 

 


SQL의 분류와 명령어

 

1. DDL ( Data Definition Language, 데이터 정의어 )

 

데이터베이스 구조 및 스키마를 정의할 때 사용한다.

 

- CREATE : 테이블 생성

- ALTER : 테이블 변경

- DROP : 테이블 삭제 ( 테이블의 모든 구조와 데이터를 삭제 )

- RENAME : 테이블 이름 변경

- COMMENT : 데이터 주석 추가

- TRUNCATE : 테이블 데이터 삭제 ( 테이블 객체 자체는 삭제되지 않음 )

 

2. DML ( Data Manipulation Language, 데이터 조작어 )

 

데이터베이스를 관리하거나 조회할 때 사용한다.

 

- SELECT : 데이터 검색

- INSERT : 데이터 추가

- UPDATE : 기존 데이터 수정

- DELTE : 데이터 삭제

- MERGE : 데이터 병합

 

3. DCL ( Data Control Language, 데이터 제어 언어)

 

데이터 베이스 접근권한을 부여할 때 사용한다.

 

- GRANT : 사용자에게 권한 부여

- REVOKE : 권한 박탈

 

4. TCL (Transaction Control Language, 트랜젝션 제어 언어)

 

데이터의 보안, 무결성, 회복, 병행수행에 대한 제어를 할 때 사용한다.

 

- COMMIT : 트랜잭션의 작업결과를 저장하고 데이터베이스 반영

- ROLLBACK : 데이터베이스를 마지막 COMMIT된 시점의 상태로 복원

 


 

SQL 실습 해보기

테이블 구조

테이블 구조는 idx(기본키, auto increment), name, score, pass로 이루어져있다.

 

1. SELECT

select [컬럼 이름] from [테이블 이름] 을 통해 데이터를 가져올 수 있다.

 

select name from test_table;    /* test_table에서 name 가져오기 */

 

결과

 

 

select * from test_table;    /* 모든 열 가져오기 */

 

결과

 

 

2. INSERT

insert into [테이블 이름] (컬럼이름) value (값) 을 통해 데이터를 삽입할 수 있다.

 

insert into test_table (name, score, pass) value ('James', '80', '2222');

 

insert into test_table value (NULL, 'William', '70', '3333');    /* 모든 컬럼에 값넣기. idx는 auto increment가 설정되어있기 때문에 null */

 

select * 결과

 

 

WHERE 구문 

 

테이블에서 특정 조건에 맞는 데이터만 조회하고 싶을 때 where 구문을 사용한다.

 

select [컬럼 이름] from [테이블 이름] where [조건]

 

select name, pass from test_table where name='Sam';    /* test_table에서 이름이 Sam인 사람의 이름과 비밀번호를 가져온다. */

 

결과