정보보안공부

DBMS_day09 본문

데이터베이스

DBMS_day09

Steady_sp 2017. 7. 23. 18:15

#PuTTY로 MySQL 접속

 

# MySQL 외부 접속 허용하기
1. mysql -u root -p
2. use mysql; ( mysql의 명령은 뒤에 세미콜론이 붙는다. )
-> Database changed : 정상적으로 작동이 되는 것을 알려준다.
3. grant all privileges on *.* to 'root'@'%' identified by 'mysql root password';
4. exit ( mysql 로그아웃 )
5. systemctl restart mysqld

 

# workbench 가동

 

# 서버실 mysql 사무실 workbench

 

# PuTTY로 사무실에서 접속
1. 방화벽 3306허용
2. MySQL 외부 접속 허용하기

 

# DBMS1 스냅샷
-> MySQL 외부 접속 허용

 

# MySQL 데이터 저장할 때 엑셀처럼

 

# 행(가로) -> 로우(MySQL)

 

# 열(세로) -> 컬럼(MySQL)

 

# MySQL에서 행과 열을 다포함한것을 table

 

# table은 여러개 있을 수 있다.

 

# table을 묶을 수 있다.

-> table을 묶어주는 단위 데이터 베이스 , 스키마 라고한다.

 

# 데이터베이스(스키마) 안에 테이블이 만들어지는 형태를 갖고 MySQL 운용되게 된다.

 

# 수많은 스키마, 수많은 table이 존재한다.

 

# table들을 묶는 것은 자유
-> 유사한 table끼리 묶는다.
예) 슈퍼마켓안에 고객 정보(table), 보유물품(table)

 

# 네이버에서 발생하는 데이터
-> 네이버 사이트하나에 스키마 하나사용
-> 일반적으로 사이트하나에 스키마 하나사용, 스키마 여러개 사용도 가능 (때에 따라 다르다.)

 

# 테이블을 만들때 기본키 지정

 

# 중복되면 안되는 경우 private로 기본키 지정

 

# 키본키 : 지정한 컬럼에 값이 중복되지 않게 설정할 때 사용된다.

 

# MySQL은 명령어라고 안 하고 명령어를 쿼리라고 한다.

 

# 쿼리를 SQL이라고 한다.

 

# MySQL에서 작성하는것은 SQL이다.

 

# SQL중에 show databases; 후 Ctrl + Enter
-> 현재 만들어져 있는 스키마의 목록을 보여달라는 SQL이다.
-> MySQL설정 관련된 스키마들이다. (3개, 건들지 않기권장)

 

# workbench에서 접속후 schemas목록(왼쪽)
-> 만들어져 있는 스키마의 목록
-> MySQL설정 관련된 스키마(3개)를 감춰놓는다.

 

# MySQL 운용되는 데 필요한 스키마들 3개가 Workbench에서는 감춰져서 안 보인다.

 

# 나중에 3개의 스키마들을 가지고 뭔가 작업을 처리해야 하는데, 그 때 안 보인다고

당황하지 않기
-> 눈에만 안보이고 만들어져 있다.

 

# workbench에 Query라는 창
-> 실수로 닫을경우 위에 맨왼쪽 +SQL누르기
-> +SQL File1 ( SQL 에디터라고 한다.) : SQL을 쓰는창
-> show databases;

 

# workbench에 SQL Additions 필요없다.
-> 위에 맨오른쪽 표시로 닫기

 

# SQL File 창에
-> show databases;
-> 번개모양 클릭
-> 만들어져있는 데이터 베이스 목록이 보인다.

 

# workbench 스키마부분 흰색부분에 마우스 우클릭
-> create 스키마
-> 이름 : test
-> 오른쪽 아래 Apply
-> test라는 데이터 베이스가 만들어진다.
-> 한번더 Apply
-> 문제가 생기면 apply눌렀을 때 빨간줄이 뜬다.
-> Finish로 완료
-> 스키마 목록에 test가 보인다.
-> 스키마 목록위에 화살표 클릭하면 스키마목록을 크게 키울 수 있다.
-> 스키마로 만든 test창 x
-> 아무 데이터가없는 빈 스키마가 만들어졌다.
-> 비어있는 스키마안에 table을 만든다.
-> 스키마 목록안에 test를 더블클릭
-> test안에 tables 마우스 우클릭 후 create table클릭
-> table 이름 : korea
-> colum 이름 : id
-> Datatype : colume마다 Datatype을 지정해야 한다.

 

# MySQL에서 colume 마다 각각 datatype을 지정해야 한다.

 

# datatype을 데이터 자료형이라고 한다.
-> datatype을 펼치면 자료형이 많다.
 

# 자료형 : 저장하는 데이터의 형태를 뜻 한다.

 

# 컴퓨터가 데이터를 저장하기 위해서는 반드시 저장하는 공간에 무슨 어떤 데이터가 저장되는 지를 결정해야한다.

 

# 무슨 데이터를 저장하느냐에 따라 저장하는 공간에 사이즈와 저장하는 공간에 데이터를 어떻게 표현할 지 표현 방식이 달라진다.

 

# 자료형
- int : 숫자
- char : 문자

 

# colume 이름 : id , datatype : char, pk 체크, nn 체크

# colume 이름 : age , datatype : char
 
# PK ( 기본키 ) : 중복방지
예) 아이디는 중복 안된다. 나이는 중복 된다.

 

# NN ( NOT NULL ) : NULL을 허용하지 않겠다.
-> NULL : 아무 값도 없는 것을 뜻 한다.
-> 값을 비워놓을 수 없다. ( 반드시 값을 입력해야 한다. )

 

# NN : 데이터값이 꼭 있어야하는 경우

 

# PK 설정을 할 필드는 반드시 NN 설정을 해야 한다.

 

# Apply Apply Finish

 

# korea table창 닫기

 

# 스키마 목록안에 test안에 korea 확인

 

# SQL 에디터에서 show databases; 후 Ctrl + Enter

 

# use test; 후 Ctrl + Enter
-> test라는 데이터 베이스를 선택하겠다.

 

# MySQL에서는 데이터베이스를 작업 할 때 데이터베이스 선택하고 작업한다.

 

# SQL 마다 출력 결과가 있는 것도 있고 없는 것도 있다.
-> show databases; 는 출력 결과가 있다.
-> use test; 는 출력 결과가 없다.

 

# 밑에 Output창으로 SQL 실행 결과 확인
-> 왼쪽에 초록불이면 성공
-> use aaa; ( 없는 aaa로 ) 후 Ctrl + Enter
-> aaa 실행 결과는 왼쪽에 빨간불 실패

 

# 다시 use test; 후 show tables;
-> 만들어져있는 거 확인

 

# show tables; 는 use로 선택되어 있는 데이터베이스에 만들어져 있는 테이블에 목록을 보여달라는 쿼리이다.
-> 선택 된것을 본다.

 

# use mysql;

 

# 스키마목록안에 test를 마우스 두번클릭한것은 use로 입력한 것과 같다.
-> test의 이름이 굵어진다.

 

# workbench에서 스키마에 이름을 더블클릭하면 해당 스키마를 use 쿼리로 선택한

것 처럼 선택을 할 수 있다.

 

# 또한 workbench에서 스키마 목록에 이름이 굵은 것을 보고 어떤 스키마가 선택 돼 있는 지 눈으로 식별 가능하다.

 

# 스키마목록에 korea우클릭 select row 클릭
-> 적혀있는거 지운다.
-> id라는 열 age라는 열이 만들어져 있는거 확인
-> 나중에 id와 age에 데이터 집어넣기
-> use test; 후
-> select * from korea;
-> korea우클릭 select row클릭한것과 같다.

 

# 내일은 use로 데이터베이스 선택하지 않고 작업하는 방법과 테이블에 데이터를 삽입하는 방법을 진행

 

-> 스키마 만들기 : test

 

-> 테이블 만들기 : test

-> 콜롬(열) : id (PK : 중복금지, NN : 비워있는칸 없다 )

-> 콜롬(열) : age

 

'데이터베이스' 카테고리의 다른 글

DBMS_day11  (0) 2017.07.25
DBMS_day10  (0) 2017.07.24
DBMS_day08  (0) 2017.07.20
DBMS_day07  (0) 2017.07.19
DBMS_day06  (0) 2017.07.18
Comments