Jin's Dev Story

MySQL 본문

Database/MYSQL

MySQL

woojin._. 2022. 9. 15. 02:11

계정 접속

mysql -u 계정명 -p
Enter password: 패스워드 입력

계정 확인 / 현재 계정 확인

select user, host from mysql.user;       // 모든 계정 및 외부접근 허용정보 확인
select current_user;                             // 현재 접속 중인 계정 확인

USER 추가

create user 계정명;                                                                             // 비밀번호 없이
create user '계정명'@localhost identified by '패스워드';                     // 비밀번호 있는 계정 생성
create user '계정명'@'[하단 표 참조]' identified by '패스워드';           // 외부에서 접근 가능 계정 생성

 

  표기 설명
% % 어디서든
IP XXX.XXX.XXX.XXX 해당 IP에서만
IP.% XXX.XXX.% 특정 대역 IP만

USER 삭제

drop uesr 계정명;
drop uesr 계정명@host;

USER 권한 부여

# 모든 데이터베이스의 모든 테이블에 모든 권한을 줌
grant all privileges on *.* to '사용자'@'localhost';

# 특정 데이터베이스의 모든 테이블에 모든 권한을 줌
grant all privileges on DB이름.* to '사용자'@'localhost';

# 특정 데이터베이스의 특정 테이블에 모든 권한을 줌
grant all privileges on DB이름.테이블명 to '사용자'@'localhost';

# 특정 데이터베이스의 특정 테이블에 select 권한을 줌
grant select on DB이름.테이블명 to '사용자'@'localhost';

# 특정 데이터베이스의 특정 테이블에 select, insert 권한을 줌
grant select, insert on DB이름.테이블명 to '사용자'@'localhost';

# 특정 데이터베이스의 특정 테이블의 컬럼 1과 컬럼 2의 update 권한을 줌
grant update(컬럼 1, 컬럼 2) on DB이름.테이블명 to '사용자'@'localhost';

USER 생성과 권한 부여

grant all privileges on *.* to '사용자'@'localhost' identified by '비밀번호';

권한 반영

FLUSH PRIVILEGES;

USER 권한 삭제

revoke all on DB이름.테이블이름 from 계정;
revoke all on DB이름.테이블이름 from 계정@host;

USER 권한 확인

show grants for 계정명;
show grants for 계정명@host;

데이터베이스 보기

show databases;

데이터베이스 생성

create database DB명;

데이터베이스 사용

use DB명;

데이터베이스 테이블 출력

show tables;

테이블 구조 출력

desc 테이블명;

테이블 생성

  • not null -> null 값 입력 불가
create table 테이블명(
       속성명 데이터타입(크기) [not null],
       속성명 데이터타입(크기),
       primary key(속성명),
       foreign key(참조하는 속성명) referenes 테이블명(참조되는 속성명
       );

테이블 삭제

drop table 테이블명;

한글 설정

# 데이터베이스 한글 인코딩
alter database 데이터베이스명 default character set utf8 collate utf8_general_ci;

# 테이블 한글 인코딩
alter table 테이블명 default character set utf8 collate utf8_general_ci;

-> quit 하고 mysql 종료 후
윈도우 검색창 -> 서비스 -> mysql 재시작
이 과정을 해야만 한글 인코딩 적용 됨

뷰 생성

create view 뷰이름 as select 속성명1, 속성명2, ... from 테이블명 where 조건;

뷰 삭제

drop view 뷰이름;

insert문

insert into 테이블명 values(속성1, '속성2', 속성3);                           // 모든 속성의 값을 한 번에 넣을 때 
insert into 테이블명(속성1, 속성2) values('속성1값', 속성2값);        // 일부 속성의 값만 넣을 때
insert into 테이블명 values(속성1, 속성2,) , (속성1, 속성2);             // 여러 튜플을 한 번에 입력할 때 

update문

update 테이블명 set 속성명 = 바꿀값 where 조건

'Database > MYSQL' 카테고리의 다른 글

[MySQL] MySQL이란?  (0) 2023.08.22
[MySQL] Workbench를 이용해 DB의 ERD 추출하기  (0) 2023.08.10
[ERROR] MySQL ERROR 1045(28000)  (0) 2022.09.15
MySQL 한글 인코딩  (0) 2022.09.15
MySQL 환경변수  (0) 2022.09.15