공부하는 스누피

[MySQL] 자주 쓰이는 명령어 정리 본문

CS/데이터베이스

[MySQL] 자주 쓰이는 명령어 정리

커피맛스누피 2020. 12. 16. 22:53

DB 접속

mysql -u {username} -p{password} {db_name}

 

스키마 생성

create database {db_name} default character set utf8;

 

사용자 추가 / 권한부여

- 사용자 추가

create user '{username}'@'{address}' identified by '{password}';

- 사용자 추가 & 권한부여

grant all privileges on {db_name}.* to {username}@{address} identified by '{password}';

-- 모든 권한 부여: grant all privileges
-- 일부 작업에 대한 권한 부여: grant insert, update ...
-- 특정 테이블에 대해 권한 부여 {db_name}.{table name}

- 권한부여

grant all privileges on {db name}.* to '{username}'@'{address}';

 

테이블 생성

create table {table name} (
{column name} {data type} {option}
);

-- option으로는 primary key, not null, unique 등이 자주 쓰인다.
-- foreign key는 선언부에서 previlege를 설정할 수도 있고, 따로 설정할 수 있다.

 

테이블 변경

- 참조 무결성 제약조건 설정

alter table {db name}.{table name} add constraint {constraint name} 
foreign key ({column name}) references {table name}({column name})
on delete cascade;
-- 참조 무결성 제약조건을 설정하는 명령어.
-- on delete cascade 옵션으로 삭제될 데이터를 참조하는 데이터를 자동으로 삭제한다.

 

삽입

insert into {table name} (column name ... ) values (corresponded values ... );
-- 테이블명 뒤에 컬럼은 생략해도 되지만 그럴 경우 모든 컬럼에 대응하는 값을 다 넣어주어야 한다.
-- 이 경우, 테이블이 생성될 때 각 컬럼이 선언된 순서대로 값을 넣는다.

 

삭제

delete from {table name} where ... ;
-- where 뒤의 조건에 해당하는 row를 모두 지운다.

 

갱신

update {table name}
set {column name}={corresponded value}, ...
where ...;

 

 

Comments