728x90
반응형
1. 스키마(Schema)
스키마란?
속성(Attribute): 개체의 특성
개체(Entity): 속성들의 집합
관계(Relation): 개체 사이에 존재
위 세 가지가 유지해야 할 제약조건들을 기술한 것이다.
즉, 데이터베이스의 구조와 제약조건에 관해 명세를 기술한 것이라고 할 수 있다.
쉽게 말하면, 데이터베이스 내에 어떤 구조로 데이터가 저장되는가를 나타내는 구조를 스키마(schema)라고 한다.
use performance_schema; |
show tables; |
desc user; |
select * from user; (user 테이블에서 모든 필드의 항목을 조회하기) |
특정 필드를 보기 위해서는 * 대신 필드 이름 넣어주기 |
데이터베이스 생성하기 (기본 캐릭터셋 설정, 문자집합 정렬) |
create database Dbtest default character set utf8 default collate utf8_general_ci; |
사용자 생성하기 |
create user ‘yw’@’localhost’ identified by ‘1234’; |
select user from mysql.user; (유저 목록 확인하기) |
use Dbtest; |
현재 Dbtest 디렉토리에 있지만 다른 위치에 있는 항목을 조회하고 싶을 때는 전체 경로를 적어준다. |
select user from mysql.user; |
※참고로 데이터베이스나 사용자를 삭제랄 경우에는 DROP 명령어를 사용한다.
2. 데이터베이스 언어
DDL (Data Definition Language - 데이터 정의어)
DML (Data Manufacture Language - 데이터 조작어)
DCL (Data Control Language - 데이터 제어어)
명령어 | 종류 | 설명 |
데이터 조작 (DML : Data Manipulation Language) |
SELECT | DB에 들어있는 데이터를 조회, 검색하기 위한 명령어(=RETRIEVE) |
INSERT UPDATE DELETE |
DB의 테이블에 들어 있는 데이터에 삽입, 수정, 삭제와 같은 변형을 가하는 명령어 | |
데이터 정의어 (DDL: Data Definition Language) |
CREATE ALTER DROP RENAME TRUNCATE |
테이블과 같은 데이터 구조를 정의한다. 생성, 변경, 삭제, 이름변경 명령어들이다. |
데이터 제어어 (DCL: Data Control Language) |
GRANT REVOKE |
DB에 접근하고 객체들을 사용하도록 권한을 주거나 회수하는 명령어 |
트랜젝션 제어어 (TCL: Transaction Control Language) |
COMMIT ROLLBACK SAVEPOINT |
논리적인 작업 단위를 묶어서 DML에 의해 조작된 결과를 트랜잭션 별로 제어하는 명령어 |
root계정에 관한 권한 보기 |
show grants; |
아까 만든 yw라는 사용자의 권한 확인하기 |
show grants for ‘yw’@’localhost’; |
728x90
반응형
'정보보안실무 > 데이터베이스' 카테고리의 다른 글
[MariaDB] 사용자 조회, 생성, 권한 부여 (0) | 2023.05.06 |
---|---|
[MariaDB] Key와 View 테이블 (2) | 2023.05.06 |
[MariaDB] 메모리 정보 조회 및 DB구현 (0) | 2023.05.06 |
평가.18 데이터베이스 (0) | 2023.04.16 |
데이터베이스 보안 (feat. SQL Injection) (0) | 2023.04.16 |