Python Essential 세미나 1 Python Databases Module - Part 2 (MySQL Module) 발표자 : 박영국 2001. 5. 1( 화 )

Slides:



Advertisements
Similar presentations
CUBRID 소개 (Object 개념) 서비스 사업부 / 기술지원팀. 목차 구조 일반적 특징 객체지향 특징 ORDB 개념을 이용한 스키마 ORDB 개념을 이용한 질의.
Advertisements

Python Essential 세미나 1 Socket Programming 발표자 : 임민상 ( 화 )
시스템소프트웨어 김 영욱 양 오석. 목적  라즈베리파이에서 GPIO 를 이용하여 초음파 센서를 연결하고 거리를 측정해 일 정한 거리안에 사람이 들어오면 파이 카메라를 이용하여 사진을 찍고 데이터 베 이스에 올려 웹에서 사진을 보고 검색을.
1 SQL 정보보호학과 양 계 탁. 2 SQL 개요 SQL 개요 3 Database u 연관된 데이터들의 집합 u 데이터를 쉽게 관리하는 프로그램 종 류종 류 관계형 데이터베이스 객체지향형 데이터베이스 계층형 데이터베이스 네트워크 데이터베이스 데이터를 2 차원적인 테.
SQLite 소개 및 안드로이드에서의 사용법
DB2 Information Management DB2 UDB CLP Command Summary.
PARK SUNGJIN Oracle 설치 PARK SUNGJIN
소리가 작으면 이어폰 사용 권장!.
PL/SQL.
제로보드 소개 제로보드 설치하기 제로보드 관리하기
소프트웨어시스템설계(6주) 데이터베이스 연동
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
C#에서 데이터베이스 연동 방법.
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
APM 실습 (MySQL).
Chapter 05 SQL 인젝션 공격.
JDBC 프로그래밍 이수지 이동주 1.
Apache Hive 빅데이터 분산 컴퓨팅 박영택.
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
MySQL grandmarnier.
MySQL performance Xhark 김재홍.
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
Toad for Oracle 설치 방법.
MySQL RENO.
MySQL 및 Workbench 설치 데이터 베이스.
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
Chapter 01 데이터베이스 시스템.
11장. 데이터베이스 서버 구축과 운영.
14장 질의응답 한빛미디어(주).
2007. Database Term Project Team 2 윤형석, 김희용, 최현대 우경남, 이상제
MySQL 기본 사용법.
ㅎㅎ MS-SQL서버 2000과 XML MS-SQL 서버 2000과 XML 활용 HTTP를 이용한 XML 데이터 접근
Chapter 05 데이터베이스 프로그래밍.
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
ER-Win 사용 방법.
SQL Server 2000 세미나 Profiler를 이용한 문제해결
차례 튜닝 - 프로필러를 이용한 튜닝 프로필러 친해지기 프로필러 결과 테이블로 만들기 프로필러 결과 분석하기
단일 테이블 조회를 위한 SELECT 문을 이해한다. 열 제약조건과 행 제약조건을 이해한다. 결과 집합 변경 방법을 이해한다.
14 뷰(View) 뷰의 개념 뷰 관리.
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
16장. 테이블의 변경 새로운 행 삽입 테이블에서 테이블로 행을 복사 행 값의 변경 테이블에서 행 삭제
8 데이터베이스 사용하기.
12 데이터베이스 사용하기.
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
2012 인터넷 응용프로그래밍 FTP, MySQL 사용 방법 및 텀 프로젝트용 서버에서 웹페이지 구동 방법 설명
You YoungSEok Oracle 설치 You YoungSEok
4장. 데이터베이스와 테이블 MySQL 데이터베이스 테이블의 생성 테이블 데이터 처리(삽입, 변경, 삭제) 작업
ㅇ 스프링 설정파일 (dispatcher-servlet.xml)
문양세 (1st version: 문성우) (revised by 손시운)
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
고급 T-SQL.
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
SQL Query in the SSMS : DB, Table
JSP 게시판 구현.
데이터베이스 (Database) SQL 추가 기능: 주장, 뷰, 프로그래밍 기법 문양세 강원대학교 IT대학 컴퓨터과학전공.
Database 중고차 매매 DB 비즈니스IT 윤동섭.
인터넷응용프로그래밍 과제 실습.
3장. SQL Server 2008전체 운영 실습 및 DB와 프로그램의 연동
컬럼 대칭키 암호화 작업(SQL 2008) ① 마스터 키 생성 ② 인증서 생성 초기 한번만 실행 ③ 대칭키 생성
SQL INJECTION MADE BY 김 현중.
06. SQL 명지대학교 ICT 융합대학 김정호.
Unix 방문(접속하여 로그인) 하기 수퍼 유저 되어 사용자 계정 만들기 Unix의 아파치 웹 서버에 홈페이지 등록하기
13장 자바빈과 데이터베이스를 연동한 게시판 시스템
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
홈페이지 제안서
Stored program 장종원
Data Base Mysql.
제 5 장 MariaDB인덱스 생성 및 관리.
Presentation transcript:

Python Essential 세미나 1 Python Databases Module - Part 2 (MySQL Module) 발표자 : 박영국 ( 화 )

Python Essential 세미나 2 ● MySQL Module 의 종류 - MySQLmodule - 표준 Python Database API 2.0 인터페이스에 따르지 않으며 새로운 기능을 제공한다. - 개발환경 Linux, MySQL , Python MySQLdb - 표준 API 에 따르고 있으므로 프로그램을 수정하지 않고서도 다른 데이타베이스로 변경가능 - 위의 모듈보다 좋은 사용법을 가지고 있으며 활발히 개발되고 있음.( 최근버전 0.3.5) MySQL 모듈의 종류 MySQLdb 설치법 MySQLdb 사용법 MySQLdb 예제 Cursor Object 참고사이트

Python Essential 세미나 3 ● MySQLdb 설치법 (1) 1. Source Download(Windows) - /MySQL-python win32-2.zip 에서 다운로드, 압축을 푼다. 2. 설치 - Distutils win32.exe 실행시킨다. ( 파이썬 모듈을 설치해주는 프로그램 ) - Distutils 파일이 없다면 도스모드에서 d:\download>python setup.py install 3. 참고사항 - MySQL 모듈의 종류MySQLdb설치법 MySQLdb 사용법 MySQLdb 예제 Cursor Object 참고사이트

Python Essential 세미나 4 ● MySQLdb 설치법 (2) 1. Source Download(Linux) - /MySQL-python tar.gz 다운로드를 받고 압축을 푼다. 2. 설치 - Setup.in 화일을 열어서 mysql 의 경로가 자신의 시스템과 맞는지 확인한다 - 컴파일을 한다. $ python build.py - 컴파일시 에러가 없다면 $ make install $ cp MySQLdb.py{,c, o} /usr/lib/python1.5/site-packages 3. 참고사항 - MySQL 모듈의 종류MySQLdb설치법 MySQLdb 사용법 MySQLdb 예제 Cursor Object 참고사이트

Python Essential 세미나 5 ● MySQLdb 사용법 MySQL 모듈의 종류 MySQLdb 설치법MySQLdb사용법 MySQLdb 예제 Cursor Object 참고사이트 - MySQLdb 는 객체와 메쏘드를 표준 Database API 2.0 에 따르고 있다. Python (#0, Apr , 10:51:12) [MSC 32 bit (Intel)] on win32 Copyright Stichting Mathematisch Centrum, Amsterdam >>> import MySQLdb >>> dbconn = MySQLdb.connect(user='root', passwd='kilshim', db='mysql') >>> cursor = dbconn.cursor() >>> cursor.execute('select * from user') 2L >>> result = cursor.fetchall() >>> result (('localhost', 'root', '531fbefb4bfee6d1', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y'), ('%', 'root', '531fbefb4bfee6d1', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y')) >>>

Python Essential 세미나 6 ● MySQLdb 사용법 (db 연결 ) - import MySQLdb : MySQLdb 모듈을 수입한다. - : MySQLdb 모듈의 connect 함수를 사용하여 데이터베이스 객 체를 생성한다 host - hostname (NULL : default) user - username (NULL) passwd - password (no password) db - database name (NULL) port - integer, TCP/IP port unix_socket - TCP를 사용할 unix소켓의 위치 client_flag - integer, 필요할 경우 사용하기 위한 flag (0) MySQL 모듈의 종류 MySQLdb 설치법MySQLdb사용법 MySQLdb 예제 Cursor Object 참고사이트

Python Essential 세미나 7 ● MySQLdb 사용법 (db 가공 ) - dbconn.cursor() : 모든 데이터베이스의 액션은 커서를 통해서 이루어진다. 프 로그램과 데이터베이스를 연결 해 주는 것이 커서의 역할 이라 할 수 있다. - cursor.execute() : cursor 의 객체중의 하나 메쏘드로써 사전적 의미는 “ 실행 ” () 안에 SQL query 문을 삽입 cursor.execute(‘select * from db) - cursor.fetchall() : 해당 쿼리문 fetch, 튜플로 반환 fetchall(), fetchone(), fetchmany(size) MySQL 모듈의 종류 MySQLdb 설치법MySQLdb사용법 MySQLdb 예제 Cursor Object 참고사이트

Python Essential 세미나 8 ● MySQLdb 예제 (1) EX1) Insert %python >>> import MySQLdb >>> dbconn = MySQLdb.connect(user='root', passwd='kilshim', db='mysql') >>> cursor = dbconn.cursor() >>> query = "insert into user (host, user, password) values ('localhost', 'ygpark', password('python'))" >>> execute = cursor.execute(query) >>> cursor.execute('select * from user') 3L >>> result = cursor.fetchall() >>> result (('localhost', 'root', '531fbefb4bfee6d1', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y'), ('localhost', 'ygpark', '76cdfa5c19319c47', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N'), ('%', 'root', '531fbefb4bfee6d1', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y')) >>> MySQL 모듈의 종류 MySQLdb 설치법 MySQLdb 사용법MySQLdb예제 Cursor Object 참고사이트

Python Essential 세미나 9 ● MySQLdb 예제 (2) EX2) select %python >>> import MySQLdb >>> dbconn = MySQLdb.connect(user='ygpark', passwd='python', db='dbtest') >>> cursor = dbconn.cursor() >>> cursor.execute('select * from test') 5L >>> result = cursor.fetchall() >>> result ((1L, '\271\332\277\265\261\271', '\306\304\266\373'), (2L, '\271\332\275\302\261\342', '\263\353\266\373'), (3L, '\261\350\301\370\277\255', '\272\270\266\363'), (4L, '\300\323\271\316\273\363', '\310\362\273\366'), (5L, '\303\326\277\353\301\330', '\263\354\273\366')) >>> for s_result in result: for object in s_result: print object, print 1L 박영국 파랑 2L 박승기 노랑 3L 김진열 보라 4L 임민상 흰색 5L 최용준 녹색 >>> MySQL 모듈의 종류 MySQLdb 설치법 MySQLdb 사용법MySQLdb예제 Cursor Object 참고사이트

Python Essential 세미나 10 ● MySQLdb 예제 (3) EX3)Update %python >>> cursor.execute("update test set name=' 박말자 ', color=' 분홍 ' where id='1'") 1L >>> cursor.execute('select * from test') 5L >>> result = cursor.fetchall() >>> for s_result in result: for object in s_result: print object, print 1L 박말자 분홍 2L 박승기 노랑 3L 김진열 보라 4L 임민상 흰색 5L 최용준 녹색 >>> MySQL 모듈의 종류 MySQLdb 설치법 MySQLdb 사용법MySQLdb예제 Cursor Object 참고사이트

Python Essential 세미나 11 ● MySQLdb 예제 (4) EX4)delete %python >>> cursor.execute("delete from test where id='1'") 1L >>> cursor.execute('select * from test') 4L >>> result = cursor.fetchmany(4) >>> for de_result in result: for object in de_result: print object, print 2L 박승기 노랑 3L 김진열 보라 4L 임민상 흰색 5L 최용준 녹색 >>> EX5)close >>> cursor.close() # 사용이 종료되면 닫아준다. ( 직접안하면 자동으로 닫힘 ) MySQL 모듈의 종류 MySQLdb 설치법 MySQLdb 사용법MySQLdb예제 Cursor Object 참고사이트

Python Essential 세미나 12 ● Cursor Object (1) - 커서 객체는 질의를 수행하고 실행된 결과를 가져오기 위해서 사용된다 - 일반적으로 fetch 해서 나오는 결과값은 터플이지만 MySQLdb.DictCursor 라는 인수를 주어 호출하면 사전의 리스트 형태를 띤다. MySQL 모듈의 종류 MySQLdb 설치법 MySQLdb 사용법 MySQLdb 예제 Cursor Object 참고사이트 >>> c = dbconn.cursor(MySQLdb.DictCursor) >>> c.execute('select * from test') 4L >>> result = c.fetchall() >>> result ({'color': '\263\353\266\373', 'id': 2L, 'name': '\271\332\275\302\261\342'}, {'color': '\272\270\266\363', 'id': 3L, 'name': '\261\350\301\370\277\255'}, {'color': '\310\362\273\366', 'id': 4L, 'name': '\300\323\271\316\273\363'}, {'color': '\263\354\273\366', 'id': 5L, 'name': '\303\326\277\353\301\330'})

Python Essential 세미나 13 ● Cursor Object (2) -Description 질의 결과로 얻어진 각 필드의 특성을 표시 결과는 7 개의 터플의 터플인데, 각 의미는 ( 필드명, 데이타형코드, 표시크기, 내부크기, 정확도, 비율, null 가능 여부 ) 필드이름 (‘id’), 데이타형 (3)-int, 표시크기 (1)-1, 내부크기 (3)-3 (int(3) 으로 선언 ), 정확도 -3, 비율 -0( 별의미없음 ), null 가능 (0)-No MySQL 모듈의 종류 MySQLdb 설치법 MySQLdb 사용법 MySQLdb 예제 Cursor Object 참고사이트 >>> print cursor.description (('id', 3, 1, 3, 3, 0, 0), ('name', 253, 6, 10, 10, 0, 0), ('color', 253, 4, 10, 10, 0, 0))

Python Essential 세미나 14 ● Cursor Object (3) -Rowcount 검색결과 레코드의 수 혹은 변경된 수를 알려준다. -fetchxxx() r = cursor.fetchone() 결과 한 개 가져오기 r = cursor.fetchall() 결과 모두 가져오기 r = cursor.fetchmany(4) 결과 4 개 가져오기 fetchmany(n) n 개 만큼의 레코드를 가져온다. 만일 숫자가 정의되지 않으면 cursor.arraysize 만큼의 레코드를 가져온다. ( cursor.arraysize 의 기본값은 100 이다.) # arraysize 변경방법 cursor.arraysize = 10 MySQL 모듈의 종류 MySQLdb 설치법 MySQLdb 사용법 MySQLdb 예제 Cursor Object 참고사이트

Python Essential 세미나 15 ● 참고사이트 - Database API 이만용의 MySQLdb - 파이썬 정보광장 MySQL 모듈의 종류 MySQLdb 설치법 MySQLdb 사용법 MySQLdb 예제 Cursor Object참고사이트

Python Essential 세미나 16 ● 참고사항 - 예제에 사용된 테이블 create table test ( id int(3) default '0' not null auto_increment, name varchar(10) not null, color varchar(10) not null, PRIMARY KEY (id) ); MySQL 모듈의 종류 MySQLdb 설치법 MySQLdb 사용법 MySQLdb 예제 Cursor Object참고사이트