여러 사람이 공유하여 사용할 목적으로 체계화해 통합 관리하는 데이터의 집합
데이터베이스를 관리하고 운영하는 소프트웨어
데이터베이스는 여러명의 사용자나 응용 프로그램과 공유하고 동시에 접근이 가능해야한다. MySQL, MariaDB, Oracle 등이 있다.
테이블이라는 최소단위로 구성, 열과 행으로 이루어져있다.
구조화된 질의 언어라는 뜻으로 관계형 데이터베이스에서 사용되는 언어
데이터베이스나 테이블 등을 생성, 삭제하거나 그 구조를 변경하기 위한 명령어로 CREATE, ALTER, DROP가 있다.
데이터베이스에 저장된 데이터를 처리하거나 조회, 검색하기위한 명령어로 INSERT, UPDATE, DELETE, SELECT 등이 있다.
테이블 내의 데이터를 직접 조작할 수 있는 기능인 CRUD를 담당한다.
데이터베이스에 저장된 데이터를 관리하기 위하여 데이터의 보안성 및 무결성을 제어하기 위한 명령어로 GRANT, REVOKE 등이 있다.
데이터베이스에 정보를 요청하는것
웹 서버에 특정한 정보를 보여달라는 웹 클라이언트의 요청에 의한 처리
쿼리문 작성은 데이터베이스에서 원하는 정보를 가져오는 코드 작성하는 것이다.
테이블의 데이터를 읽어 출력(조회)하는 기능
# 테이블에서 필드 목록 조회
SELECT 필드목록 FROM 테이블;
#예시
SELECT * FROM tCity; # tCity라는 테이블에서 모든 필드(*)조회
SELECT name FROM tCity; #tCity라는 테이블에서 name 컬럼 조회
#상세
SELECT 컬럼명1, 컬럼명2, ...
FROM 테이블명 [WHERE/GROUP BY/HAVING/ORDER BY 속성이름 [ASC|DESC]];
# WHERE : 테이블에서 조건에 맞는 경우에 대해 필드 목록 조회
SELECT 필드목록 FROM 테이블 WHERE 조건;
# LIKE : 테이블에서 필드에 '와일드카드 포함 문자'가 있는 경우에 대해 필드목록 조회
# WHERE과 함께 쓰임
SELECT 필드목록 FROM 테이블 WHERE 필드 LIKE;
# 예시
SELECT * FROM tCity WHERE name LIKE '서%'; #name 컬럼이 서로 시작하는 모든 컬럼 출력
# BETWEEN : 테이블에서 필드가 A이상 B이하인 필드 목록 조회
# WHERE과 함께 쓰임
SELECT 필드목록 FROM 테이블 WHERE 필드 BETWEEN A AND B;
#IN :테이블에서 필드가 ('리','스','트')에 포함되는 경우, 필드 목록 조회
# WHERE과 함께 쓰임
SELECT 필드목록 FROM 테이블 WHERE 필드 IN ('리','스','트');
이미 생성된 테이블에 데이터를 추가(삽입)하는 명령어
# 테이블과 컬럼명 지정하여 데이터 입력
INSERT INTO 테이블명 ([컬럼1, 컬럼2, ...]) VALUES (값1, 값2, ...);
# 예시
INSERT INTO student VALUES
('LSJ', 25, '01012341234'),
('SYJ', 25, '01022223333'),
('MJH', 24, '01011118888');
INSERT INTO student(name, age) VALUES ('KJY', 25);
데이터베이스 테이블 생성
# 테이블 생성
CREATE TABLE 테이블 이름 (
컬럼명1 데이터타입1 [조건],
컬럼명2 데이터타입2 [조건],
...
);
# 예시
CREATE TABLE 테이블명 (
ID INT PRIMARY KEY,
NAME VARCHAR(10) NOT NULL,
ADDRESS VARCHAR(50) DEFAULT '대구시 달서구'
);
데이터베이스의 테이블에서 이미 저장된 값을 수정하는 명령
```sql
# 테이블에 값을 업데이트
UPDATE 테이블명 SET 컬럼1=값1, 컬럼2=값2, ... WHERE 조건;
# 예시
UPDATE osbio_syj SET
cell_no='01011111111',
user_nm='송유정'
WHERE uniq_id='syj';
```
- WHERE 생략한 경우 모든 컬럼이 갱신됨
데이터베이스 테이블의 레코드 삭제
```sql
# 조건에 해당하는 데이터 삭제
DELETE FROM 테이블명 WHERE 조건식;
# 테이블의 모든 데이터 삭제 (모두 날라감)
DELETE FROM 테이블명;
```
- DELETE FROM 테이블명 : 테이블 전체가 삭제됨
→ 자동으로 commit될 경우 모두 날라감 (조심하기!!)
- CRUD의 delete에 해당