Search

MySQL

접근

MySQL 터미널에서 실행하기

> mysql -u root -p
Shell
복사

데이터베이스 생성 및 확인

> CREATE DATABASE dbname;
Shell
복사
> show databases;
Shell
복사

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

> use dbname;
Shell
복사

데이터베이스 삭제

> drop database dbname;
Shell
복사

User 관리

사용자 정보는 mysql 이라는 데이터베이스에서 관리하므로 mysql 데이터베이스로 이동후 조회
> use mysql; > select host, user from user;
Shell
복사
사용자는 local PC 에서 접속 가능한 사용자(localhost) 외부에서 접속 가능한 사용자로 나눌 수 있다.

User 생성하기 - localhost

> create user 'username'@'localhost'identified by 'password';
Shell
복사

예제. user name이 ‘noma’ 인 localhost 생성하기

> use mysql; -- mysql db 로 이동 > create user 'noma'@'localhost' identified by '1234'; > select host, user from user;
Shell
복사

User 생성하기 - 외부 사용자(’%’)

> create user 'username'@'%'identified by 'password';
SQL
복사

예제. user name 이 ‘noma’인 외부 사용자 생성하기

> use mysql; -- mysql db 로 이동 > create user 'noma'@'%' identified by '5678'; > select host, user from user;
Shell
복사
유저 이름이 동일해도 host 가 다르다면 문제없다!

User 삭제하기

> drop user 'username'@'localhost'; -- localhost 사용자 삭제 > drop user 'username'@'%'; -- 외부 접속 사용자 삭제
SQL
복사

User 권한 관리

실습하기 위한 데이터베이스 생성

> CREATE DATABASE testdb;
SQL
복사

사용자 생성하기 - localhost

> use mysql; > CREATE USER 'noma'@'localhost' identified by '1234'; > select host, user from user;
Shell
복사

사용자 권한 확인

> show grants for 'username'@'localhost'; -- 사용자이름이 username이고, localhost인 사용자에게 부여된 권한 모두 확인하기
SQL
복사
기본적인 사용 권한만 가지고 있다.

특정 데이터베이스 모든 권한 부여 - grant

grant all on dbname.* to 'username'@'localhost';
SQL
복사
실습용 testdb 데이터베이스에 모든 사용자 권한을 부여해준 것을 확인했다.
 수정내용이 적용이 안될 경우, 새로고침하기
flush privileges;
SQL
복사

특정 데이터베이스 모든 권한 삭제 - revoke

revoke all on dbname.* from 'username'@'localhost';
SQL
복사
아까 추가했던 권한이 잘 삭제된 것을 확인했다.

Table 생성

실습 ) id(int) 와 name(varchar(16)) 칼럼을 가지는 mytable 이라는 이름의 테이블 생성
create table mytable( id int, name varchar(16) );
SQL
복사

테이블 목록 확인하기

show tables;
SQL
복사

특정 테이블의 정보 확인(컬럼 타입 등)

desc tablename;
SQL
복사

Table 변경

Table 이름 변경

alter table tablename rename new_tablename;
SQL
복사

Column 추가

alter table tablename add column columnname datatype;
SQL
복사

Column 수정

1.
data type 변경
alter table tablename modify column columnname datatype;
SQL
복사
2.
컬럼 이름, data type 동시 변경
alter table tablename change column old_columnname new_columnname new_datatype;
SQL
복사
3.
column 삭제
alter table tablename drop column columnname;
SQL
복사

Table 삭제

drop table tablename;
SQL
복사