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인 사람의 이름과 비밀번호를 가져온다. */
결과
'웹 개발' 카테고리의 다른 글
[PHP] 회원가입 페이지 만들기 (0) | 2024.04.29 |
---|---|
WAS - DB 연동하고 데이터 가져오기 (php, mysql) (0) | 2024.04.27 |
Database와 DBMS(장단점, 종류) (0) | 2024.04.25 |
재부팅 시 종료된 Docker 컨테이너 다시 시작하기 (0) | 2024.04.21 |
[PHP] 간이 로그인 페이지 만들기 + CSS (0) | 2024.04.19 |