본문 바로가기
Database

MySQL 기초 정리

by kmmguumnn 2018. 7. 3.



root 계정으로 DBMS에 접속:

mysql -uroot -p




Database 생성:

mysql> create database DB이름;

예) create database connectdb;




Database 사용자 생성 및 권한 부여:

(MySQL 5.x)

mysql> grant all privileges on db이름.* to 계정이름@'%' identified by '암호’;

mysql> grant all privileges on db이름.* to 계정이름@'localhost' identified by '암호’;

mysql> flush privileges;


(MySQL 8.x)

mysql> create user '계정이름'@'%' identified by '암호';

예) mysql> create user 'connectuser'@'%' identified by '암호';


mysql> grant all on db이름.* to '계정이름'@'%';

예) mysql> grant all on connectdb.* to 'connectuser'@'%';


mysql> create user '계정이름'@'localhost' identified by '암호';

mysql> grant all on db이름.* to '계정이름'@'localhost';

mysql> flush privileges;




생성한 Database에 접속하기:

mysql –h호스트명 –uDB계정명 –p 데이터베이스이름

예) mysql –h127.0.0.1 –uconnectuser –p connectdb [enter]

(MySQL이 설치된 PC에서 직접 접속할 경우 호스트명 생략 가능)




MySQL 연결 끊기:

mysql> quit 

혹은

mysql> exit




MySQL 버전 및 현재날짜 구하기(case-insensitive):

mysql> SELECT VERSION(), CURRENT_DATE; 


mysql> SELECT VERSION(); SELECT NOW();    ( ⇒ 여러 줄에 출력)


mysql> SELECT                                                                 ( ⇒ 여러 줄에 입력)

           -> USER()

           -> ,

           -> CURRENT_DATE;




입력하는 도중에 취소하기:

mysql> SELECT

           -> USER()

           -> \c

mysql>




DBMS에 존재하는 데이터베이스 확인하기:

mysql> show databases;




사용중인 데이터베이스 전환하기:

mysql> use db이름;







테이블(table)의 구성요소


  • 테이블 : RDBMS의 기본적 저장구조 한 개 이상의 column과 0개 이상의 row로 구성한다.
  • 열(Column) : 테이블 상에서의 단일 종류의 데이터를 나타냄. 특정 데이터 타입 및 크기를 가지고 있다.
  • 행(Row) : Column들의 값의 조합. 레코드라고 불림. 기본키(PK)에 의해 구분. 기본키는 중복을 허용하지 않으며 없어서는 안된다.
  • Field : Row와 Column의 교차점으로 Field는 데이터를 포함할 수 있고 없을 때는 NULL 값을 가지고 있다.


현재 데이터베이스에 존재하는 테이블 목록 확인하기:
mysql> show tables;

아무 테이블도 없는 상태에서는 "Empty set" 이라는 결과가 출력된다.


examples.sql이라는 파일을 다운로드 받고. 해당 디렉토리 내에서 다음을 입력한다.

mysql -u계정이름 -p db이름 < examples.sql

예) mysql -uconnectuser -p connectdb < examples.sql



db에 접속하기 위해 다음을 입력한다.

mysql –u 계정이름 -p db이름

예) mysql –uconnectuser -p connectdb





이제

mysql> show tables;

를 입력하면 다음이 나타난다.




이 중에서 EMPLOYEE 테이블의 구조를 확인하기 위해서,

mysql> desc EMPLOYEE;

를 입력하면 다음이 나타난다.









참고자료


13.1.11 CREATE DATABASE Syntax


13.2.9 SELECT Syntax


13.7.1.4 GRANT Syntax



'Database' 카테고리의 다른 글

PostgreSQL 설치하기 (MacOS 기준)  (0) 2019.12.17
트랜잭션(Transaction)이란?  (0) 2019.03.03
[MySQL] DDL(Data Definition Language)  (0) 2018.07.03
[MySQL] DML(Data Manipulation Language)  (0) 2018.07.03

댓글