SQL이란 (1/3)

jungnoeun·2021년 7월 14일
0

bc

목록 보기
1/7
post-custom-banner

기본 개념

db : database
dbms : database management system
즉, db내의 데이터에 접근하도록 도와주는 시스템
mysql: dbms의 한 종류

sql: dbms에 명령을 내릴 때 필요한 특별한 명령
즉, mysql에 내리는 명령





SQL

  • = structured Query Laguage

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

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

  • DML, DDL, DCL로 구성됨






DCL

  • = Data Control Laguage
  • 데이터를 제어하는 언어이다
  • 권한을 관리하고, 데이터의 보안, 무결성등을 정의한다.
  • GRANT, REVOKE등이 해당한다.


1. 데이터 베이스 생성하기

C:\Users\user> mysql -uroot -p

MySQL 관리자 계정인 root로 데이터베이스 관리 시스템에 접속하겠다는 것이다.

  • p는 password를 뜻하므로 설치시 입력했던 비밀번호를 입력해야 한다.

mysql 프롬프트가 잘생성이 되었으면 다음을 실행한다.


mysql> create database DB이름;

데이터베이스를 생성하는 명령어이다.




2. 사용자 생성과 권한 주기

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에게 적용해달라고 요청하는 것이다. 이것을 실행해야 적용이 된다.

-> 즉, 사용자 계정에게 모든 권한을 주고, 어떤 클라이언트에서든지 접근을 가능하게 하겠어라는 뜻이다. (맨위의 명령어의 경우)




3. 생성한 Database에 접속하기

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

위와 같은 명령을 실행해서 원하는 데이터베이스에 접속할 수 있다.
밑은 예시이다.

ex) > mysql -h127.0.0.1 -uconnect -p connectdb




4. MySQL 연결끊기

mysql> quit
또는
mysql> exit

위처럼 프롬프트에서 quit혹은 exit라고 입력한다.
그리고 Bye라고 나오면 연결끊기 성공한 것이다.




더하여

  • 모든 쿼리는 세미콜론(;)으로 끝난다.
  • sql이라고 쓰지만 쿼리라고 읽는다.
  • 쿼리는 DBMS에게 명령을 내릴 때 사용하는 문장이다.
  • 위에서 row는 결과가 전체 몇줄인지 보여주는 것이고, sec는 쿼리가 실행되는데 걸리는 시간을 의미한다.
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();
  • 하나의 SQL은 여러 줄로 입력이 가능하다.
mysql> SELECT
    -> USER()
    -> ,
    -> CURRENT_DATE;
  • SQL을 입력하는 도중에 취소도 가능하다.
    긴쿼리를 쓰다가 중간에 취소해야 하는 경우, 즉시 .\c를 써주면 된다.
mysql> SELECT
    -> USER()
    -> \c
mysql>




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

작업하기 위한 데이터베이스를 선택하기 위해서 어떤 데이터베이스가 있는지 알아야 한다.

mysql> show databases;

현재 서버에 존재하는 데이터베이스를 찾아보기 위해서 SHOW statement를 사용한다.

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

mysql> use mydb;

Database를 선택하기 위해 "use" command를 사용한다.
데이터 베이스를 전환하려면, 이미 데이터베이스가 존재해야 하고, 현재 접속중인 계정이 해당 데이터베이스를 사용할 수 있는 권한이 있어야 한다.




새로 알게된 개념

  1. 트랜잭션: 데이터베이스의 상태를 변화시키기 위해서 수행되는 작업의 단위이다. 즉, SQL을 이용해서 데이터베이스를 접근하는 것을 의미한다.
profile
개발자
post-custom-banner

0개의 댓글