[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개의 댓글

관련 채용 정보