티스토리 뷰

MySQL 기본 SQL ( Database )



  SQL( Structured Query  Language , 구조화 질의어 )


  SQL은 관계형 데이터베이스 관리 시스템( RDBMS )의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다.
  관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스의 객체
  접근 조정 관리를 위해 고안 되었다.

  데이터베이스 언어 SQL 문법의 종류는 3가지로 구분된다.
    
    ㆍ데이터 정의 언어 ( DDL  : Data Definition Language )
    ㆍ데이터 조작 언어 ( DML : Data Manipulation Language )
    ㆍ데이터 제어 언어 ( DCL  : Data Control Language )


   【 데이터 정의 언어 : DDL 

  실제 데이터를 조작하지 않고, 정의할때 사용한다. Database관련 주요 SQL이 포함되어있다. 

      기본적인 DDL
    ㆍCREATE ( 데이터베이스 개체 ( 테이블, 인덱스, 조건 등 )의 정의 ,생성 )
    ㆍDROP ( 데이터 베이스 객체 삭제 )
    ㆍALTER ( 데이터 베이스 개체 변경 )
   
   【 데이터 정의 언어 : DML 

  실제 데이터를 조작할때 사용 Table 관련 주요SQL 포함되어 있다.

      기본적인 DML
    ㆍSELECT ~ FROM ~ WHERE ( 테이블 데이터의 검색결과 조회 )
    ㆍINSERT INTO ( 행 데이터 또는 테이블 데이터의 삽입 )
    ㆍUPDATE ~ SET ( 테이블 내용 업데이트 )
    ㆍDELETE ~ FROM ( 테이블에서 특정 행 삭제 )



   【 데이터 정의 언어 : DCL 


  권한 부여, 박탈, 연결 등 데이터 동기화나 데이터를 다룰때 사용한다.

      기본적인 DCL
    ㆍGRANT ( 특정 데이터베이스 사용자들에게 특정 작업에 대한 권한을 부여 )
    ㆍREVOKE ( 특정 데이터베이스 사용자들로부터 부여해준 권한을 박탈 )
    ㆍSET TRANSACTION ( 트랙잭션 모드 설정 )
    ㆍBEGIN ( 트랙잭션 시작 )
    ㆍROLLBACK (트랜잭션 취소 )




   【 데이터 베이스 만들기 
 
  Query > CREATE DATABASE 데이터베이스_이름;  

 ↑ 데이터베이스 생성하기

   # SHOW DATABASES; 명령을 통해 형재 생성된 데이터베이스를 볼 수 있다.

   # 명령의 끝에는 항상 세미콜론( ; )이 붙는다.

   # 대문자, 소문자를 구별하지 않는다. ' create database db1; ' 사용가능 ( 단, 데이터 베이스 이름과, 테이블 이름은 구분 )

   # Query OK, 1 row affected ( 0.01 sec ) :데이터 베이스가 제대로 생성되었음을 의미한다.

      → ' Query는 OK이며, 1행이 변경 되었으고 0.01초가 소요 되었다. ' 라는 뜻


 ↑ 명령문의 맨 마지막에 세미콜론( ; )을 잊지 않는다.

   # 세미콜론을 빠트리고 명령을 입력하면 표시가 나오는데, 이 때 세미콜론을 붙여 주면 명령을 끝 마칠 수 있다.




   【 데이터 베이스 확인하기 


  Query > SHOW DATABASES; 


 ↑ 데이터 베이스의 정보를 확인하려면 SHOW 명령을 사용한다.

   # s가 빠지지 않게 주의

   # 존재하는 모든 데이터 베이스가 표시된다. ( 4 row in set : 출력된 목록의 행수 )


  information_schema, mysql, test 데이터베이스


  db1은 앞서 만든 데이터 베이스이다. 그렇다면 information_schema,mysql,test 데이터 베이스는 무엇일까?


    ㆍ information_schema : information_schema 데이터베이스는 데이터에 의한 데이터로써 즉, 메타 데이터

        ( Meta data )로써 데이터 사전이다. 이 데이터베이스 안에는 현재 사용자의 모든 데이터베이스 , 테이블 정보들이

        들어있다. 이는 논리적 데이터 베이스로써 사용자도 추가하거나 수정할 수 없다.

    ㆍ mysql :  MySQL의 다양한 정보가 저장된 데이터베이스이다. MySQL 사용자를 관리하는 user테이블도

                   저장되어 있는 중요한 데이터베이스 이다. 지워지면 MySQL을 사용하는데 문제가 생기니 주의

    ㆍ test : 사용자가 데이터베이스를 만들지 않아도 우선 데이터베이스를 테스트할 수 있게 만들어진 데이터베이스.






   【 데이터 베이스 지정하기 


  Query > USE [ 데이터베이스 이름 ]


 ↑ 데이터 베이스를 지정할때 사용하는 USE

   # 명령을 실행하면 ' Database changed '라는 명령과 함께 데이터베이스가 변경된다.

   # USE 명령은 SQL문이 아니기때문에 세미콜론( ; )없이 사용할 수 있다. 

  

 ↑ 현재 사용하는 데이터베이스를 표시




   【 데이터 베이스 삭제하기 


  Query > DROP DATABASE [데이터베이스 이름]

  

 ↑ 데이터베이스 삭제하기

   # 한번 삭제된 데이터베이스는 되돌릴 수 없다. 데이터베이스안에 테이블 정보도 모두 삭제되기 때문에 이 명령을 사용할때는

      신중해야한다.





   


'MariaDB,MySQL > 함수 및 레퍼런스' 카테고리의 다른 글

MySQL 시간 관련 함수  (0) 2018.12.05
문자열 함수 - strcmp  (0) 2018.05.11
제어문- IF  (0) 2018.05.11
CONCAT  (0) 2018.05.11
MySQL - 기본 SQL ( 테이블 )  (0) 2017.06.09