https://dev.mysql.com/downloads/windows/installer/8.0.html
위 페이지에서 용량이 큰 아래 파일을 다운로드
설치 첫 단계는 Setup Type 설정인데
Developer Default 칸이 없어서
Custom을 선택하고, 필요한 것들을 직접 넣어서 설치했다.
비밀번호는 절대 잊어버리지 않도록!!!
설치 후 My SQL Command Line Client와 Workbench가 자동 실행된다.
My SQL Command Line Client 실행하면
다음과 같이 비밀번호 입력 문구가 뜬다.
비밀번호 입력 후, 간단한 테스트를 해보았다.
show databases;
Workbench에서도 동일하게 사용 가능하고, 코드를 넣고
번개모양을 누르면 실행된다.
Database
여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합체
.xlsx, .json 같은 파일들도 database라고 볼 수 있다.
DBMS(Database Management System)
사용자와 데이터베이스 사이에 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어, 앞서 설치한 mySQL도 DBMS에 해당함
RDB(Relational Database)
관계형 데이터베이스
서로 관계가 있는 데이터 테이블들을 모아둔 데이터 저장공간
SQL(Structured Query Language)
데이터베이스에서 데이트를 정의, 조작, 제어하기 위해 사용하는 언어
터미널에서 사용시, 코드마다 ;를 붙여줘야 바로 실행됨
workbench에서는 ; 생략가능
show databases;
: 현재 데이터베이스 목록을 보여줌
create database 데이터베이스이름;
: 데이터베이스 이름을 지정하여 생성
use database 데이터베이스이름;
: 해당 데이터베이스로 이동(사용)
drop database 데이터베이스이름;
: 데이터베이스 삭제
use mysql;
사용자 정보는 mysql에서 관리하므로 mysql 데이터베이스로 이동 후 조회
select host, user from user;
create user '유저이름'@'localhost' identified by '비밀번호';
create user '유저이름'@'%' identified by '비밀번호';
현재 pc에서 접속 가능한 사용자(localhost), 외부에서 접속 가능한 사용자(%)
호스트 정보가 다른 user는 이름이 동일해도 됨
drop user '유저이름'@'localhost';
drop user '유저이름'@'%';
같은 이름의 사용자여도 localhost, % 는 각각 별도로 삭제해야 함
show grants for 'username'@'localhost';
show grants for 'username'@'%';
grant all on 데이터베이스이름.* to '유저이름'@'localhost';
grant all on 데이터베이스이름.* to '유저이름'@'%';
revoke all on 데이터베이스이름.* from '유저이름'@'localhost';
revoke all on 데이터베이스이름.* from '유저이름'@'%';
flush privileges;
예제) zero에게 mydb 권한을 부여하고, 삭제하기
create database mydb;
show databases; #데이터베이스 생성 확인
use mysql;
create user 'zero'@'localhost' identified by '1234';
select host, user from user; #유저 생성 확인
grants all on mydb.* to 'zero'@'localhost'; #권한부여
show grants for 'zero'@'localhost'; #권한 확인
revoke all on mydb.* from 'zero'@'localhost'; #권한삭제
데이터베이스 안에서 실제 데이터가 저장되는 형태이고, 행(row)과 열(column)으로 구성된 데이터 모음
create database 데이터베이스이름 default character set utf8mb4;
utf8mb4 : 다국어, 이모지문자(이모티콘)까지 지원
create table 테이블이름
(
컬럼명 데이터타입,
컬럼명 데이터타입,
...
);
예제) id(int)와 name(varchar(16)) 컬럼을 가지는 mytable이라는 테이블 생성
create table mytable( id int, name varchar(16));
또는
create table mytable
(
id int,
name varchar(16)
);
show tables;
: 테이블 생성 여부 확인
desc 테이블이름;
: 테이블 상세 정보 확인가능(테이블 명, 데이터타입 등)
alter table 테이블명 rename 변경할 테이블명;
: 테이블명 변경
alter table 테이블명 add column 추가컬럼명;
: 컬럼 추가
alter table 테이블명 modify column 컬럼명 변경할타입;
: 컬럼 데이터타입변환
alter table 테이블명 change column 기존컬럼명 변경할컬럼명 변경할타입;
: 컬럼명, 데이터타입(그대로 유지도 가능) 같이 변경 가능
alter table 테이블명 drop column 컬럼명;
drop table 테이블명;
: 테이블 삭제