본문 바로가기
코딩 어쩌구/Data

[SQL] MySQL 사용해보기

by annmunju 2021. 10. 29.

 MySQL : 경로를 통해 접속 (with macOS)

cd /usr/local/mysql/bin
./mysql -u root -p
Enter password:

* 환경변수 설정 후 경로 접속 : mysql -u root -p 만 입력하면 접속 완료! root라는 유저로 password 입력해서 접속할거야~

 

워크벤치 접속

 


데이터 베이스

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

 - DBMS란 사용자와 데이터베이스 사이에 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어

 - 관계형 데이터베이스란 서로간에 관계가 있는 데이터 테이블을 모아둔 데이터 저장공간

 - SQL이란 데이터베이스에 데이터를 정의, 조작, 제어하기 위해 사용하는 언어

 

SQL 언어 분류

 - 데이터 정의 언어(DDL)

   + CREATE, ALTER, DROP

 - 데이터 조작 언어(DML)

   + INSERT, UPDATE, DELETE, SELECT

 - 데이터 제어 언어(DCL)

   + GRANT, REVOKE, COMMIT, ROLLBACK

 

<사용>

1. Database 관리

 1) root 계정으로 mysql에 접속 : mysql -u root -p

 2) 현재 database 목록 확인 : show databases;

 3) 데이터베이스 이름을 지정해서 생성 : create database testdb;

 4) 해당 데이터베이스로 이동(사용) : use testdb;

 5) testdb 데이터베이스 삭제 : drop database testdb;

 

2. User 관리

 1) 사용자 정보는 mysql 데이터베이스에서 관리함. 그래서 이동 후 조회해야함.

   - select 문을 이용해서 호스트 조회 : select host, user from user;

 2) user 생성 : 현재 PC에서만 조회 가능한 계정 / 외부에서 접속 가능한 계정

  (1) 현재 PC에서만 조회 가능 : create user 'username'@'localhost' identified by 'password';

  (2) 외부에서 접속 가능한 계정 : create user 'username'@'%' identified by 'password';

 3) user 삭제 : drop user 'username'@'localhost(or %)';

 

3. User 권한 관리

 0) 권한관리를 시작하기 앞서 데이터베이스, 유저가 있어야 함. (testdb 생성, noma 유저 생성)

 1) 사용자에게 부여된 모든 권한 목록을 확인 : show grants for 'noma'@'localhost';

 2) testdb의 모든 권한을 부여 : grant all on testdb.* to 'noma'@'localhost';

 +) 새로고침 : flush privileges;

 3) testdb의 모든 권한 삭제 : revoke all on testdb.* from 'noma'@'localhost';

 


Table 

- 실습 데이터 베이스 생성 : create database testdb default character set utf8mb4;

- 데이터 베이스에 접속 후(use testdb) 생성

 

1) 테이블 생성

CREATE TABLE tablename
(
  columnname datatype,
  columnname datatype,
  ...
)

2) 테이블 리스트 조회 : show tables;

3) 테이블 세부 내용 (describe) 조회 : desc mytable;

 

4) 테이블 이름 변경 : alter table mytable rename tablerename;

5) 기존 테이블에 칼럼 추가하기 : alter table mytable add column columnname datatype;

6) 칼럼의 데이터 타입 수정하기 : alter table mytable modify column columnname datatype;

7) 칼럼 이름 수정하기 : alter table mytable change column columnname changename datatype;

8) 칼럼 삭제하기 : alter table mytable drop column columnname;

 

9) 테이블 삭제하기 : drop table tablename;

728x90