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

Similar documents
윈도우시스템프로그래밍

MySQL-Ch10

윈도우시스템프로그래밍

Microsoft PowerPoint - 10Àå.ppt

DBMS & SQL Server Installation Database Laboratory

MySQL-.. 1

10.ppt

PowerPoint 프레젠테이션

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

Spring Boot/JDBC JdbcTemplate/CRUD 예제

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

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

13주-14주proc.PDF

FileMaker ODBC 및 JDBC 가이드

강의 개요

untitled

쉽게 풀어쓴 C 프로그래밊

FileMaker 15 ODBC 및 JDBC 설명서

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

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

FileMaker ODBC and JDBC Guide

DocsPin_Korean.pages

untitled

NoSQL

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

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

K7VT2_QIG_v3

PowerPoint 프레젠테이션

Microsoft PowerPoint Python-DB

Remote UI Guide

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

MPLAB C18 C

Sena Technologies, Inc. HelloDevice Super 1.1.0

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

K&R2 Reference Manual 번역본

초보자를 위한 ADO 21일 완성

C프로-3장c03逞풚

MySQL-Ch05

Relational Model

문서 템플릿

Windows 8에서 BioStar 1 설치하기

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

5장 SQL 언어 Part II

rmi_박준용_final.PDF

chap 5: Trees

슬라이드 1

untitled

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C

ODS-FM1

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

단계

TITLE

10 장세균전프로그래밍 10.1 게임룰 (1) 사람과컴퓨터가싸우는 2인용보드게임이다. (2) 사람이먼저움직이고, 컴퓨터가움직인다. (3) 세균을가로및세로방향으로 2칸까지빈칸으로이동시킬수있다. (4) 1칸을이동할경우에는복제가된다. (5) 이동한후주변세균은내편으로바뀐다.

슬라이드 1

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

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

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

Tablespace On-Offline 테이블스페이스 온라인/오프라인

PowerPoint 프레젠테이션

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

Microsoft PowerPoint MySQL 연동.ppt

Microsoft PowerPoint - 07-Data Manipulation.pptx

Lec. 2: MySQL and RMySQL

슬라이드 1

PowerPoint 프레젠테이션

Discrete Mathematics

Lab 3. 실습문제 (Single linked list)_해답.hwp


FileMaker ODBC and JDBC Guide

RDB개요.ppt

Simplify your Job Automatic Storage Management DB TSC

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp

untitled

1217 WebTrafMon II

Interstage5 SOAP서비스 설정 가이드

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

untitled

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

PowerPoint Presentation

PRO1_09E [읽기 전용]

교육2 ? 그림

시스코 무선랜 설치운영 매뉴얼(AP1200s_v1.1)

Contents. 1. PMD ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 2. Metrics ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 3. FindBugs ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 4. ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ

第 1 節 組 織 11 第 1 章 檢 察 의 組 織 人 事 制 度 등 第 1 項 大 檢 察 廳 第 1 節 組 대검찰청은 대법원에 대응하여 수도인 서울에 위치 한다(검찰청법 제2조,제3조,대검찰청의 위치와 각급 검찰청의명칭및위치에관한규정 제2조). 대검찰청에 검찰총장,대

5.스택(강의자료).key

201502IC1AP-1 DB 구축 2015 학년도 2 학기 프로젝트특강보고서 프로젝트명 : DB 구축 ( DB ) 2015 년 11 월 20 일 지도교수 : 황치곤교수님 학과 : 정보통신공학과 1팀제출자 : 역할성명학번 조장 조재석 조원 송찬호 2

»ç¿ëÀÚ¸Þ´º¾ó

C++-¿Ïº®Çؼ³10Àå

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

강의10

LCD Display

R50_51_kor_ch1

슬라이드 1

한글사용설명서

슬라이드 1

Transcription:

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) - DDL(Data Definition Language) : show, create, drop 등 - DML(Data Manipulation Language) : select, insert, update, delete 8.2 MySQL 을설치한다. (1) 다운로드 : http://dev.mysql.com/downloads/ (mysql-installer-community-5.7.22.1.msi) (2) Custom Setup : MySQL Server 5.7, MySQL Notifier 1.1, Connector/C 6.1 (3) 서버설정 : Instance=Developer, Port=3306, root password=rootpass, Windows Service Name=MySQL57 (4) 한글설정 : C:\ProgramData\MySQL\MySQL Server 5.7\my.ini 를수정한다. [mysql] default-character-set = euckr [mysqld] default-character-set = euckr (5) 시작 -> 제어판 -> 시스템및보안 -> 관리도구 -> 서비스 -> MySQL57 -> 수동 / 자동 (6) 시작 -> 모든프로그램 -> MySQL -> Server -> MySQL 5.7 Command Line Client (ANSI) Enter password : ********(rootpass) mysql> set sql_mode = ""; /* strict mode 를사용하지않는다. */ mysql> status; mysql> show variables like 'c%'; mysql> show databases; mysql> use mysql; mysql> show tables; mysql> select * from user; mysql> insert into user (host, user, authentication_string) values -> ('localhost','user1',password('pass01')); mysql> flush privileges; mysql> insert into db values ('localhost', 'db1', 'user1', 'Y','Y','Y','Y','Y' ->,'Y','Y','Y','Y','Y', 'Y','Y','Y','Y','Y', 'Y','Y','Y','Y'); mysql> select * from db; mysql> create database db1; mysql> exit - MySQL 명령프롬프트바로가기를바탕화면에복사한다. 속성에서대상을 -uroot => -uuser1 db1 으로변경한다.

Enter password : ******(pass01) mysql> set sql_mode = ""; mysql> use db1; mysql> status; mysql> create table member ( -> no int(5) auto_increment primary key, -> id char(12) not null, -> pw char(41), -> grade int(1) default 0 -> ); mysql> desc member; mysql> insert into member values (1, 'manager', password('1234'), 9); mysql> insert into member (id, pw) values (' 홍길동 ', password('1111')); mysql> update member set pw=password('2222') where id=' 홍길동 '; mysql> delete from member where id=' 홍길동 '; mysql> quit 8.3 새프로젝트를생성한다. (1) 프로젝트 : 이름 =Test, Type= 대화상자기반, 문자집합 = 멀티바이트 (2) 컨트롤배치 : NO: IDC_EDIT1 ID: IDC_EDIT2 PW: IDC_EDIT3 IDOK IDC_BUTTON1 IDC_BUTTON2 IDC_BUTTON3 IDC_BUTTON4 IDC_EDIT4 (3) 변수연결 : IDC_EDIT1(Read only)=cstring m_struserno, IDC_EDIT2=CString m_strusername, IDC_EDIT3(Password)=CString m_strpassword, IDOK(Caption= 로그인 / 로그아웃 ), IDC_BUTTON1(Caption= 회원가입 ), IDC_BUTTON2(Caption= 회원탈퇴 ), IDC_BUTTON3(Caption= 암호변경 ), IDC_BUTTON4(Caption= 회원명부 ) IDC_EDIT4(Multiline)=CString m_stredit (4) 이벤트핸들러함수생성 : IDC_BUTTON1=OnClickedInsert(), IDC_BUTTON2=OnClickedDelete(), IDC_BUTTON3=OnClickedUpdate(), IDC_BUTTON4=OnClickedSelect(), IDOK=OnClickedLogin() (5) Project 속성에아래사항을추가한다. Additional include directory = C:\Program Files (x86)\mysql\mysql Connector 6.1\include Additional library directory = C:\Program Files (x86)\mysql\mysql Connector 6.1\lib Additional library = libmysql.lib (6) libmysql.dll을소스파일이있는디렉토리에복사한다.

8.4 사용자데이터베이스를연결한다. // TestDlg.h #include <mysql.h> #include <errno.h> public: MYSQL m_mysql; bool CTestDlg::OnInitDialog() mysql_init(&m_mysql); MYSQL *conn = mysql_real_connect(&m_mysql, "localhost", "user1", "pass01", "db1", 3306, (char *)NULL, 0); if (conn == NULL) AfxMessageBox((LPCTSTR)mysql_error(&m_mysql)); ::PostQuitMessage(0); mysql_set_character_set(&m_mysql, "euckr"); return TRUE; void CTestDlg::DestroyWindow() mysql_close(&m_mysql); 8.5 전체레코드를읽는다. void CTestDlg::OnClickedSelect() int status = mysql_query(&m_mysql, _T("select * from member")); if (status!= 0) AfxMessageBox((LPCTSTR)mysql_error(&m_mysql)); return; MYSQL_RES *result = mysql_store_result(&m_mysql); if (result == NULL) AfxMessageBox(_T("Empty set")); return; int nfieldcount = mysql_num_fields(result); MYSQL_FIELD *fields = mysql_fetch_fields(result); MYSQL_ROW row; m_stredit = _T(""); while ((row = mysql_fetch_row(result)) for (int i=0; i<nfieldcount; i++) m_stredit.appendformat(_t("%s=%s "), fields[i].name, row[i]); m_stredit.appendformat(_t("\r\n")); mysql_free_result(result); this->updatedata(false); // 화면을갱신

8.6 새레코드를추가한다. void CTestDlg::OnClickedInsert() if (m_strusername.isempty()) AfxMessageBox(_T("id 를입력하시오.")); return; if (m_strpassword.isempty()) m_strpassword = _T(" "); // 빈칸은공백문자로대체한다. query.format(_t("insert into member (id,pw) values ('%s',password('%s'))"), m_strusername, m_strpassword); 8.7 레코드를삭제한다. void CTestDlg::OnClickedDelete() query.format(_t("delete from member where id='%s'"), m_strusername); 8.8 사용자암호를수정한다. void CTestDlg::OnClickedUpdate() query.format(_t("update member set pw=password('%s') where id='%s'"), m_strpassword, m_strusername);

8.9 로그인이성공하면버튼을로그아웃으로바꾼다. void CTestDlg::OnClickedLogin() if (m_strpassword.isempty()) m_strpassword = _T(" "); CString strlogin; this->getdlgitemtext(idok, strlogin); if (strlogin.c if (m_strpassword.isempty()) m_strpassword = _T(" "); CString strlogin; this->getdlgitemtext(idok, strlogin); if (!strlogin.compare(_t(" 로그인 "))) query.format(_t("select * from member where id='%s' and pw=password('%s')"), m_strusername, m_strpassword); MYSQL_RES *result = mysql_store_result(&m_mysql); int nrowcount = mysql_num_rows(result); if (nrowcount == 0) AfxMessageBox(_T("ID or PW is incorrect.")); else MYSQL_ROW row = mysql_fetch_row(result); m_nuserno = atoi(row[0]); m_strpassword = _T(""); this->updatedata(false); this->setdlgitemtext(idok, _T(" 로그아웃 ")); else this->setdlgitemtext(idok, _T(" 로그인 "));