2 분 소요



관계형 데이터베이스



개념 및 용어


관계형 데이터베이스의 개념

  • 데이터베이스: 서로 관련성을 가진 데이터들을 데이터 간의 중복을 최소화해서 체계적으로 모아놓은 것
  • 관계형 데이터베이스는 데이터를 테이블(표)로 표현


관계형 데이터베이스 관련 용어

  • 데이터 : 각 항목에 저장되는 값이다.
  • 테이블 : 데이터를 체계화하여 행과 열의 형태로 구성한 것으로 테이블 이름을 붙인다.
  • 데이터베이스 : 관련 있는 데이터를 체계적으로 저장한 것으로 데이터는 테이블 형태로 저장된다.
  • 데이터베이스에는 하나 이상의 테이블이 있을 수 있다. 데이터베이스 이름을 붙인다.
  • 필드 : 테이블의 열을 의미하며 칼럼이라고도 한다.
  • 레코드 : 테이블에 저장한 한 행의 정보를 의미하며 튜플(tuple)이라고도 한다. 한 행에는 여러 필드의 값이 저장될 수 있다.
  • 키 : 레코드를 구성하는 필드에서 각 레코드를 구분할 수 있는 필드 값을 뜻한다.
  • 예를 들어 학생 데이터를 구성하는 레코드라면 학번 필드가 키가 될 수 있다. 키로 선택된 필드의 값은 중복될 수 없다.
  • 키는 기본 키(primary key)와 그 외 다른 키들이 있을 수 있다.


DBMS(Database Management System)

  • 데이터베이스를 관리하기 위한 소프트웨어 또는 DB 서버(데이터베이스 서버)를 말한다.
  • Mysql과 test DB는 시스템이 제공하는 DB, st_db는 사용자가 생성한 DB.



SQL 구문



SQL 문은 대소문자를 구별하지 않는다.(단, 테이블명은 예외) –예약어는 대문자, 사용자 입력 명령어는 소문자로 표시 : 가독성을 높이기 위함

  • 명령의 끝에는 반듯이 ; 넣어준다.


DB와 관련된 SQL문

  • DB이름 조회 > SHOW DATABASES ;
  • 사용할 DB 지정 > USE db명 ;
  • DB생성 > CREATE DATABASE db명 ;
  • DB 삭제 > DROP DATABASE db명 ;


테이블 관련 SQL문

  • 테이블 이름 조회 >SHOW TABLES ;
  • 테이블 구조(형태)조회 > EXPLAIN 테이블명 ; 또는 DESC 테이블명 ;
  • 테이블 생성 > CREATE TABLE 테이블명(필드명1 필드타입1, …)
  • 테이블 삭제 > DROP TABLE 테이블명 ;


사용자 생성과 권한 설정 ***

MariaDB[None]> CREATE USER KIM IDENTIFIED BY ‘gachon1234’

  • DEFAULT TABLESPACE users
  • TEMPORARY TABLESPACE temp;


MariaDB[None]> GRANT CONNECT, RESOURCE, CREATE SESSION,

  • CREATE VIEW TO KIM;


MariaDB[None]> FLUSH PRIVILEGES;


MariaDB에 데이터베이스 추가

  • MariaDB[None]> CREATE DATABASE web ;



사용자 추가

  • localhost , % (원격접속 사용자)
  • MariaDB[None]> CREATE USER ‘user’@’localhost’ identified by ‘1234’ ;
  • MariaDB[None]> CREATE USER ‘user’@’%’ identified by ‘1234’ ;
  • MariaDB[None]> FLUSH PRIVILEGES ;


권한 부여

  • MariaDB[None]> GRANT ALL PRIVILEGES ON web.* TO ‘user’@’localhost’ ;
  • MariaDB[None]> GRANT ALL PRIVILEGES ON web.* TO ‘user’@’%’ ;


USER table 확인

  • MariaDB[None]> SELECT host, user, password FROM user


현재 사용자 확인

  • MariaDB[None]> use mysql ;
  • MariaDB[mysql]> SELECT user, host FROM user ;


사용자 삭제 (kim)

  • MariaDB[None]> DELETE FROM user WHERE user=‘kim’ ;
  • MariaDB[None]> FLUSH PRIVILEGES;
  • MariaDB[None]> FLUSH PRIVILEGES;


테이블 관련 SQL문

  • 테이블 수정 >ALTER TABLE 테이블명 옵션 ;
  • ALTER TABLE customer MODIFY name CHAR(20) ;
  • ALTER TABLE customer CHANGE name fullname CHAR(20) ;
  • ALTER TABLE customer ADD phone VARCHAR(20) after name ;
  • ALTER TABLE customer DROP age ;


SQL 실습

MariaDB 설치 및 운영

MariaDB 실습

MariaDB 상태 확인

MariaDB 원격 접속

댓글남기기