SQL-핵심
데이터베이스 관리 시스템 (Database Management System = DBMS)
- 데이터베이스를 관리하는 소프트웨어
- 여러 응용 소프트웨어(프로그램) 또는 시스템이 동시에 데이터베이스에 접근하여 사용할 수 있게 한다
- 필수 3기능
- 정의기능 : 데이터 베이스의 논리적, 물리적 구조를 정의
- 조작기능 : 데이터를 검색, 삭제, 갱신, 삽입, 삭제하는 기능
- 제어기능 : 데이터베이스의 내용 정확성과 안전성을 유지하도록 제어하는 기능
- Oracle, SQL Server, MySQL, DB2 등의 상용 또는 공개 DBMS가 있다.
SQL(Structured Query Language)
- SQL은 데이터를 보다 쉽게 검색하고 추가, 삭제, 수정 같은 조작을 할 수 있도록 고안된 컴퓨터 언어입니다.
- 관계형 데이터베이스에서 데이터를 조작하고 쿼리하는 표준 수단입니다.
- DML (Data Manipulation Language): 데이터를 조작하기 위해 사용합니다.
- INSERT, UPDATE, DELETE, SELECT 등이 여기에 해당합니다.
- DDL (Data Definition Language): 데이터베이스의 스키마를 정의하거나 조작하기 위해 사용합니다.
- CREATE, DROP, ALTER 등이 여기에 해당합니다.
- DCL (Data Control Language) : 데이터를 제어하는 언어입니다.
- 권한을 관리하고, 테이터의 보안, 무결성 등을 정의합니다.
- GRANT, REVOKE 등이 여기에 해당합니다.
DML
- SELECT
SELECT * FROM DEPARTMENT; select empno, name, job from employee; select empno as 사번, name as 이름, job as 직업 from employee; SELECT concat( empno, '-', deptno) AS '사번-부서번호' FROM employee; select deptno from employee; select distinct deptno from employee; select empno, name, job from employee order by name; select empno, name, job from employee order by name desc; select name, hiredate from employee where hiredate < '1981-01-01'; select name, deptno from employee where deptno = 30; select name, deptno from employee where deptno in (10, 30); select name, job from employee where name like '%A%'; select cast(now() as date); select count(*) from employee; SELECT AVG(salary) , SUM(salary) FROM employee WHERE deptno = 30; SELECT AVG(salary) , SUM(salary) FROM employee group by deptno;
- INSERT
insert into role (role_id, description) values ( 200, 'CEO'); insert into role values ( 200, 'CEO');
- UPDATE
- where을 꼭 줘야함.
update ROLE set description = 'CTO' where role_id = 200;
- where을 꼭 줘야함.
- DELETE
- where을 꼭 줘야함.
delete from ROLE where role_id = 200;
- where을 꼭 줘야함.
DDL
- create table
CREATE TABLE EMPLOYEE2( empno INTEGER NOT NULL PRIMARY KEY, name VARCHAR(10), job VARCHAR(9), boss INTEGER, hiredate VARCHAR(12), salary DECIMAL(7, 2), comm DECIMAL(7, 2), deptno INTEGER);
- alter table
alter table EMPLOYEE2 add birthdate varchar(12); alter table EMPLOYEE2 drop birthdate; alter table EMPLOYEE2 change deptno dept_no int(11); alter table EMPLOYEE2 rename EMPLOYEE3;
- drop table
drop table EMPLOYEE2;
댓글남기기