01. SQL 선수 지식 및 database 사용하기

dorongpark·2022년 11월 14일
0

SQL

목록 보기
1/16

01. 선수 지식

  • database
    = 여러 사람들이 공유하여 사용할 목적으로 통합, 관리 하는 데이터의 집합체
    (데이터가 모여있는 장소)

  • DBMS

DBMS (Database Management System)는 데이터베이스를 관리하기 위한 소프트웨어 시스템입니다. DBMS는 데이터베이스를 생성, 수정, 저장, 검색, 삭제, 보호하는 등의 기능을 제공합니다. 일반적으로 DBMS는 데이터베이스에 저장된 데이터를 사용자에게 제공하는데, 사용자는 DBMS를 통해 데이터를 조회, 수정, 삭제할 수 있습니다.
DBMS는 데이터베이스를 설계, 생성, 구축, 운영하는데 필요한 도구를 제공합니다. DBMS는 사용자들이 데이터베이스를 사용할 수 있도록 인터페이스를 제공하며, 데이터베이스를 안정적으로 운영하기 위해 데이터 보안, 백업, 복구 기능 등을 제공합니다.

여러가지 DBMS 중 가장 유명한 것으로는 MySQL, SQL Server, Oracle, PostgreSQL 등이 있습니다

  • RDB
    = 서로 관계가 있는 데이터들을 모아둔 데이터 저장 공간
  • SQL 이란?
    = Structured query language, 데이터 베이스로 사용자가 접근할때 데이터를 정의, 조작, 제어 하기 위해 사용하는 언어
  • SQL 구성
  1. 데이터 정의 언어(DDL: data definition language) = create, drop, alter 등의 명령어
  2. 데이터 조작 언어(DML: data manipulation language) = insert, modify,select,delete 등의 명령어
  3. 데이터 제어 언어(DCL: data control language) = grant, revoke, commit, rollback 등의 명령어

02. database

2.1 root 계정으로 mysql에 접속 하기

명령 프롬프트 창에 아래 명령어를 치면

mysql -u root -p

enter password:
패스워드 입력란이 나오는데 mysql 설치 설정했던 비밀번호를 입력하면 root 계정에 접속할 수 있다.

2.2 현재 생성되어 있는 database 목록 확인

show databases;

주의할 점은 show database에 s를 안치면 mysql syntax error가 뜬다.

2.3 database 생성하기

create database dbname;

2.4 database 사용하기

use database;

2.5 database 삭제하기

drop database dbname;

testdb 삭제 후 database 목록을 보면 testdb는 존재하지 않음을 알수 있다


03. user 관리

3.1 user 조회

사용자 정보는 mysql이라는 database에서 관리하므로 일단 mysql database로 이동 후 조회해야한다.

use mysql;
select host, user from user; # mysql db안에 user 테이블이 존재


3.2 user 생성

user는
1.현재 pc에서만 접속 가능한 사용자 (localhost)
2.외부에서 접속 가능한 사용자로 나누어 생성할 수 있다. (%)

  1. 현재 pc에서만 접속 가능한 사용자를 비밀번호와 함께 생성

create user 'username'@'localhost' identified by 'password';

  1. 외부에서 접속 가능한 사용자를 비밀번호와 함께 생성

create user 'dorong'@'%' identified by 'password';

3.3 user 삭제

접근 범위에 따라 같은 이름의 사용자여도 별도로 삭제해 주어야 함

drop user 'username'@'localhost'
drop user 'username'@'%'

한번에 한 쿼리만 입력이 가능하므로 한개씩 지워줘야함

3.4 user 권한 확인

권한 부여 = grant to
권한 부여 회수 = revoke from

사용자에게 부여된 모든 권한 목록을 확인

show grants for 'username'@'localhost';


현재 pc에 접속 가능한 noma에게 testdb의 모든 권한을 부여하기

grant all on testdb.* to 'noma'@'localhost';


사용자에게 특정 데이터 베이스의 모든 권한을 삭제

revoke all on dbname.* from 'username'@'localhost';


profile
질문 없는 성장은 없다. 3년차 데이터 분석가

0개의 댓글

관련 채용 정보