Upload
yoonwhan-lee
View
3.144
Download
1
Embed Size (px)
DESCRIPTION
MySQL 기초 사용에 대해 이야깋
Citation preview
MySQL 을 이용한 데이터베이스 실습
웹데이터베이스 구축 및 실습
한림대학교 웹데이터베이스 - 이윤환
데이터베이스
• 데이터 중복의 최소화• 데이터의 무결성 .• DataBase Management System
• 복수 사용자 관리• 다수의 사용자에 의해 접근되므로 동일한
데이터의 동시 사용 또는 변경을 위해 데이터의 일관성 보장 .
• 허용된 권한을 통해서만 데이터로 접근 가능 .• 복수의 연결 및 자원 관리
한림대학교 웹데이터베이스 - 이윤환
SQL
데이터베이스와 의사소통을 하기 위한 표준 언어 .• 데이터 검색 , 관리 , 데이터베이스 생성 및 수정과 관리
SQL 명령어• 데이터 정의어 (Data Definition Language)
• 데이터베이스의 구조 정의 또는 변경 .• 데이터 조작어 (Data Manupulation Language)
• 데이터의 삽입 , 삭제 , 검색 , 수정 .• 데이터 제어어 (Data Control Language)
• 데이터베이스에 대한 권한 제어 .
한림대학교 웹데이터베이스 - 이윤환
사용자 - MySQL
DBMS 는 하나의 시스템으로 접속을 하기 위해 사용자 인증 필요
• 주어진 권한별로 사용자 역할 구분
root 사용자 • MySQL 의 관리자로 모든 자원 관리• 설치시 기본 등록
사용자 생성 및 관리문• GRANT [ 권한 ] ON [ 자원 ] TO [ 사용자 ] [ 옵션 ]
한림대학교 웹데이터베이스 - 이윤환
사용자 - MySQL
root 사용자 접속
MySQL 클라이언트
접속 종료mysql> \q
한림대학교 웹데이터베이스 - 이윤환
사용자 - MySQL
MySQL 클라이언트 접속> cd c:\autoset6\Server\MySQL5\bin
> mysql -u root -p mysqlautoset
한림대학교 웹데이터베이스 - 이윤환
사용자 - MySQL
사용자 암호 변경• 초기 root 암호는 autoset• 이 초기 암호를 변경해 보자
• 클라이언트 종료 : mysql> \q• 현재 경로에서 다음 입력
mysqladmin -u root -p password test1234
• 암호를 물어보면 기존 암호 autoset 입력
한림대학교 웹데이터베이스 - 이윤환
DB : 작업 공간
DBMS 상에서 작업을 하기 위한 기본공간
DB 생성• root 사용자로 클라이언트를 통해 접속하여 생성• DB 생성문
• Ex• CREATE DATABASE testDB CHARACTER SET utf8;• show databases;
CREATE DATABASE [IF NOT EXISTS] db_name [[DEFAULT] CHARACTER SET [=] charset_name [DEFAULT] COLLATE [=] collation_name]
한림대학교 웹데이터베이스 - 이윤환
mysql> show databases;
한림대학교 웹데이터베이스 - 이윤환
DB : 작업 공간과 사용자 연결
사용자 생성과 DB 연결• DB 를 사용할 MySQL 사용자를 생성과 권한부여를
동시에• GRANT 사용
[ 표 7-10] GRANT 권한
한림대학교 웹데이터베이스 - 이윤환
DB : 작업 공간과 사용자 연결• 접근 자원 설정 : DB 명 .table 명
• 특정 DB 상의 모든 Table : DB 명 .*• 모든 DB 상의 모든 자원 : *.*
• 사용자 설정 : ‘ 사용자명’ @’ 접근호스트’• localhost 상의 특정 사용자 :
‘ 사용자명’ @’localhost’• 옵션 : IDENTIFIED BY ‘ 암호’
Ex• mysql> GRANT ALL ON testDB.* TO ‘tes-
tUser’@’localhost’ IDENTIFIED BY ‘test1234’;• mysql> SELECT * FROM db;
한림대학교 웹데이터베이스 - 이윤환
한림대학교 웹데이터베이스 - 이윤환
TABLE : 실제 자료가 저장되는 곳
TABLE• 실제 데이터가 저장되는 곳으로 MySQL 과 같은
관계형 데이터베이스에서는 저장의 단위는 행이다 .• 저장에 앞서 속성 ( 열 ) 으로 구성된 TABLE 의
형태를 지정해야 한다 .• 속성들은 별도의 자료형을 갖고 있다 .• 각 행을 고유하게 구별할 수 있는 속성을 주키
(Primary Key, PK) 라고 하여 각 테이블은 주키를 가질 수 있다 .
한림대학교 웹데이터베이스 - 이윤환
TABLE : 실제 자료가 저장되는 곳
속성의 자료형• 숫자 자료형
[ 표 7-3] 숫자 데이터형
한림대학교 웹데이터베이스 - 이윤환
TABLE : 실제 자료가 저장되는 곳
속성의 자료형• 문자열 자료형
[ 표 7-4] 문자열 데이터형
한림대학교 웹데이터베이스 - 이윤환
TABLE : 실제 자료가 저장되는 곳
속성의 자료형• 날짜 및 시간 자료형
[ 표 7-5] 날짜 및 시간 데이터형
한림대학교 웹데이터베이스 - 이윤환
TABLE : 실제 자료가 저장되는 곳
테이블 옵션• NULL, NOT NULL
• 속성값이 빈 값을 허용할지의 여부 .
• DEFAULT
• 값을 입력하지 않았을 때 초기값 지정 .
• AUTO_INCREMENT
• 키 등에서 1 씩 자동으로 증가하는 번호를 위한 옵션 .
• PRIMARY KEY 키워드• 테이블의 기본키 설정 .
한림대학교 웹데이터베이스 - 이윤환
TABLE : 실제 자료가 저장되는 곳
Table 생성 예• major(mid, mname)• student(sid, sname, sage, sgender)• subject(sbid, sbname)• sclass(sid, sbid)• 밑줄 쳐진 속성이 주키
TABLE 생성 SQL
CREATE TABLE [IF NOT EXISTS] tbl_name (열 1 속성 [ 열옵션 ], 열 2 속성 [ 열옵션 ], … , 열 n 속성
[ 열옵션 ],[table 옵션 ]
);
한림대학교 웹데이터베이스 - 이윤환
TABLE : 실제 자료가 저장되는 곳
앞서 생성한 사용자와 DB 로 접속하자 .
• > mysql -u testUser -p testdb
major ( 전공 ) 테이블CREATE TABLE major (
mid int unsignedNOT NULL AUTO_INCREMENT PRIMARY KEY,
mname varchar(20)NOT NULL);
한림대학교 웹데이터베이스 - 이윤환
TABLE : 실제 자료가 저장되는 곳
student( 학생 ) 테이블CREATE TABLE student (
sid char(8) NOT NULL PRIMARY KEY,sname varchar(20) NOT NULL,sage tinyint unsigned NOT NULL,sgender enum('M', 'F', 'E') NOT NULL, smajor int unsigned NOT NULL
);
한림대학교 웹데이터베이스 - 이윤환
TABLE : 실제 자료가 저장되는 곳
subject( 과목 ) 테이블CREATE TABLE subject (
sbid int unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
sbname varchar(40) NOT NULL);
한림대학교 웹데이터베이스 - 이윤환
TABLE : 실제 자료가 저장되는 곳
sclass( 수강 ) 테이블CREATE TABLE sclass (
sid char(8) NOT NULL,sbid int unsigned NOT NULL,
PRIMARY KEY (sid, sbid));
한림대학교 웹데이터베이스 - 이윤환
E-R 다이어그램
subject student
major
sclass