mysql 기초

23
MySQL 을 을을을 을을을을을을 을을 을을을을을을을 을을 을 을을

Upload: yoonwhan-lee

Post on 09-Dec-2014

3.144 views

Category:

Education


1 download

DESCRIPTION

MySQL 기초 사용에 대해 이야깋

TRANSCRIPT

Page 1: MySQL 기초

MySQL 을 이용한 데이터베이스 실습

웹데이터베이스 구축 및 실습

Page 2: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

데이터베이스

• 데이터 중복의 최소화• 데이터의 무결성 .• DataBase Management System

• 복수 사용자 관리• 다수의 사용자에 의해 접근되므로 동일한

데이터의 동시 사용 또는 변경을 위해 데이터의 일관성 보장 .

• 허용된 권한을 통해서만 데이터로 접근 가능 .• 복수의 연결 및 자원 관리

Page 3: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

SQL

데이터베이스와 의사소통을 하기 위한 표준 언어 .• 데이터 검색 , 관리 , 데이터베이스 생성 및 수정과 관리

SQL 명령어• 데이터 정의어 (Data Definition Language)

• 데이터베이스의 구조 정의 또는 변경 .• 데이터 조작어 (Data Manupulation Language)

• 데이터의 삽입 , 삭제 , 검색 , 수정 .• 데이터 제어어 (Data Control Language)

• 데이터베이스에 대한 권한 제어 .

Page 4: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

사용자 - MySQL

DBMS 는 하나의 시스템으로 접속을 하기 위해 사용자 인증 필요

• 주어진 권한별로 사용자 역할 구분

root 사용자 • MySQL 의 관리자로 모든 자원 관리• 설치시 기본 등록

사용자 생성 및 관리문• GRANT [ 권한 ] ON [ 자원 ] TO [ 사용자 ] [ 옵션 ]

Page 5: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

사용자 - MySQL

root 사용자 접속

MySQL 클라이언트

접속 종료mysql> \q

Page 6: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

사용자 - MySQL

MySQL 클라이언트 접속> cd c:\autoset6\Server\MySQL5\bin

> mysql -u root -p mysqlautoset

Page 7: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

사용자 - MySQL

사용자 암호 변경• 초기 root 암호는 autoset• 이 초기 암호를 변경해 보자

• 클라이언트 종료 : mysql> \q• 현재 경로에서 다음 입력

mysqladmin -u root -p password test1234

• 암호를 물어보면 기존 암호 autoset 입력

Page 8: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

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]

Page 9: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

mysql> show databases;

Page 10: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

DB : 작업 공간과 사용자 연결

사용자 생성과 DB 연결• DB 를 사용할 MySQL 사용자를 생성과 권한부여를

동시에• GRANT 사용

[ 표 7-10] GRANT 권한

Page 11: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

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;

Page 12: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

Page 13: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

TABLE : 실제 자료가 저장되는 곳

TABLE• 실제 데이터가 저장되는 곳으로 MySQL 과 같은

관계형 데이터베이스에서는 저장의 단위는 행이다 .• 저장에 앞서 속성 ( 열 ) 으로 구성된 TABLE 의

형태를 지정해야 한다 .• 속성들은 별도의 자료형을 갖고 있다 .• 각 행을 고유하게 구별할 수 있는 속성을 주키

(Primary Key, PK) 라고 하여 각 테이블은 주키를 가질 수 있다 .

Page 14: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

TABLE : 실제 자료가 저장되는 곳

속성의 자료형• 숫자 자료형

[ 표 7-3] 숫자 데이터형

Page 15: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

TABLE : 실제 자료가 저장되는 곳

속성의 자료형• 문자열 자료형

[ 표 7-4] 문자열 데이터형

Page 16: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

TABLE : 실제 자료가 저장되는 곳

속성의 자료형• 날짜 및 시간 자료형

[ 표 7-5] 날짜 및 시간 데이터형

Page 17: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

TABLE : 실제 자료가 저장되는 곳

테이블 옵션• NULL, NOT NULL

• 속성값이 빈 값을 허용할지의 여부 .

• DEFAULT

• 값을 입력하지 않았을 때 초기값 지정 .

• AUTO_INCREMENT

• 키 등에서 1 씩 자동으로 증가하는 번호를 위한 옵션 .

• PRIMARY KEY 키워드• 테이블의 기본키 설정 .

Page 18: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

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 옵션 ]

);

Page 19: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

TABLE : 실제 자료가 저장되는 곳

앞서 생성한 사용자와 DB 로 접속하자 .

• > mysql -u testUser -p testdb

major ( 전공 ) 테이블CREATE TABLE major (

mid int unsignedNOT NULL AUTO_INCREMENT PRIMARY KEY,

mname varchar(20)NOT NULL);

Page 20: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

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

);

Page 21: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

TABLE : 실제 자료가 저장되는 곳

subject( 과목 ) 테이블CREATE TABLE subject (

sbid int unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,

sbname varchar(40) NOT NULL);

Page 22: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

TABLE : 실제 자료가 저장되는 곳

sclass( 수강 ) 테이블CREATE TABLE sclass (

sid char(8) NOT NULL,sbid int unsigned NOT NULL,

PRIMARY KEY (sid, sbid));

Page 23: MySQL 기초

한림대학교 웹데이터베이스 - 이윤환

E-R 다이어그램

subject student

major

sclass