Microsoft PowerPoint MySQL 연동.ppt

Similar documents
Discrete Mathematics

Microsoft PowerPoint 세션.ppt

DBMS & SQL Server Installation Database Laboratory

PowerPoint 프레젠테이션

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

쉽게 풀어쓴 C 프로그래밊

Microsoft PowerPoint - 10Àå.ppt

PowerPoint 프레젠테이션

Microsoft PowerPoint Python-DB

MySQL-.. 1

Microsoft Word - php14.doc

금오공대 컴퓨터공학전공 강의자료

슬라이드 1

PHP & ASP

10.ppt

Microsoft PowerPoint - 27.pptx

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

5장 SQL 언어 Part II

Microsoft PowerPoint 웹 연동 기술.pptx

PowerPoint 프레젠테이션

MySQL-Ch05

PowerPoint Template

untitled

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

윈도우시스템프로그래밍

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

PowerPoint Presentation

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

문서 템플릿

untitled

소만사 소개

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

제목 레이아웃

슬라이드 제목 없음

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

FileMaker 15 ODBC 및 JDBC 설명서

Microsoft PowerPoint - GUI _DB연동.ppt [호환 모드]

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

Microsoft PowerPoint Python-WebDB

13주-14주proc.PDF

Observational Determinism for Concurrent Program Security

TITLE

chap 5: Trees

PHP & ASP

빅데이터분산컴퓨팅-5-수정

윈도우시스템프로그래밍

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

PowerPoint 프레젠테이션

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

Microsoft PowerPoint - 사본 - OAS09-사무자동화 기술(DB).ppt

제목을 입력하세요.

중간고사

NoSQL

SQL

C 언어 프로그래밊 과제 풀이

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

歯sql_tuning2

thesis

MySQL-Ch10

윈도우즈프로그래밍(1)

FileMaker ODBC 및 JDBC 가이드

강의 개요

VENUS Express 사용자 매뉴얼

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

PowerPoint Presentation

슬라이드 제목 없음

강의 개요

초보자를 위한 분산 캐시 활용 전략

Spring Boot/JDBC JdbcTemplate/CRUD 예제

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8>

PowerPoint Presentation

adfasdfasfdasfasfadf

dbms_snu.PDF

PowerPoint Template

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

Lec. 2: MySQL and RMySQL

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

Chapter 4. LISTS

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL


WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

초보자를 위한 ADO 21일 완성

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

DocsPin_Korean.pages

Tcl의 문법

Microsoft PowerPoint - web-part01-ch10-문서객체모델.pptx

Discrete Mathematics

PowerPoint Presentation

Cookie Spoofing.hwp

Relational Model

금오공대 컴퓨터공학전공 강의자료

Spring Data JPA Many To Many 양방향 관계 예제

Microsoft PowerPoint - 사본 - DB06-SQL,시스템카탈로그,뷰.ppt

Transcription:

고급웹프로그래밍 () Lectures 21 & 22: 2005 년중등 1급정교사연수 문양세컴퓨터과학과강원대학교자연과학대학 데이터베이스? (1/4) 데이터베이스 (database), DBMS 처리 / 관리하고자하는정보혹은데이터를모아놓은저장소 저장된정보에의미를부여하고, 다양한연산 ( 검색, 갱신등 ) 을제공하는소프트웨어시스템 사용자에의해지시되는일련의연산 (transaction) 을효과적이고정확하게처리하는소프트웨어시스템 상용 DBMS (Commercial DBMS) Disk-based DBMS: Oracle, Informix, Sybase, UniSQL, MySQL, Main Memory DBMS: Ten-Times, Altibase, UniSQL, Page 2 1

데이터베이스? (2/4) 용어이해 속성 (attribute), 필드 (field) 이름을가진논리적데이터의최소단위 ( 예 : 나이필드, 이름속성 ) 특정객체 (object, entity) 의한성질의값 테이블 (table) 의 attribute 로이해할수있음 레코드 (record), 튜플 (tuple) 논리적으로서로연관된하나이상의데이터필드 ( 항목 ) 들의집합 엔티티타입 ( 예 : 학생 = { 이름필드, 학번필드, 성별필드, }) Page 3 데이터베이스? (3/4) 용어이해 ( 계속 ) 테이블 (table) 레코드 ( 정확히는레코드인스턴스 ) 의집합 (set of records) 관계형 DBMS 에서는대부분의연관성있는데이터를테이블로관리함 테이블의예 : 학생테이블, 성적테이블, 급여관리테이블등 인덱스 (index), 색인 검색하고자하는레코드를빠르게찾아내기위하여별도의 ( 메모리, 디스크 ) 구조를관리 일반적으로, Unique 한하나의속성에대해서인덱스를구성함 트리혹은해싱등의인덱스기술 (technique) 을사용함 인덱스의예 : 학생테이블에대해 학번 속성으로색인을구성 Page 4 2

데이터베이스? (4/4) 테이블구성의예 Attribute (Column) 학번 이름 나이 본적 성 Schema 1243 홍길동 10 강원 남 Index 1257 1332 1334 김철수박영희이기수 20 19 21 경기충청전라 남여남 Tuple (Record) 1367 정미영 20 서울 여 1440 최미숙 21 강원 여 Page 5 데이터접근 (Data Access) (1/6) SQL Structured Query Language (, SEQUEL) 데이터베이스에서정보를얻거나갱신하기위한표준화된언어 DML (Data Manipulation Language) SELECT: 검색조건에맞는데이터 ( 레코드 ) 를선택 ( 조회 ) INSERT: 새로운데이터 ( 레코드 ) 를삽입 UPDATE: 기존의데이터 ( 레코드, 속성 ) 를수정 DELETE: 기존의데이터 ( 레코드 ) 를삭제 How about DDL(Data Definition Language)? 데이터형태및데이터베이스자체를정의하는언어 예 : 테이블생성및삭제 (create/drop table), 인덱스생성, DB 생성 Page 6 3

데이터접근 (Data Access) (2/6) 테이블예제 : fruit 테이블 name price color country 사과 10 빨간색 한국 배 20 노란색 한국 복숭아 30 분홍색 한국 수박 40 초록색 한국 감 50 주황색 한국 토마토 60 빨간색 미국 바나나 70 노란색 인도네시아 키위 80 초록색 호주 파인애플 90 초록색 인도네시아 대추 100 초록색 한국 Page 7 데이터접근 (Data Access) (3/6) SELECT 특정테이블에서원하는데이터 ( 레코드, 속성 ) 를검색할때사용 SELECT name, price FROM fruit WHERE color = 빨간색 ; 상기예는 fruit 테이블을사용하여색깔 (color) 이빨간색인과일의이름 (name) 과가격 (price) 를가져오는문장임 SQL에서특정데이터가문자열로되어있으면작은따옴표 ( ) 로묶어주어야하며숫자는작은따옴표로묶지않고그냥사용 상기 SQL 문장의실행결과는다음과같음 name 사과 토마토 price 10 60 Page 8 4

데이터접근 (Data Access) (4/6) INSERT 특정테이블에새로운데이터 ( 레코드 ) 를삽입할때사용 INSERT INTO fruit VALUES ( 멜론, 110, 초록색, 한국 ); 상기예는 fruit 테이블에서 이름은멜론이고가격은 110 원, 색깔은초록색이며원산지는한국 인새로운레코드를삽입 상기 SQL 문장의실행결과는다음과같은레코드가 fruit 테이블에추가됨 name price color country 멜론 110 초록색 한국 Page 9 데이터접근 (Data Access) (5/6) UPDATE 특정테이블에서기존데이터 ( 레코드 ) 의내용을수정할때사용 UPDATE fruit SET price=120, country= 미국 WHERE name= 멜론 ; 상기예는 fruit 테이블에서 이름 (name) 이멜론인레코드의가격 (price) 을 120 원으로, 원산지 (country) 를미국으로수정 하는경우임 상기 SQL 문장의실행결과, 기존레코드는다음과같이내용이변경됨 name price color country 멜론 120 초록색 미국 Page 10 5

데이터접근 (Data Access) (6/6) DELETE 특정테이블에서기존데이터 ( 레코드 ) 를지울때사용 DELETE FROM fruit WHERE name= 멜론 ; 상기예는 fruit 테이블에서 이름 (name) 이멜론인레코드를삭제 하는경우임 상기 SQL 문장의실행결과, 이름이멜론인레코드가 fruit 테이블에서삭제됨 Page 11 MySQL 사용법 (1/6) MySQL 사용순서 mysql_connect() 데이터베이스접속 mysql_select_db() 사용자데이터베이스선택 mysql_query() SQL 명령실행 mysql_fetch_row() 실행결과를한튜플 ( 행 ) 씩가져옴 mysql_close() 데이터베이스접속해제 Page 12 6

MySQL 사용법 (2/6) mysql_connect resource mysql_connect ( [string hostname [:port] [:/path/to/socket] [, string username [, string password]]]) MySQL이설치된 hostname에접근하여 username과 password를통해mysql에로그인을수행함 성공하면 MySQL link identifier를리턴함 ( 다음단계에서활용함 ) mysql_close() 를호출하지않아도스크립트의실행이끝나면자동으로 close됨 Page 13 MySQL 사용법 (3/6) mysql_select_db bool mysql_select_db ( string database_name [, resource link_identifier]) link_identifier 서버에서 database_name의데이터베이스를연결함 연결에성공하면 TRUE, 실패하면 FALSE를리턴함 만일 link_identifier가없으면자동으로이전에열렸던 link_identifier를이용하여데이터베이스를연결함 Page 14 7

MySQL 사용법 (4/6) mysql_query resource mysql_query ( string query [, resource link_identifier]) 지정된 link_identifier를사용하여현재활성화된데이터베이스에서주어진질의문 (query) 를실행함 성공하면 TRUE, 실패하면 FALSE를리턴함 query에들어가는문자열의마지막에는세미콜론 (;) 을사용하지않음 Page 15 MySQL 사용법 (5/6) mysql_fetch_row array mysql_fetch_row (resource result) 질의문 ( 주로 Select 문 ) 의수행결과에따라, 각각의레코드 (tuple, row) 를차례로읽어들이는함수임 result로부터결과값을배열로리턴 이함수를계속호출하게되면 result로부터다음 row( 레코드 ) 를차례로읽어옴 더이상읽어올row가없으면FALSE를리턴 Page 16 8

MySQL 사용법 (6/6) mysql_close bool mysql_close ([resource link_identifier]) link_identifier로연결된mysql을닫음 ( Resource를반환함 ) 성공하면 TRUE, 실패하면 FALSE를리턴함 만일 link_identifier가연결되어있지않으면마지막으로연결된 link_identifier를닫음 Page 17 phpmyadmin 실행및로그인 (1/2) phpmyadmin DB 및 SQL명령을자세히알지않고서도 MySQL에대한사용을용이하게해주는유틸리티 APM을정상적으로설치한경우, 자동적으로함께설치됨 실행하기 Page 18 9

phpmyadmin 실행및로그인 (2/2) 로그인하기 root/apmsetup Page 19 phpmyadmin 새로운 DB 만들기 (1/4) 새로운 DB 의이름을입력하고만들기를클릭 Page 20 10

phpmyadmin 새로운 DB 만들기 (2/4) 새로운 DB 의생성결과 대응되는 SQL Statement Page 21 phpmyadmin 새로운 DB 만들기 (3/4) 생성된 DB 확인하기 Page 22 11

phpmyadmin 새로운 DB 만들기 (4/4) 생성된 DB 확인하기 ( 결과화면 ) Page 23 phpmyadmin 새로운 Table 만들기 (1/5) Table 을만들고자하는 DB 를선택 ( 예의경우 goods) Page 24 12

phpmyadmin 새로운 Table 만들기 (2/5) 만들고자하는 Table 의이름과속성 ( 필드 ) 개수를입력 Page 25 phpmyadmin 새로운 Table 만들기 (3/5) Table 을구성하는속성의정보 ( 타입, 크기, 색인정보등 ) 를입력 Page 26 13

phpmyadmin 새로운 Table 만들기 (4/5) Table 생성에대한수행결과 대응되는 SQL Statement Page 27 phpmyadmin 새로운 Table 만들기 (5/5) 생성된 Table 에대한정보조회결과 Page 28 14

phpmyadmin 레코드삽입하기 (1/4) 원하는 Table 을메뉴에서삽입을클릭 Page 29 phpmyadmin 레코드삽입하기 (2/4) 해당레코드의 ( 속성 ) 값을입력하고실행 Page 30 15

phpmyadmin 레코드삽입하기 (3/4) 레코드생성의수행에따른결과화면 대응되는 SQL Statement Page 31 phpmyadmin 레코드삽입하기 (4/4) 레코드생성반복 Page 32 16

phpmyadmin 레코드검색하기 (1/6) 원하는 Table 을메뉴에서검색을클릭 Page 33 phpmyadmin 레코드검색하기 (2/6) 검색조건을입력 ( 아래예는테이블전체검색 ) Page 34 17

phpmyadmin 레코드검색하기 (3/6) 테이블전체검색의결과화면 대응되는 SQL Statement Page 35 phpmyadmin 레코드검색하기 (4/6) 검색조건을입력 ( 아래예는가격속성에조건입력 ) Page 36 18

phpmyadmin 레코드검색하기 (5/6) 가격속성에조건을준경우의결과화면 대응되는 SQL Statement Page 37 phpmyadmin 레코드검색하기 (6/6) SQL 문장을직접입력하는예제 Page 38 19

SQL 을포함한 PHP 프로그램예제 (1/3) 가격이 50 원이상인레코드들의출력프로그램 (fruit_mysql.php) <html> <body> <?PHP $conn = mysql_connect ( localhost, root, apmsetup ); $db_status = mysql_select_db ( goods ); if (!$db_status) { error ( DB_ERROR ); exit; } $query = select * from fruit where price >= 50 ; $result = mysql_query ($query); Page 39 SQL 을포함한 PHP 프로그램예제 (2/3) 가격이 50 원이상인레코드들의출력프로그램 ( 계속 ) print <table border=1><tr>. <th> 이름 </th>. <th> 가격 </th>. <th> 색깔 </th>. <th> 원산지 </th></tr> ; while ($row = mysql_fetch_row ($result)) { print <tr><td>. $row[0]. </td>. <td>. $row[1]. </td>. <td>. $row[2]. </td>. <td>. $row[3]. </td></tr> ; } print </table> ;?> </body> </html> Page 40 20

SQL 을포함한 PHP 프로그램예제 (3/3) 가격이 50 원이상인레코드들의출력프로그램실행화면 Page 41 MySQL 을이용한웹프로그래밍 (1/7) 테이블 (fruit) 에새로운레코드를삽입하는웹화면의구성 fruit1.php <html> <body> <form name=fruit method=post action=./fruit2.php > 새로운데이터를입력해주세요 <br> 이름 : <input type=text name=name><br> 가격 : <input type=text name=price><br> 색깔 : <input type=text name=color><br> 원산지 : <input type=text name=country><br> <input type=submit value= 입력 > <input type=reset value= 취소 > </form> </body> </html> Page 42 21

MySQL 을이용한웹프로그래밍 (2/7) fruit1.php 의실행결과 Page 43 MySQL 을이용한웹프로그래밍 (3/7) 삽입프로그램 : fruit2.php <html> <body> <?PHP $conn = mysql_connect ( localhost, root, apmsetup ); $db_status = mysql_select_db ( goods ); if (!$db_status) { error ( DB_ERROR ); exit; } $query = INSERT INTO fruit VALUES. ( $name, $price, $color, $country ) ; $result = mysql_query ($query); if ($result) print 입력되었습니다.<br> ; else print 입력되지않았습니다.<br> ;?> </body> </html> Page 44 22

MySQL 을이용한웹프로그래밍 (4/7) 삽입프로그램 (fruit2.php) 의실행결과 Page 45 MySQL 을이용한웹프로그래밍 (5/7) 검색을통한삽입결과확인 (fruit_mysql.php) Page 46 23

MySQL 을이용한웹프로그래밍 (6/7) fruit_mysql.php 의개선 (Sorting)...... $query = select * from fruit where price >= 50 order by price ; $result = mysql_query ($query);...... Page 47 MySQL 을이용한웹프로그래밍 (7/7) fruit_mysql.php 의개선 (Sorting) 결과화면 Page 48 24

Homework #4 교재연습문제 (Ch. 8): 1 ( 테이블을구성한후 ) 해당하는 SQL 문장을작성하여실행해보고, 이에대한레포트를작성하여메일로제출할것 Due Date: Page 49 Thank you so much... I sincerely wish you get whatever you want Page 50 25