db : database
dbms : database management system
즉, db내의 데이터에 접근하도록 도와주는 시스템
mysql: dbms의 한 종류
sql: dbms에 명령을 내릴 때 필요한 특별한 명령
즉, mysql에 내리는 명령
= structured Query Laguage
데이터를 보다 쉽게 검색하고 추가,삭제,수정 같은 조작을 할 수 있도록 고안된 컴퓨터 언어이다.
관계형 데이터 베이스에서 데이터를 조작하고 쿼리하는 표준수단이다.
DML, DDL, DCL로 구성됨
C:\Users\user> mysql -uroot -p
MySQL 관리자 계정인 root로 데이터베이스 관리 시스템에 접속하겠다는 것이다.
mysql 프롬프트가 잘생성이 되었으면 다음을 실행한다.
mysql> create database DB이름;
데이터베이스를 생성하는 명령어이다.
grant all privileges on db이름.* to 계정이름 @'%' identified by '암호';
grant all privileges on db이름.* to 계정이름 @'localhost' identified by '암호';
flush privileges;
계정이름
사용자 계정 이름
db이름.*
*은 모든 권한을 주겠다는 의미임. 권한을 골라서 줄 수도 있지만 위는 계정이름
에게 모든 권한을 주겠다는 의미임. 즉, 해당 db를 사용할 수 있는 모든 권한을 주겠다는 것.
@'%'
어떤 클라이언트에서든 접근이 가능한 권한을 주겠다는 의미임.
@'localhost'
해당 컴퓨터에서만 접근이 가능하다는 의미임
flush privileges
DBMS에게 적용해달라고 요청하는 것이다. 이것을 실행해야 적용이 된다.
-> 즉, 사용자 계정에게 모든 권한을 주고, 어떤 클라이언트에서든지 접근을 가능하게 하겠어라는 뜻이다. (맨위의 명령어의 경우)
mysql> mysql -h호스트명 -uDB계정명 -p 데이터베이스이름
위와 같은 명령을 실행해서 원하는 데이터베이스에 접속할 수 있다.
밑은 예시이다.
ex) > mysql -h127.0.0.1 -uconnect -p connectdb
mysql> quit
또는
mysql> exit
위처럼 프롬프트에서 quit혹은 exit라고 입력한다.
그리고 Bye라고 나오면 연결끊기 성공한 것이다.
1 row in set (0.00 sec)
mysql> SELECT VERSION(), CURRENT_DATE;
mysql> select version(), current_date;
mysql> SeLeCt vErSiOn(), cureent_DATE;
mysql> SELECT VERSION(); SELECT NOW();
mysql> SELECT
-> USER()
-> ,
-> CURRENT_DATE;
mysql> SELECT
-> USER()
-> \c
mysql>
작업하기 위한 데이터베이스를 선택하기 위해서 어떤 데이터베이스가 있는지 알아야 한다.
mysql> show databases;
현재 서버에 존재하는 데이터베이스를 찾아보기 위해서 SHOW statement를 사용한다.
mysql> use mydb;
Database를 선택하기 위해 "use" command를 사용한다.
데이터 베이스를 전환하려면, 이미 데이터베이스가 존재해야 하고, 현재 접속중인 계정이 해당 데이터베이스를 사용할 수 있는 권한이 있어야 한다.