>  기사  >  백엔드 개발  >  mysql 데이터베이스의 Python 작업 예에 대한 자세한 설명

mysql 데이터베이스의 Python 작업 예에 대한 자세한 설명

巴扎黑
巴扎黑원래의
2017-08-15 13:39:061581검색

이 글에서는 Python3에서 mysql 데이터베이스를 운영하는 방법을 주로 소개하는데, 관심 있는 친구들은 참고하시기 바랍니다

소프트웨어 및 하드웨어 환경

OS X EI Capitan
Python 3.5.1
mysql 5.6

머리말

개발에는 데이터베이스의 사용이 자주 포함되는데, Python에도 데이터베이스에 대한 다양한 솔루션이 있습니다. 이 기사에서는 pymysql 모듈의 사용을 소개하기 위해 python3의 mysql을 예로 들어 설명합니다.

데이터베이스 준비

testdb라는 이름의 mysql 데이터베이스를 만들고 testtable이라는 테이블을 만듭니다. 여기에는 3개의 필드, 즉 id가 있고 데이터 유형은 INT(11)이며 기본 키로 설정되고 비어 있지 않으며 UNSIGNED입니다. AUTO INCREMENT, 이름, 데이터 유형은 VARCHAR(45), 비어 있지 않은 것으로 설정, 고유, 성별, 데이터 유형은 VARCHAR(45), 비어 있지 않은 것으로 설정

python3 소스 코드


# -*- coding: utf-8 -*-
__author__ = 'djstava@gmail.com'

import logging
import pymysql

class MySQLCommand(object):
  def __init__(self,host,port,user,passwd,db,table):
    self.host = host
    self.port = port
    self.user = user
    self.password = passwd
    self.db = db
    self.table = table

  def connectMysql(self):
    try:
      self.conn = pymysql.connect(host=self.host,port=self.port,user=self.user,passwd=self.password,db=self.db,charset='utf8')
      self.cursor = self.conn.cursor()
    except:
      print('connect mysql error.')

  def queryMysql(self):
    sql = "SELECT * FROM " + self.table

    try:
      self.cursor.execute(sql)
      row = self.cursor.fetchone()
      print(row)

    except:
      print(sql + ' execute failed.')

  def insertMysql(self,id,name,sex):
    sql = "INSERT INTO " + self.table + " VALUES(" + id + "," + "'" + name + "'," + "'" + sex + "')"
    try:
      self.cursor.execute(sql)
    except:
      print("insert failed.")

  def updateMysqlSN(self,name,sex):
    sql = "UPDATE " + self.table + " SET sex='" + sex + "'" + " WHERE name='" + name + "'"
    print("update sn:" + sql)

    try:
      self.cursor.execute(sql)
      self.conn.commit()
    except:
      self.conn.rollback()


  def closeMysql(self):
    self.cursor.close()
    self.conn.close()

위 내용은 mysql 데이터베이스의 Python 작업 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.