본문 바로가기

Linux/CentOS Linux 6.5

Chapter 14. MySQL

Chapter 14. MySQL
1. DBMS(R-DBMS : Related-Database Management System)
 - Database를 관리하는 System
 - Database로부터 Data를 넣고, 가져오고, 수정하는 작업을 효율적이고 쉽게 해주는 도우미 역할을 한다.
 - Database의 구조

  · Database는 Table이라는 표형식의 구조로 되어 있으며 이 표들이 서로 연결되어 하나의 Database를 구축한다.
  · Database Server Program
  ◦ MySQL
  ◦ Oracle
  ◦ MsSQL Server
  ◦ postgreSQL
  · MySQL Daemon
  ◦ /etc/rc.d/init.d/mysqld

 

2. MySQL
 - MySQL 접속

  · Linux Terminal 상에서 MySQL에 접속하기 위해 사용하는 명령어
  · 반드시 MySQL Daemon이 켜져 있어야 접속이 가능하다.
  · MySQL을 접속한 후 사용되는 모든 명령어의 맨 뒤에는 Semicolon(;)을 써줘야 한다.
  · Option
  ◦ -u : MySQL을 실행할 사용자를 의미하며 Database 내의 user Table에 있는 사용자로 접속할 수 있도록 하는 Option으로 User Name과 같이 사용한다.
  ◦ -p : Password를 접속 후 입력할 때 사용하는
  ◦ -h : host를 의미하며 DB가 다른 곳에 존재할 때 DB가 존재하는 곳에 접속할 때 사용하는 Option으로 Host Number와 같이 사용한다.
  · 주요 Table
  ◦ columns_pvri : Column 권한에 대한 설정
  ◦ db : Database Level의 권한에 대한 설정을 할 수 있으며 DB와 사용자를 연결하는 역할을 하는 Table
  ◦ func : 사용자 함수에 대한 정보
  ◦ host : DB Table과 같이 Database Level의 권한 설정
  ◦ tables_priv : Table Level의 권한 설정
  ◦ user : Global Level의 권한 설정을 하며 사용자를 생성할 수 있는 Table이다.
     ※ 사용자를 생성한 후에 접속을 하기위해서는 Daemon을 다시 실행 시켜줘야한다.
 - Database & Table 확인

  · show 명령어로 현재 MySQL 내의 Database와 현재 사용자가 접속한 Database내의 Table을 확인할 수 있다.
  · Database를 확인할 때 관리자를 제외한 나머지 사용자들은 자신의 Database만 확인 가능하다.
 - Database & Table 생성

  · create 명령어로 Database와 Table을 생성할 수 있다.
  · Database를 생성하는 명령어는 관리자가 대부분 사용하며 다른 사용자들은 생성하더라도 사용자와 Database를 연결할 수 없어 생성한 사용자가 사용하지는 못한다.
  · Table을 생성할 때는 Schema로 사용할 Field Type들을 따로 정해줘야 하며 Field Type 별로 Data Type을 같이 정해줘야한다.
 - Database & Table 삭제

  · drop 명령어로 Database와 Table을 삭제할 수 있다.
  · Database와 Table을 생성할 때는 명령어가 다르지만 삭제할 때는 같으며 간단하다.
 - use

  · use 명령어는 현재 접속해 있는 Database가 아닌 다른 Database에 접속하기 위한 명령어이다.
  · 다른 Database에 사용자가 따로 부여되어 있다면 해당 사용자로 접속하는 것을 권장하며 관리자로 use 명령어를 통해 관리하는 것은 권장하지 않는다.
 - Table
  · Table은 Field Type(열), Record(행)로 구성된 표형태의 구조를 가지고 있으며 Field Type은 Table이 생성될 때 같이 생성된다.
  · 해당 Table에 값을 넣는다고 할 때는 Record를 삽입한다고 한다.
  · Table 수정
  ◦ Field Type 추가

   ▹ alter table 명령어와 add Option으로 Field Type을 새로 추가할 수 있다.
   ▹ after Option으로 어느 Field 뒤에 삽입할 것인지 지정 해줘야한다.
  ◦ Field Type 변경

   ▹ alter table 명령어로 Field Type을 변경할 수 있다.
   ▹ Option(modify : Field 변경/change : Field 이름 변경)에 따라 Field를 변경하거나 이름만 변경할 수 있다.
  ◦ Field Type 삭제

   ▹ alter table 명령어로 drop Option으로 Field Type을 삭제할 수 있다.
 · Table 확인
  ◦ describe/explain/desc

   ▹  해당 Table의 Field Type을 확인하기 위한 명령어
  ◦ select

 

   ▹ Field Type과 지정한 Field Type에 해당하는 값을 표 형태로 출력하는 명령어
   ▹ Asterisk(*)를 Field Type로 입력하면 모든 Field Type과 값이 출력된다.
   ▹ Option
    ▸  where [조건] : 따로 검색하고자 할 Record 지정
    ▸  order by [Field 이름] [ASC / DESC] : Field를 기준 오름자순, 내림자순 정렬
 · Record 추가/삭제/변경
  ◦ Record 추가

   ▹ insert into 명령어로 Record를 추가할 수 있다.
   ▹ Record를 추가할 때 원하는 값만 추가할 수 있으며 원하는 값을 추가할 때는 Field Type을 지정해줘야 하며 나머지 지정되지 않은 값들은 NULL 값으로 처리된다.
  ◦ Record 삭제

   ▹ delete from 명령어로 Record를 삭제할 수 있다.
   ▹ 원하는 Record를 삭제할 때 Where Option을 같이 사용해 Filtering을 해줘야한다.
   ▹ Filtering을 할 때 값이 유일한 것으로 Filtering을 해야 해당 Record만 삭제할 수 있다.
  ◦ Record 변경

   ▹ update 명령어로 Record 내용을 새롭게 변경할 수 있다.
   ▹ set Option으로 Field Type에 해당하는 값을 변경한다.
   ▹ 삭제할 때와 마찬가지로 Filtering을 해서 해당 Table의 내용만 변경해야 한다. 

 

'Linux > CentOS Linux 6.5' 카테고리의 다른 글

Chapter 15. PHP & Zero Board  (0) 2015.08.07
Chapter 13. Apache  (0) 2015.08.07
Chapter 12. DNS(Domain Name Service)  (0) 2015.08.07
Chapter 11. NFS(Network File System)  (0) 2015.08.07
Chapter 10. FTP Service - Vsftpd  (0) 2015.08.07