[Zero-Base DS]스터디노트_SQL(01)

HAHAHAEUN·2024년 4월 17일
post-thumbnail

용어 정의

  • Database
    여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합체
  • DBMS(Database Management System)
    사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어
  • RDB(Relational Database) / 관계형 데이터베이스
    서로간에 관계가 있는 데이터 테이블들을 모아둔 데이터 저장공간
  • SQL(Structured Query Language)
    데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어

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 등

SQL 기초

1) CREATE / DROP / USE

  • create database 생성항목 : 생성
    • default character set utf8mb4: 이모지도 지원
  • use 생성항목 : 생성된 db로 이동
  • drop database 생성항목 : 삭제
create table celeb
(
   id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
 # NULL값 허용 X   
   name varchar(32) NOT NULL DEFAULT ''
)

2) User 관리(MySQL에서 관리)

  • 정보 확인 : SELECT HOST, USER FROM USER;

    • 현재 HOST, USER 정보 출력
  • 추가 생성 : CREATE USER 'User 입력'@'localhost/%' identified by '비밀번호 입력'

    • 현재 PC에서 접속가능한 local user 추가
    • 외부에서 접속가능한 에서 접속가능한 user 추가
  • 삭제 : DROP USER 'USER명' @ '해당항목'

    • 해당 항목 삭제

3) User 권한 관리

  • 권한 확인

    • show grants for '사용자'@'localhost/%';
  • 권한 추가(모든 권한)

    • grant all on db명.* to '사용자'@'localhost/%'
  • 권한 삭제(모든 권한)

    • revoke all on db명.* from '사용자'@'localhost/%'

Table 사용

1) 생성(CREATE TABLE 테이블명)

mysql> create table mytable
    -> (
    ->     id int,
    ->     name varchar(16)
    -> );

2) 테이블 세부 정보 확인(DESC 테이블명)

3) 테이블 변경(ALTER)

  • 테이블 이름 변경

    • alter table 테이블명 rename new 테이블명
  • column 추가

    • alter table 테이블명 add column new 테이블명 & 테이블 타입
       > alter table person
      -> add column agee double;
    
  • column 내용 변경

    • alter table 테이블명 modify column 테이블명 & new type
    • alter table 테이블명 change column 테이블명 new 테이블 명 & new type

4) column 삭제(DROP COLUMN 컬럼명)

  • alter table 테이블명 drop column column명

[자료 출처]https://zero-base.co.kr/

profile
할 거면 제대로 하자

0개의 댓글