Programing/Database

MYSQL 사용법 - 문서

하얀배터리 2020. 3. 29. 20:25
728x90

<MySQL 사용법>

C:\Program Files\MySQL\MySQL Server 5.7\bin\>mysql -u <아이디> -p

비밀번호 : 1234

 

mysql>

-- 사용할 DB확인?

>show databases;

 

-- DB간의 이동? use

>use mysql;

 

-- 접속 DB의 테이블 보기

>show tables;

 

-- 테이블의 구조보기;

>desc 테이블명;

 

-- 테이블에 필요한 필드만 출력?

>select 필드리스트 from 테이블명

>select host,user from user;

 

-- 사용자 추가

>create user 유저아이디;

>create user atom;

 

-- 사용자 삭제

>drop user 유저아이디;

방법1>drop user atom;

방법2>drop user 'atom'@localhost;

 

-- 사용자 계정에 비밀번호 부여하여 만들기

예) atom사용자의 비밀번호를 1234로 부여하고, 외부에서 접속가능하게 만들겠다.

>create user 'atom'@'%'identified by '1234';

 

-- 데이터베이스 생성?

>create database 데이터베이스명;

>create database insa;

 

-- 데이터베이스 삭제?

>drop database 데이터베이스명;

>drop database insa;

 

-- 사용자에게 데이터베이스 사용권한 부여?(grant)

>grant all privileges on insa.* to atom@'localhost' identified by '1234';

>flush privileges;

 

-- 사용자 권한 보기?(atom사용자의 localhost권한보기?)

> show grants for atom@localhost;

 

-- 사용자의 권한 제거?(revoke)

> revoke all on insa.* from atom@'localhost';

 

 

 

 

-------------------------------------------------------------------

 

(문제) 데이터베이스와 사용자 계정만들기

1. 데이터베이스명 : webdb

(답) create database webdb;

2. 계정명 : atom

(답) create user atom;

(3~4). 비밀번호 : 1234 , 접속권한은 외부에서 접속가능 : %

(답)

drop user atom;

create user 'atom'@'%' identified by '1234';

 

5. atom사용자가 webdb데이터베이스안의 모든 기능 사용가능하게 설정

(답)

grant all privileges on webdb.* to atom@'localhost' identified by '1234';

flush privileges;

 

-- 워크밴치(또는 heidiSQL)에서 atom사용자로 접속하여 작업처리한다. --

 

6. webdb데이터베이스안에 member테이블 생성

 member테이블의 필드설계

 - 아이디(m_id),   문자 20, null값 불허

 - 비밀번호(pwd),  문자 20, null값 불허

 - 성명(name),     문자 20, null값 불허

 - 나이(age),      숫자(int), 기본값 20

 - 성별(gender),   고정길이(char(2)), 기본값 : m

 - 생일(birthday), 날짜형식(datetime)

 - 주소(address),  문자 50

 (답)

 

create table webdb.member (

  m_id    varchar(20)  not null,

  pwd      varchar(20)  not null,

  name     varchar(20)  not null,

  age      int    default 20,

  gender   char(2),

  ipsail datetime,

  address  varchar(50)

);

 

8. 기본 자료 10개 등록

(답)

  insert into member valuesmember('hkd1234','1234','홍길동',22,'m','2000-01-01','서울');

  

9. 급여필드(sal : int형식) 추가

(답)

  alter table member add (sal int);

  desc member;

  

10. 보너스필드(bonus : int 형식) 추가

(답)

  alter table member add (bonus int);

  desc member;

  

11. 부서필드추가(buser : varchar(10))

- 임의로 입력 : '총무과/인사과/생산과/영업과'

(답)

  alter table member add (buser varchar(10));

  desc member;

 

12. 직급필드 추가(jikkub : varchar(10))

      - 임의로 입력 : '부장/과장/대리/사원'

(답)

  alter table member add (jikkub varchar(10));

    desc member;

 

13. 급여/보너스 는?

    부장:4000000/300000, 과장:3500000/400000,

대리:3000000/550000, 사원:2500000/550000

(답)

select * from member where jikkub='부장';

update member set sal=4000000, bonus=300000 where jikkub='부장';

select * from member where jikkub='과장';

update member set sal=3500000, bonus=400000 where jikkub='과장';

select * from member where jikkub='대리';

update member set sal=3000000, bonus=550000 where jikkub='대리';

select * from member where jikkub='사원';

update member set sal=2500000, bonus=550000 where jikkub='사원';

select * from member;

 

14. 성별순으로 정렬하되, 같은 성별은 나이 내림차순으로 출력?

(답) select * from member order by gender, age desc;

 

15. 공제액은 급여의 10%로 한다.(출력자료는 이름/급여/공제액)

(답) select name,sal as '급여',sal*0.1 as '공제액' from member;

 

16. 

select interval(5,2,4,6,8);

select interval(4,1,2,3,5,6);

select user();

--------------------------------------------------------------------

 

워크 밴치 이미지

 

 

728x90