SQL 기초_1

YJ·2023년 4월 10일
0

▷ 오늘 학습 계획: SQL 강의(기초1~2)

📖 01_MySQL 설치

MySQL 접속

MySQL Command Line Client → root password 입력
MySQL Workbench → Local instance → root password 입력

📖 02_Database

1) 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 등의 명령어

2) Database 관리

  • MySQL 접속: root 계정으로 mysql에 접속

% mysql -u root -p
Enter password: 
  • Database 확인: 현재 database 목록 확인

show databases;
  • Database 생성: database 이름을 지정하여 생성

create database dbname;
  • Database 사용: 해당 데이터베이스로 이동(사용)

use dbname;
  • Database 삭제

drop database dbname;

3) User 관리

사용자 정보는 mysql에서 관리한다.
일단 mysql 데이터베이스로 이동 후 조회하기

  • User 조회

use mysql;
select host, user from user;
  • User 생성(localhost)

    현재 PC에서만 접속 가능한 사용자를 비밀번호와 함께 생성
create user 'username'@'localhost' identified by 'password';
  • User 생성(%)

    외부에서 접속 가능한 사용자를 비밀번호와 함께 생성
create user 'username'@'%' identified by 'password';
  • User 삭제

    접근 범위에 따라 같은 이름의 사용자여도 별도로 삭제
drop user 'username'@'localhost';
drop user 'username'@'%';

4) User 권한 관리

Database 생성 → User 생성 → User 권한

  • User 권한 확인

    사용자에게 부여된 모든 권한 목록 확인
show grants for 'username'@'localhost';
  • User 권한 부여

    사용자에게 특정 데이터베이스의 모든 권한 부여
grant all on dbname.* to 'username'@'localhost';
  • User 권한 제거

    사용자에게 특정 데이터베이스의 모든 권한 삭제
revoke all on dbname.* from 'username'@'localhost';

수정 내용이 적용되지 않은 경우 새로고침

flush privileges;

📖 03_Table

1) Database 생성

create database zerobase default character set utf8mb4;

2) Table 생성

create table tablename
(
	columnname datatype,
    columnname datatype
);
  • Table 목록 확인

show tables;
  • Table 정보 확인

desc tablename;

3) Table 변경

  • Table 이름 변경

alter table tablename rename new_tablename;
  • Table Column 추가

alter table tablename add column columnname datatype;
  • Table Column 변경(DataType)

alter table tablename modify column columnname datatype;
  • Table Column 변경(Name)

    컬럼 이름과 데이터 타입 한 번에 변경 가능
alter table tablename change column old_columnname new_columnname new_datatype;
  • Table Column 삭제

alter table tablename drop column columnname;
  • Table 삭제

drop table tablename;

📝 MySQL 설치가 처음부터 잘 안됐다. 혼자 해결하고 싶어서 구글에 검색하고 이것저것 시도해도 뭐가 문제인지 알 수 없었다. 슬랙 채널에 문의를 남기고 몇번이나 삭제하고 재설치 했다.😥 Visual C++ 재배포 패키지를 설치하고, Windows 방화벽에서 MySQL 포트(3306)를 열었더니 제대로 설치가 됐다.

▷ 내일 학습 계획: SQL 강의(기초3~4)

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

0개의 댓글