1.계정 생성 및 삭제, 패스워드 변경
#생성
create user '사용자ID'@'IP/localhost/%' identified by '비밀번호';
#삭제
drop user '사용자ID'@'IP/localhost/%';
#root 계정 패스워드 변경
alter user 'root'@'localhost' identified by '비밀번호';
flush privileges;
2.스키마(DB) 생성 및 확인
#DB 생성
create database DB이름;
#DB 삭제
drop database DB이름;
#현재 DBMS에 있는 모든 DB 확인
show databases;
#사용한 DB 선택
use db이름;
#현재 DB에 있는 테이블 확인
show tables;
#테이블 구조(스키마) 확인(DESCRIBE명령어)
desc table이름;
3.DB 권한 부여
#권한 부여
GRANT ALL PRIVILEGES ON 'DB명'.'테이블' TO '사용자ID'@'localhost' IDENTIFIED BY '비밀번호';
flush privileges;
#SELECT, INSERT, UPDATE, DELETE, ... : 권한을 일부분을 추가
#사용자에게 부여된 권한 확인
SHOW GRANTS FOR test_user@localhost;
#권한 삭제
REVOKE ALL ON 'DB명'.'테이블명' FROM '사용자ID'@'IP';
4.테이블 추가 예시
CREATE TABLE 테이블명( -> 테이블 생성 명령어
칼럼명 INT(11) NOT NULL AUTO_INCREMENT, -> 칼럼 생성
CONSTRAINT testTable_PK PRIMARY KEY(id) ->제약조건이라는 의미입니다. 테이블명의 PRIMARY KEY를 id 컬럼으로 지정하겠다는 의미, 이 제약조건의 이름을 testTable_PK로 지정한 것
);
#예시
CREATE TABLE testTable(
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
ouccupation VARCHAR(20) NULL,
height SMALLINT,
profile TEXT NULL,
date DATETIME,
CONSTRAINT testTable_PK PRIMARY KEY(id)
);
(1) 테이블을 생성하는 명령어입니다.
(2) id라는 컬럼을 추가하는 데, INT 타입으로 지정합니다. NOT NULL은 값을 비워둘 수 없음을 의미합니다. AUTO_INCREMENT는 자동으로 값이 1씩 증가하도록 설정하는 옵션입니다.
(3) name이라는 컬럼을 추가하는데, 가변길이로 20글자까지 허용합니다. (20글자가 넘어가면 20글자에서 자릅니다.)
(4) 위와 동일하지만, 값을 비워두는 것을 허용합니다.
(5) SMALLINT는 INT보다 가질 수 있는 값의 범위가 작습니다. 메모리 측면에서 이득입니다.
(6) TEXT는 아주 긴 문자열을 취급할 때 사용합니다.
(7) DATETIME은 날짜와 시간에 관한 타입입니다.
(8) CONSTRAINT는 제약조건이라는 의미입니다. testTable의 PRIMARY KEY를 id 컬럼으로 지정하겠다는 의미이며, 이 제약조건의 이름을 testTable_PK로 지정한 것입니다.
5. 테이블 칼럼 추가, 제거
#칼럼 추가
alter table 테이블명
add 추가할 칼럼명 데이터유형;
#칼럼 삭제
alter table 테이블명
drio column 삭제할칼럼명;
#칼럼명 변경
alter table 테이블명
change 구칼럼명 신칼럼명 데이터타입;
#칼럼 제약 조건 추가
alter table 테이블명
add constraint 제약조건명 제약조건 (칼럼명);
6. 캐릭터셋 변경
#현재 캐릭터셋 확인
show variables like 'c%';
#캐릭터 셋 변경
# 버젼에 따라 /etc/my.cnf 들어가서 [mysqld] 밑에 하위 문구 추가 후 재시작
character_set_server = utf8
[참고문헌1]https://gommin.tistory.com/17
[참고문헌2]https://sangjjang.tistory.com/353
7. DB종료
mysqladmin -u root -p shutdown