python MysqlDb模塊安裝及其使用詳解
python調用mysql數據庫通常通過mysqldb模塊,簡單說下如何調用
1.安裝驅動
目前有兩個MySQL的驅動,我們可以選擇其中一個進行安裝:
1. MySQL-python:是封裝了MySQL C驅動的Python驅動;
2.mysql-connector-python:是MySQL官方的純Python驅動。
這里使用MySQL-python驅動,即MySQLdb模塊。
命令行安裝
pip install python-mysql
或者在pycharm包中安裝
源碼安裝方式
訪問: http://www.lfd.uci.edu/~gohlke/pythonlibs/,下載MySQL_python-1.2.5-cp27-none-win_amd64.whl

將其拷貝到Python安裝目錄下的Scripts目錄下,在文件位置打開cmd,執(zhí)行pip install MySQL_python-1.2.5-cp27-none-win_amd64.whl
驗證,python(command line)輸入import MySQLdb,沒報錯,說明安裝成功。

測試連接:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
# 連接數據庫 連接地址 賬號 密碼 數據庫 數據庫編碼
db = MySQLdb.connect("localhost", "root", "123456", "test" , charset="utf8")
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# 使用execute方法執(zhí)行SQL語句
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法獲取一條數據庫。
data = cursor.fetchone()
print "Database version : %s " % data
# 關閉數據庫連接
db.close()
示例1:
#!/usr/bin/python
# coding=utf-8
import MySQLdb
import os, sys
import json
class MysqlDb(object):
def __init__(self):
self.host = "127.0.0.1"
@staticmethod
def get_connect():
db = MySQLdb.connect(self.host , "mail_report", "mail_report", "mailawst", charset="utf8")
return db
def get_mysql_info(self,start_time,end_time):
tmp = []
db = self.get_connect()
sql = 'select send_time,mail_id,mail_addr,server_domain,server_ip,mail_status from real_mail_log where send_time > "%s" and send_time < "%s" limit 10;' % (start_time,end_time)
cursor = db.cursor()
cursor.execute(sql)
values = cursor.fetchall()
for i in values:
data = {}
data["send_time"] = str(i[0])
data["mail_id"] = str(i[1])
data["mail_addr"]= str(i[2])
data["server_domain"] = str(i[3])
data["server_ip"] = str(i[4])
data["mail_status"]= str(i[5].encode('utf8'))
tmp.append(data)
data = json.dumps(tmp,ensure_ascii=False)
db.close()
return data
def main():
u = MysqlDb()
print u.get_mysql_info('2017-05-01 00:00:02','2017-05-01 00:50:03')
if __name__ == '__main__':
main()
示例2:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
# 打開數據庫連接
db = MySQLdb.connect("localhost", "root", "123456", "test")
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# SQL插入語句
ins_sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
LAST_NAME, AGE, SEX, INCOME)
VALUES ('yu', 'jie', 20, 'M', 8000)"""
ins_sql1 = 'insert into employee(first_name, last_name, age, sex, income) values (%s, %s, %s, %s, %s)'
# SQL查詢語句
sel_sql = 'select * from employee where first_name = %s'
# SQL更新語句
upd_sql = 'update employee set age = %s where sex = %s'
# SQL刪除語句
del_sql = 'delete from employee where first_name = %s'
try:
# 執(zhí)行sql語句
# insert
cursor.execute(ins_sql)
cursor.execute(ins_sql1, ('xu', 'f', 20, 'M', 8000))
# select
cursor.execute(sel_sql, ('yu',))
values = cursor.fetchall()
print values
# update
cursor.execute(upd_sql, (24, 'M',))
# delete
cursor.execute(del_sql, ('xu',))
# 提交到數據庫執(zhí)行
db.commit()
except:
# 發(fā)生錯誤時回滾
db.rollback()
# 關閉數據庫連接
db.close()
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python3.9用pip安裝wordcloud庫失敗的解決過程
一般在命令行輸入pip install wordcloud 總會顯示安裝失敗,所以下面這篇文章主要給大家介紹了關于Python3.9用pip安裝wordcloud庫失敗的解決過程,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-06-06
Python中執(zhí)行MySQL結果限制和分頁查詢示例詳解
這篇文章主要為大家介紹了Python中執(zhí)行MySQL結果限制和分頁查詢示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11
pycharm配置anaconda環(huán)境時找不到python.exe解決辦法
今天來說一下python中一個管理包很好用的工具anaconda,可以輕松實現python中各種包的管理,這篇文章主要給大家介紹了關于pycharm配置anaconda環(huán)境時找不到python.exe的解決辦法,需要的朋友可以參考下2023-10-10

