SQL-핵심

1 분 소요

데이터베이스 관리 시스템 (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

  1. 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;
    
  2. INSERT
     insert into role (role_id, description) values ( 200, 'CEO');
     insert into role values ( 200, 'CEO');
    
  3. UPDATE
    • where을 꼭 줘야함.
       update ROLE set description = 'CTO' where role_id = 200;
      
  4. DELETE
    • where을 꼭 줘야함.
       delete from ROLE where role_id = 200;
      

DDL

  1. 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);
    
  2. 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;
    
  3. drop table
     drop table EMPLOYEE2;
    

카테고리:

업데이트:

댓글남기기