저번 시간에는 데이터베이스와 그를 관리하는 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을 입력한다.
-SQL은 semicolon (;)으로 끝난다.
-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 |