데이터 취업 스쿨 스터디 노트 - SQL(1~3)

박재현·2024년 8월 25일

SQL

Database

Database 정의

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

  • 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 등의 명려어

Database 관리

  • Database 생성

    • create database [dbname];
  • Database 확인

    • show databases;
  • Database 접근

    • use [dbname];
  • Database 삭제

    • drop database [dbname];

    • 데이터베이스 삭제 확인

User 관리

  • user 데이터는 mysql에 있으므로 mlsql 데이터베이스에 접근

    • user mysql;
  • host 정보 확인

    • select host, user from user;
  • user 생성

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

    • 'localhost' : 현재 컴퓨터에서만 접근 가능

    • '%' : 외부에서 접근 가능

  • host 확인

  • user 삭제

    • drop user 'username'@'hostinformation';
    • 삭제 확인

User 권한 관리

  • 데이터 베이스 생성

  • user 생성

  • 권한 확인

  • show grants for 'username'@'hostinformation';

  • 권한 생성

    • grant all on dbname.* to 'username'@'hostinfo';

    • '*' : 모든 권한을 의미

  • 권한 삭제

    • revoke all on dbname.* from 'username'@'hostinfo';

Table

Table 생성

  • 데이터베이스 생성

  • 데이터베이스 선택

  • 테이블 생성

create table [tablename]
(
    id int,
    name varchar(16)
);

varchar(16) : python의 str, pandas의 object와 같은 타입

  • 테이블 확인

    • show tables;
  • 테이블 정보

    • desc [tablename];

Table 변경 & 삭제

  • 테이블 이름 변경

    • alter table [table_name] rename [change_name]
  • 컬럼 추가

    •   alter table [table_name] add column [column_name] [type];
  • 컬럼 타입 변경

    •   alter table [table_name] modify column [column_name] [type];
  • 컬럼 이름 및 타입 변경

    •   alter table [table_name] change column [column_name] [change_column_name] [type];
  • 컬럼 제거

    • alter table [table_name] drop column [column_name];

INSERT

data 생성

  • person table 생성

  • data 생성

    • insert into [table_name] (col_name1, col_name2, col_name3...)
      values (value1, value2, value3...)

    • insert into [table_name] values (value1, value2, value3...)

    • select * from [table_name] : 테이블내 데이터 보기

select, where

  • 특정 컬럼만 가져오기

    • select [col_name1, col_name2, col_name3...] from [table_name]
  • 전체 컬럼 다 가져오기

    • select * from [table_name]
  • 조건에 맞는 data 가져오기

    • select 00 from 00 where 조건

update, delete

  • 데이터 수정(update set)

    • update [table_name] set [수정할 내용] where 조건
  • 데이터 삭제(delete from)

    • delete from [table_name] where 조건

이 글은 제로베이스 데이터 취업 스쿨 강의 자료를 발췌하여 작성되었습니다.

0개의 댓글