TIL 20-03-24
Updated:
학습 목표
- SQL이 무엇인지 이해한다.
- MySQL에서 Database를 생성할 수 있다.
- MySQL에서 Database를 이용하는 계정을 생성하고, 권한을 부여할 수 있다.
- 생성한 Database에 sample데이터를 추가할 수 있다.
SQL이란?
- SQL은 데이터를 보다 쉽게 검색하고 추가, 삭제, 수정 같은 조작을 할 수 있도록 고안된 컴퓨터 언어입니다.
- 관계형 데이터베이스에서 데이터를 조작하고 쿼리하는 표준 수단입니다.
- DML(Data Manupulation Language) 데이터를 조작하기 위해 사용합니다. INSERT, DELETE, UPDATE, SELECT 등이 여기에 해당됩니다.
- DDL(Data Definition Language) : 데이터베이스의 스카마를 정의하거나 조작하기 위해 사용합니다. CREATE, DROP, ALTER 등이 해당합니다.
- DCL(Data Control Language) : 데이터를 제어하는 언어입니다. 권환을 관리하고, 데이터의 보안, 무결성을 정의합니다. GRANT, REVOKE 등이 해당됩니다.
Database 생성하기
- mysql –uroot -p //관리자 계정인 root로 데이터베이스 관리 시스템에 접속
- mysql> create database DB이름;
사용자 생성과 권한 주기
- db이름 뒤의 * 는 모든 권한을 의미한다.
- @’%’는 어떤 클라이언트에서든 접근 가능하다는 의미이고, @’localhost’는 해당 컴퓨터에서만 접근 가능하다는 의미입니다.
- flush privileges는 DBMS에게 적용을 하라는 의미입니다.
- 해당 명령을 반드시 실행해줘야 합니다.
grant all privileges on db이름.* to 계정이름@'%' identified by '암호’;
grant all privileges on db이름.* to 계정이름@'localhost' identified by '암호’;
flush privileges;
생성한 Database 접속하기
- mysql –h호스트명(127.0.0.1) –uDB계정명 –p 데이터베이스이름
MySQL 연결 끊기
- mysql> QUIT (혹은) mysql> exit
- Bye라고 나오면 연결 끊기 성공
sql 버전과 현재 날짜 구하기
mysql> SELECT VERSION(), CURRENT_DATE;
SQL을 입력하는 도중 취소
mysql> SELECT
-> USER()
-> \c
mysql>
프롬프트에서는 SQL을 입력합니다.
SQL은 semicolon (;)으로 끝납니다.
SQL은 쿼리(Query)라고 읽습니다.
쿼리는 DBMS에게 명령을 내릴 때 사용하는 문장이라고 생각하면 쉽습니다.
SELECT는 어떤 내용을 조회할 때 사용하는 키워드입니다.
MySQL은 쿼리에 해당하는 결과의 전체 row를 출력하고 마지막에 전체 row 수와 쿼리실행에 걸린 시간을 표시합니다.
키워드는 대소문자를 구별하지 않습니다.
DBMS에 존재하는 데이터베이스 확인하기
mysql> show databases;
+-----------------------+
| Database |
+-----------------------+
| information_schema |
| connectdb |
+-----------------------
2 rows in set (0.00 sec)
사용중인 데이터베이스 전환하기
mysql> use mydb;
테이블 목록 확인
mysql> show tables;
SQL 연습을 위한 테이블 생성과 값의 저장
mysql -uconnectuser -p connectdb < examples.sql
// 테이블 생성
mysql –uconnectuser -p connectdb
// DB 접속
mysql> show tables
//DB 테이블 목록 보기
테이블 구조를 확인하기 위한 DESCRIBE 명령
mysql> desc EMPLOYEE;
- table 구조를 확인하기 위해, DESCRIBE 명령을 사용할 수 있습니다.
- 짧게 DESC라고 사용해도 됩니다.