https://dev.mysql.com/downloads/mysql/
Database
여러 사람이 공유해 사용할 목적으로 체계화해 통합, 관리 하는 데이터의 집합체
DBMA(Database Management System)
사용자와 데이터 베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해주는 소프트웨어
ex) MySQL
관계형 데이터베이스(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 등
MySQL 8.0 Command Line Client 접속
% mysql -u root -p
p에는 다운할때 설정했던 비밀번호를 입력하면 된다.
- 아래와 같이 나오면 접속에 성공한 것
- 모든 databases를 보여줘
show databases;
- 데이터 베이스 생성
create atabase dbname;
- 해당 데이터베이스 사용
use dbname;
- 해당 데이터베이스 삭제
drop database dbname;
사용자 정보는 mysql데이터베이스에서 관리하므로 이동
- mysql DB로 이동
use mysql
- user에서 host,user정보 가져와
select host, user from user;
- 현제 pc에섬만 접속 가능한 사용자를 비번과 함께 생성
create user 'username'@'localhost' indentified by 'pw';
- 외부에서 접속 가능한 사용자를 비밀번호와 함께 생성
create user 'username'@'%' identified by 'pw';
user이름은 중복이 불가 하지만, host가 다르다면 중복이 가능하다.
- 접근 범위에 따라 같은이름의 사용자여도 별도로 삭제
drop user 'username'@'localhost'; drop user 'username'@'%';
- 사용자에게 부여된 모든 권한 목록 조회
show grants for 'username'@'localhost';
- 사용자에게 특정 데이터베이스의 모든 권한 부여
grant all on dbname.* to 'username'@'localhost';
- 사용자에게 특정 데이터베이스의 모든 권한을 삭제
revoke all on dbname.* from 'username'@'localhost';
수정내용이 적용이 되지 않는다면 새로고침
flush privileges;
- table 생성
create table tablename ( columnname datatype, columnname datatype ... );
- table 조회
show tables;
- table 정보 조회
desc tablename;
- talbe명 변경
alter table tablename rename new_tablename;
- table 컬럼추가
alter table tablename add column 컬럼명 데이터타입;
- table의 컬럼의 데이터타입 변경
alter table tablename modify column tablename datatype;
- table의 column명 변경
alter table tablename change column old_columnname, new_columnname new_datatype;
- table의 column 삭제
alter table tablename drop column columnname;
환경
insert into
- 문법
- 모든 컬럼에 값을 추가할 경우 column내용은 생략이 가능하다.
selec from
- 문법
- 테이블의 모든 내용 조회
- 문법
- 디폴트 값은 ASC 이므로 생략가능하다.
update set
- 문법
- 뒤의 조건문(where) 을 주지 않으면 모든 컬럼값이 변경 될 수 있다.
delete from
- 문법