TIL 37. MySQL 개요 및 기본 속성

윤현묵·2021년 10월 2일
0

MySQL

목록 보기
1/12
post-thumbnail

MySQL 개요

  • MySQL: 가장 널리 사용되고 있는 관계형 데이터베이스 관리 시스템
  • MySQL은 오픈 소스이며, 다중 사용자와 다중 스레드를 지원
  • C언어, C++, JAVA, PHP 등 여러 프로그래밍 언어를 위한 다양한 API를 제공

데이터베이스(DataBase)

데이터베이스(DB: database): 통합하여 관리되는 데이터의 집합체를 의미

이는 중복된 데이터를 없애고, 자료를 구조화하여, 효율적인 처리를 할 수 있도록 관리됩니다.
따라서, 여러 업무에 여러 사용자가 데이터 베이스를 사용할 수 있습니다.
이러한 데이터베이스는 응용 프로그램과는 다른 별도의 미들웨어에 의해 관리됩니다.
데이터베이스를 관리하는 이러한 미들웨어를 데이터베이스 관리 시스템(DBMS: Database Management System)이라고 합니다.

미들웨어(영어: middleware)는 컴퓨터 제작 회사가 사용자의 특정한 요구대로 만들어 제공하는 프로그램으로, 운영 체제와 응용 소프트웨어의 중간에서 조정과 중개의 역할을 수행하는 소프트웨어이다. 응용 소프트웨어가 운영 체제로부터 제공받는 서비스 이외에 추가적으로 이용할 수 있는 서비스를 제공하는 컴퓨터 소프트웨어이다. "소프트웨어 글루"(software glue)로 이야기된다.[1] 응용 소프트웨어는 유연하고 확장, 축소가 편리하여야 하며 이러한 장점을 충족하기에 개발자의 다른 기종 간 플랫폼을 다시 구축할 필요가 없어야 한다. 이를테면 데이터베이스 시스템, 전자 통신 소프트웨어, 메시지 및 쿼리 처리 소프트웨어를 들 수 있다.
출처: 위키백과

데이터베이스의 특징

  • 사용자의 질의에 대하여 즉각적인 처리와 응답이 이루어집니다.
  • 생성, 수정, 삭제를 통하여 항상 최신의 데이터를 유지합니다.
  • 사용자들이 원하는 데이터를 동시에 공유할 수 있습니다.
  • 사용자가 원하는 데이터를 주소가 아닌 내용에 따라 참조할 수 있습니다.
  • 응용프로그램과 데이터베이스는 독립되어 있으므로, 데이터의 논리적 구조와 응용프로그램은 별개로 동작됩니다.

SQL(Structured Query Language)

SQL(Structured Query Language)은 데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어입니다.
따라서 SQL 구문도 위의 목적에 맞게 크게 세 가지로 구분할 수 있습니다.

  1. DDL(Data Definition Language)
  2. DML(Data Manipulation Language)
  3. DCL(Data Control Language)

속성 설명 주요 명령어

  • DDL: 데이터베이스나 테이블 등을 생성, 삭제하거나 그 구조를 변경하기 위한 명령어
    -. CREATE: 데이터베이스, 테이블등을 생성하는 역할
    -. ALTER: 테이블을 수정하는 역할
    -. DROP: 데이터베이스, 테이블을 삭제하는 역할
    -. TRUNCATE: 테이블을 초기화 시키는 역할

    <컬럼 추가>: ALTER TABLE 테이블명 ADD 컬럼명 데이터 유형;
    <컬럼 삭제>: ALTER TABLE 테이블명 DROP COLUMN 삭제할 컬럼명;

  • DML: 데이터베이스에 저장된 데이터를 처리하거나 조회, 검색하기 위한 명령어
    -. SELECT: 데이터를 조회하는 역할
    -. INSERT: 데이터를 삽입하는 역할
    -. UPDATE: 데이터를 수정하는 역할
    -. DELETE: 데이터를 삭제하는 역할

    <테이블 수정>UPDATE 테이블명 SET 컬럼=수정값, WHERE 조건(옵션값)

  • DCL: 데이터베이스에 저장된 데이터를 관리하기 위하여 데이터의 보안성 및 무결성 등을 제어하기 위한 명령어
    -. GRANT: 특정 데이터베이스 사용자에게 특정 작업에 대한 수행권한 부여
    -. REVOKE: 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 박탈, 회수
    -. COMMIT: 저장되지 않은 모든 데이터를 데이터베이스에 저장하고 현재의 트랜잭션을 종료하라는 명령
    -. ROLLBACK: 트랜잭션의 작업을 취소 및 원래대로 복구하는 역할

    create Session: 데이터 베이스를 연결할 수 있는 권한
    create table: 테이블을 생성할 수 있는 권한
    create sequence: 시퀀스를 생성할 수 있는 권한
    create view: 뷰를 생성할 수 있는 권한
    create procedure: 프로시저를 생성할 수 있는 권한
    create role: 오라클 데이터베이스 역할을 생성할 수 있는 권한
    alter user: 생성한 사용자의 정의를 변경할 수 있는 권한
    drop user: 생성한 사용자를 삭제시키는 권한

    <시스템 권한 부여>
    GRANT 시스템 권한명 [, 시스템 권한명 ... | 롤명]
    TO 유저명 [, 유저명... | 롤명 ... |PUBLIC | ​[WITH ADMIN OPTION];

참고자료: http://tcpschool.com

profile
진정성 있는 개발자를 꿈꾼다

0개의 댓글