Python_3
https://docs.google.com/document/d/1zO2vk8f0-Op7LczR-O_Buhv3b029H-Ivjrasch6QfrM/edit
maria DB 연동하기
[ 마리아 DB 연동 ]
1.
http://dev.mysql.com/downloads/connector/python/
에서 마리아 DB connector 설치
다른 방법
http://downloads.mysql.com/archives/c-python/
select version : 1.2.2
select platform : Platform Independent를 선택하고 zip파일을 다운받아 압축을 푼다
이어서 cmd 창을 열고, 압축을 푼 폴더에서
> python setup.py install
하면 Python 폴더의 C:\Python34\Lib\site-packages에
mysql 폴더가 생기고 파일이 복사된다.
이 때 C:\Python34와 C:\Python34\Scripts 는 반드시 path 설정이 돼 있어야 한다
2. 마리아 DB 다운로드
https://downloads.mariadb.org/mariadb/5.5.50/
에서 운영체제에 맞는 버전 선택해서 다운로드 설치
- Maria DB 설치 화면
- mysql 클라이언트 실행
>mysql -u root -p
- database 목록보기
>show databases;
- database 만들기
>create database db이름 ;
- database use
>use 데이터 베이스 이름 ;
- table list
>show tables;
- table 구조 보기
>desc 테이블 이름 ;
- 계정 생성방법
>create user '사용자이름'@'접속ip' identified by '비밀번호' ;
- 권한 부여
>grant all privileges on db이름.* to '사용자이름'@'접속ip' ;
- 권한 설정 새로 고침
>flush privileges;
CREATE TABLE member(num INTEGER AUTO_INCREMENT PRIMARY KEY,
name TEXT, addr TEXT );
- 데이터 입력
INSERT INTO member (name,addr) VALUES( '김구라' , '노량진');
- 데이터 수정
UPDATE member SET name=?,addr=? WHERE num=? ;
- 데이터 삭제
DELETE FROM member WHERE num=?;
- 데이터 SELECT
SELECT num,name,addr FROM member;
#-*- coding: utf-8 -*-
import mysql.connector
from mysql.connector import errorcode
# DB 접속 정보를 dict type 으로 준비한다.
config={
"user":"gura", # 계정
"password":"1234", # 비밀번호
"host":"127.0.0.1", # 접속 아이피
"database":"acorn", # database 명
"port":3306 # port 번호
}
try:
# Maria DB 연결객체
conn=mysql.connector.connect(**config) # config dict type 매칭
# member 테이블에 저장할 정보라고 가정
name1 = u"원숭이"
addr1 = u"상도동"
#실행할 sql 문 준비하기
sql="INSERT INTO member (name,addr) values(%s, %s)"
# %s 에 바인딩할 내용을 tuple type 에 담는다.
sql_arg=(name1, addr1)
# db 에 select, insert, update, delete 작업을 할 객체
cursor=conn.cursor()
# 수행하기
cursor.execute(sql, sql_arg)
conn.commit() # DB 에 실제 반영하기
print "member 테이블에 회원정보를 저장 했습니다."
except mysql.connector.Error as err:
# 예외가 발생했을때 수행할 작업
if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print "아이디 혹은 비밀번호가 틀려요"
elif err.errno == errorcode.ER_BAD_DB_ERROR:
print "DB 오류"
else:
print "기타 오류"
# DB 작업 취소
conn.rollback()
else:
print "정상 수행 했습니다."
finally:
# cursor 닫기
cursor.close()
# 연결 객체 닫기
conn.close()
#-*- coding: utf-8 -*-
import mysql.connector
from mysql.connector import errorcode
# DB 접속 정보를 dict type 으로 준비한다.
config={
"user":"gura", # 계정
"password":"1234", # 비밀번호
"host":"127.0.0.1", # 접속 아이피
"database":"acorn", # database 명
"port":3306 # port 번호
}
try:
# Maria DB 연결객체
conn=mysql.connector.connect(**config) # config dict type 매칭
#삭제할 회원의 번호라고 가정
num1=5
#실행할 sql 문 준비하기
sql="DELETE FROM member WHERE num=%s"
# %s 에 바인딩할 내용을 tuple type 에 담는다.
sql_arg=(num1,)
# db 에 select, insert, update, delete 작업을 할 객체
cursor=conn.cursor()
# 수행하기
cursor.execute(sql, sql_arg)
# 영향을 받은 row 의 갯수 읽어오기
row_count=cursor.rowcount
print row_count
conn.commit() # DB 에 실제 반영하기
if row_count > 0:
print "member 테이블에 회원정보를 삭제 했습니다."
else:
print num1, "번 회원정보는 존재 하지 않습니다."
except mysql.connector.Error as err:
# 예외가 발생했을때 수행할 작업
if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print "아이디 혹은 비밀번호가 틀려요"
elif err.errno == errorcode.ER_BAD_DB_ERROR:
print "DB 오류"
else:
print "기타 오류"
# DB 작업 취소
conn.rollback()
else:
print "정상 수행 했습니다."
finally:
# cursor 닫기
cursor.close()
# 연결 객체 닫기
conn.close()
2017/11/25 - [세상을 바꿀 힘/Tech] - Python_2
2017/11/18 - [세상을 바꿀 힘/Tech] - Python_1