[SQL] MySQL 설치, Database, User, Table

박미영·2023년 4월 11일
1

📌MySQL 설치

MySQL 설치








여기까지 계속 Next 눌러주면 된다.

Root Password는 절대 잃어버리면 안됨! -> 찾기 불가능!

이후 next, execute, Finish 버튼만 누르면 된다. (중간에 비밀번호 입력)


설치 완료




📌Database 정의

📍Database

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


📍DBMS

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

📍RDB

  • DBMS 관계형 데이터베이스(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 목록 확인

현재 Database 목록 확인

show databases



- database 생성

testdb 라는 이름의 데이터베이스 생성 및 확인

create database dbname



- 데이터베이스로 이동(사용)

use dbname;



- Database 삭제

drop database dbname





📌User 관리

- User 조회

사용자 정보는 mysql 에서 관리하므로 일단 mysql 데이터베이스로 이동후 조

use mysql
select host, user from user;



- User 생성

User는 두 종류로 나누어진다.
1. 현재 PC에서만 접속 가능한 사용자 - localhost
2. 외부에서 접근 가능한 사용자 - %



- User 생성: localhost

현재 PC 에서만 접속 가능한 사용자를 비밀번호와 함께 생성

CREATE USER '사용자이름'@'localhost' identified by 'password';




- User 생성: %

외부에서 접속 가능한 사용자를 비밀번호와 함께 생성

 CREATE USER '사용자이름'@'%' identified by 'password';



- User 삭제

접근 범위에 따라 같은 이름의 사용자여도 별도로 삭제

# 현재 PC에서 접근 가능한 계정 삭제
DROP USER '사용자이름'@'localhost';

# 외부에서 접근 가능한 계정 삭제
DROP USER '사용자이름'@'%';




- User 권한 확인

사용자에게 부여된 모든 권한 목록을 확인

mysql> SHOW GRANTS FOR '사용자이름'@'localhost';



- User 권한 부여

사용자에게 특정 데이터베이스의 모든 권한을 부여

GRANT ALL ON 데이터베이스명.* to '사용자이름'@'localhost';



- User 권한 제거

사용자에게 특정 데이터베이스의 모든 권한을 삭제

REVOKE ALL ON 데이터베이스명.* from '사용자이름'@'localhost';



💡새로고침

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

 FLUSH PRIVILEGES;





📌Table

데이터베이스 안에서 실제 데이터가 저장되는 형태이고, 행(Row)과 열(Column)로 구성된 데이터 모음

- Table 생성

create table tablename
(
	columnname datatype,
	columnname datatype,
);



- Table 목록 확인

 show tables;



- Table 정보 확인

테이블 정보 확인

DESC tablename;



- 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;

- Name

ALTER TABLE tablename
CHANGE COLUMN old_columnname new_columnname datatype;



- Table Column 삭제

ALTER TABLE tablename
DROP COLUMN columnname;



- Table 삭제

DROP TABLE tablename;






📌User 권한 관리 예제

1. Database 만들기
권한 관리를 실습하기 위한 Database (testdb) 생성

create database testdb;



2. User 만들기
권한 관리를 실습하기 위한 사용자 (id : noma@localhost, password : 1234) 생성

create user 'noma'@'localhost' identified by '1234';



3. User 권한 확인
현재 PC 에 접근가능한 noma 의 권한 확인

mysql> SHOW GRANTS FOR 'noma'@'localhost';



4. User 권한 부여
현재 PC 에 접근가능한 noma 에게 testdb 의 모든 권한을 부여

GRANT ALL ON testdb.* to 'noma'@'localhost';



5. User 권한 제거

REVOKE ALL ON testdb.* from 'noma'@'localhost';





📌Table 예제



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

create database zerobase default character set utf8mb4;



2. 데이터베이스 이동

 use zerobase;



3. Table 생성
id(int)와 name(varchar(16)) 칼럼을 가지는 mytable 이라는 이름의 테이블 생성

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



4. Table 목록 확인

show tables;



5. Table 정보 확인

DESC mytable;



6. Table 이름 변경
mytable 이름을 person 으로 변경

ALTER TABLE mytable
RENAME person;



7. Table Column 추가

ALTER TABLE person
ADD COLUMN agee double;



8. Table Column 변경

  • DataType
ALTER TABLE person
MODIFY COLUMN agee int;



  • Name
ALTER TABLE person
CHANGE COLUMN agee age int;



9. Table Column 삭제

ALTER TABLE person
DROP COLUMN age;



10. Table 삭제

DROP TABLE person;




😆느낀점

적응이 필요했던 EDA를 지나 SQL을 만나니까 반가운 느낌이ㅠㅠ
SQL 강의는 들을만 한데 이번주 EDA 테스트 2개, EDA 과제 1개, 자소서 작성
갑자기 이렇게 테스트와 과제를 엄청 내주시면 전 어떻게 따라가야 하나요,,,,😂????
지난주 과제도 굉장히 쉽지 않았는데🤔 며칠안에 EDA 과제1도 정리해서 올려야지ㅠㅠ


"이 글은 제로베이스 데이터 취업 스쿨 강의를 듣고 작성한 내용으로 제로베이스 데이터 취업 스쿨 강의 자료 일부를 발췌한 내용이 포함되어 있습니다."

0개의 댓글