[SQL] Database 및 Table 사용하기

jane05·2023년 10월 29일
0
post-thumbnail

1️⃣ Database 사용하기

1. Database란?

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

2. DBMS란? (Database Management System)

  • 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어

3. 관계형 데이터베이스란? (RDB : Relational Database)

  • 서로간에 관계가 있는 데이터 테이블들을 모아둔 데이터 저장공간

4. SQL이란? (Structured Query Language)

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

5. SQL 구성

  • 1) 데이터 정의 언어 (DDL: Data Definition Language)
    - CREATE, ALTER, DROP 등의 명령어

  • 2) 데이터 조작 언어 (DML: Data Manipulation Language)
    - INSERT, UPDATE, DELETE, SELECT 등의 명령어

  • 3) 데이터 제어 언어 (DCL: Data Control Language)
    - GRANT, REVOKE, COMMIT, ROLLBACK 등의 명령어

6. MySQL 접속하기

  • 터미널에 입력 시 접속 가능하다.
  • root 계정으로 mysql에 접속
mysql -u root -p

7. Database 목록 확인

SHOW DATABASES;

8. Database 생성

CREATE DATABASE dbname;
CREATE DATABASE testdb;

9. Database 사용

USE testdb;

10. Database 삭제

DROP DATABASE testdb;

11. User 조회

use mysql;
SELECT host, user FROM user;

12. User 생성 - localhost

  • 현재 PC에서 접속 가능한 사용자 생성
CREATE USER 'noma'@'localhost' identified by '1234';

12. User 생성 - %

  • 외부에서 접속 가능한 사용자를 비밀번호와 함께 생성
CREATE USER 'noma'@'%' identified by '1234';

13. User 삭제

DROP USER 'username'@'localhost'
DROP USER 'username'@'%'

14. User 삭제 예제 - localhost

DROP USER 'noma'@'localhost'

15. User 권한 확인

SHOW GRANTS FOR 'noma'@'localhost';

16. User 권한 부여

  • 모든 권한 부여하기
GRANT ALL ON testdb.* to 'noma'@'localhost';

17. User 권한 제거

  • 모든 권한 삭제하기
REVOKE ALL ON testdb.* from 'noma'@'localhost';

18. 참고 - 수정 내용이 적용되지 않은 경우 새로고침하기

FLUSH PRIVILEGES;

2️⃣ Table 사용하기

  • Table이란?
    - 데이터베이스 안에서 실제 데이터가 저장되는 형태이고, 행과 열로 구성된 데이터 모음

1. 실습할 데이터베이스 생성

CREATE DATABASE zerobase DEFAULT CHARACTER SET utf8mb4;

2. table 생성부터 확인하기

  • table 생성하기
create table mytable
(
  id int,
  name varchar(16)
);
  • table 목록 확인하기
show tables;
  • table 정보 확인하기
desc mytable;

2. table 정보 변경하기

  • table 이름 변경하기
alter table mytable rename person;
  • table column 추가하기
alter table person add column agee double;
  • table column 변경하기
    - person 테이블의 ageee 컬럼의 데이터 타입을 int로 변경
alter table person
modify column agee int;
- person  테이블의 agee 컬럼 이름을 age로 변경
alter table person
change column agee age int;
  • table column 삭제하기
    - person 테이블의 age 컬럼을 삭제
alter table person
drop column age;
  • table 삭제하기
    - person 테이블 삭제
drop table person;
profile
데이터 분석 공부 기록

0개의 댓글