본문 바로가기
CS/Database

[Edwith] 2. SQL 소개

by 쵸빙 2020. 4. 15.

저번 시간에는 데이터베이스와 그를 관리하는 DBMS에 대해 알아보았다. 이번 시간에는 DBMS를 컨트롤하는 언어에 대해 알아보도록 하겠다.

 

 

● SQL (Structured Query Language)

-SQL은 데이터를 보다 쉽게 검색하고 추가, 삭제, 수정같은 조작을 할 수 있도록 고안된 컴퓨터 언어

-관계형 데이터베이스에서 데이터를 조작하고 쿼리하는 표준 수단

 

1. DML (Data Manipulation Language)

-데이터를 조작하기 위해 사용됨.

-INSERT, UPDATE, DELETE, SELECT

 

2. DDL (Data Definition Language)

-데이터베이스의 스키마를 정의하거나 조작하기 위해 사용함.

-CREATE, DROP, ALTER

 

3. DCL (Data Control Language)

-데이터를 제어하는 언어

-권한을 관리하고, 데이터의 보안, 무결성 등을 정의함.

-GRANT, REVOKE

 

 

● MySQL 실행하기

시스템 환경변수에 mysql bin을 추가해놓았다면 cmd에서 다음 명령어를 입력하면 간편하게 mysql을 사용할 수 있다.

mysql -uroot -p

 

 

● 데이터베이스 생성하기

CREATE DATABASE DB이름;

 

 

 

● 데이터베이스 사용자 생성과 권한 주기

-데이터베이스를 생성했다면, 해당 데이터베이스를 사용하는 계정을 생성해야 함.

-해당 계정이 데이터베이스를 이용할 수 있는 권한을 줘야 함.

-db 이름 뒤의 *는 모든 권한을 의미한다.

-@'%'는 어떤 클라이언트에서든 접근 가능하다는 의미이고,

 @'localhost'는 해당 컴퓨터에서만 접근 가능하다는 의미이다.

-flush privileges는 DBMS에게 적용을 하라는 의미이므로 반드시 실행해줘야한다.

grant all privileges on connectdb.* to connectuset@’%’ identified by ‘connect123!@#’;

grant all privileges on connectdb.* to connectuser@’localhost’ identified ‘connect123!@#’;

flush privileges;

 

 

생성한 Database에 접속하기

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

ex) mysql -h127.0.0.1 -uconnectuser -p connectdb [enter]

 

 

MySQL 연결끊기

프롬프트에서 quit 혹은 exit이라고 입력한다.

Bye라고 나오면 연결 끊기 성공

 

 

MySQL 버전과 현재 날짜 구하기

-프롬프트에서는 SQL을 입력한다.

-SQLsemicolon (;)으로 끝난다.

-SQL은 쿼리(Query)라고 읽는다.

-쿼리는 DBMS에게 명령을 내릴 때 사용하는 문장이라고 생각하면 쉽다.

-SELECT는 어떤 내용을 조회할 때 사용하는 키워드이다.

-MySQL은 쿼리에 해당하는 결과의 전체 row를 출력하고 마지막에 전체 row 수와 쿼리실행에 걸린 시간을 표시한다.

-키워드는 대소문자를 구분하지 않는다.

(다음 쿼리들은 모두 같다.

SELECT VERSION(), CURRENT_DATA;

select version(), current_data;

SeLeCt vErSiOn(), current_DATE; )

SELECT VERSION(), CURRENT_DATA;

 

 

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

작업하기 위한 데이터베이스를 선택하기 위해서는 어떤 데이터베이스가 존재하는지 알아보아야한다. 현재 서버에 존재하는 데이터베이스를 찾아보기 위해서 SHOW statement를 사용한다.

 

 

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

데이터베이스를 전환하려면, 이미 데이터베이스가 존재해야하며 현재 접속중인 계정이 해당 데이터베이스를 사용할 수 있는 권한이 있어야한다.

use db이름;

 

 

다음 시간에는 테이블을 다루는 법에 대해서 알아보도록 하겠다.

 

 

'CS > Database' 카테고리의 다른 글

[Edwith] 6. DML - UPDATE 알아보기  (0) 2020.04.16
[Edwith] 5. DML - INSERT 알아보기  (0) 2020.04.16
[Edwith] 4. DML - Select 알아보기  (0) 2020.04.16
[Edwith] 3. 테이블 관리  (0) 2020.04.15
[Edwith] 1. Introduction  (0) 2020.04.15