SQL 기초 (1) - 데이터베이스, 유저 생성

이휘연·2024년 2월 2일

SQL

목록 보기
1/12

데이터베이스

여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합체입니다.

DBMS (Database Management System)
사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어입니다.

관계형 데이터베이스 (RDB : Relational Database)
서로간에 관계가 있는 데이터 테이블들을 모아둔 데이터 저장공간입니다.

SQL 이란? (Structured Query Language)

데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어입니다.

SQL의 구성

• 데이터 정의 언어 (DDL: Data Definition Language)

- CREATE, ALTER, DROP 등의 명령어

• 데이터 조작 언어 (DML: Data Manipulation Language)

- INSERT, UPDATE, DELETE, SELECT 등의 명령어

• 데이터 제어 언어 (DCL: Data Control Language)

- GRANT, REVOKE, COMMIT, ROLLBACK 등의 명령어

구성또한 정의와 조작, 제어로 나눌 수 있습니다.

MySQL 접속


Enter password에 SQL을 설치하면서 설정한 비밀번호를 넣어줍니다. 잃어버리면 프로그램을 제거하고 다시 설치 해야하니 반드시 기억해야 합니다!!!!!

show databases

현재 database 목록을 보여줍니다. sql에서 세미콜론(;)은 엔터를 의미합니다.

create database databasename

databasename 이름의 데이터베이스를 생성합니다.

drop database databasename

databasename 이름의 데이터베이스를 제거합니다.

use database

해당 데이터베이스로 이동, 사용합니다.

select host, user from user

user 정보는 mysql 데이터베이스에서 관리됩니다.
user 관련 명령어 사용시 호스트와 유저 테이블을 user에서 선택해 갖고 옵니다.

create user


현재 PC 에서만 접속 가능한 user를 비밀번호와 함께 생성하려면
create user 'username'@'localhost' identified by 'password';

현재 PC 에서 접속 가능한 user를 비밀번호와 함께 생성하려면
create user 'username'@'%' identified by 'password'; 입력해줍니다.

호스트 정보가 다른 user는 이름이 같아도 상관이 없습니다. 또한 비밀번호가 없이도 user를 생성할 수 있습니다.

drop user


유저를 삭제하려면 유저의 상황에 맞게
drop user 'username'@'localhost'; 혹은 drop user 'username'@'%'; 라고 입력해줍니다.

show grants for ‘username’@’hostname’

유저에게 부여된 모든 권한 목록을 확인합니다.

grant all on databasename.* to ‘username’@’hostname’

특정 데이터베이스의 모든 권한을 유저에게 부여합니다. 코딩에서 *은 모든 것을 의미합니다.

revoke all on databasename.* from ‘username’@’hostname’

유저에게 부여한 특정 데이터베이스의 모든 권한을 삭제합니다.

flush privileges

새로고침을 해줍니다.

profile
안녕하세요

0개의 댓글