標籤:調用 使用者 tab win10 int 相關 utf-8 roo ror
[硬體環境]
Win10 64位
[軟體環境]
Python版本:2.7.3
IDE:JetBrains PyCharm 2016.3.2
Python庫:
1.1) MySQL-python-1.2.4b4.win32-py2.7.exe
[搭建過程]
OpenCV Python庫:
1. 直接EXE檔案安裝
[相關代碼]
#!/usr/bin/python# -*- coding: UTF-8 -*-import MySQLdb# 您已經建立了資料庫 TESTDB.# 在TESTDB資料庫中您已經建立了表 EMPLOYEE# EMPLOYEE表欄位為 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。# 串連資料庫TESTDB使用的使用者名稱為 "testuser" ,密碼為 "test123",你可以可以自己設定或者直接使用root使用者名稱及其密碼,Mysql資料庫使用者授權請使用Grant命令。# 在你的機子上已經安裝了 Python MySQLdb 模組。# 開啟資料庫連接db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB" )# 使用cursor()方法擷取操作遊標cursor = db.cursor()# 使用execute方法執行SQL語句cursor.execute("SELECT VERSION()")# 使用 fetchone() 方法擷取一條資料庫。data = cursor.fetchone()print "Database version : %s " % data# 關閉資料庫連接db.close()################################################ 建立資料庫表 ##################################################### 開啟資料庫連接db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB" )# 使用cursor()方法擷取操作遊標cursor = db.cursor()# 如果資料表已經存在使用 execute() 方法刪除表。cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")# 建立資料表SQL語句sql = """CREATE TABLE EMPLOYEE ( FIRST_NAME CHAR(20) NOT NULL, LAST_NAME CHAR(20), AGE INT, SEX CHAR(1), INCOME FLOAT )"""cursor.execute(sql)# 關閉資料庫連接db.close()################################################ 資料庫插入 ##################################################### 開啟資料庫連接db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB" )# 使用cursor()方法擷取操作遊標cursor = db.cursor()# SQL 插入語句sql = """INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES (‘Mac‘, ‘Mohan‘, 20, ‘M‘, 2000)"""try: # 執行sql語句 cursor.execute(sql) # 提交到資料庫執行 db.commit()except: # Rollback in case there is any error db.rollback()# 關閉資料庫連接db.close()################################################ 資料庫查詢 ##################################################### 開啟資料庫連接db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB" )# 使用cursor()方法擷取操作遊標cursor = db.cursor()# SQL 查詢語句sql = "SELECT * FROM EMPLOYEE WHERE INCOME > ‘%d‘" % (1000)try: # 執行SQL語句 cursor.execute(sql) # 擷取所有記錄列表 results = cursor.fetchall() for row in results: fname = row[0] lname = row[1] age = row[2] sex = row[3] income = row[4] # 列印結果 print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % (fname, lname, age, sex, income )except: print "Error: unable to fecth data"# 關閉資料庫連接db.close()################################################ 資料庫更新 ##################################################### 開啟資料庫連接db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB" )# 使用cursor()方法擷取操作遊標cursor = db.cursor()# SQL 更新語句sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = ‘%c‘" % (‘M‘)try: # 執行SQL語句 cursor.execute(sql) # 提交到資料庫執行 db.commit()except: # 發生錯誤時復原 db.rollback()# 關閉資料庫連接db.close()################################################ 資料庫刪除 ##################################################### 開啟資料庫連接db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB" )# 使用cursor()方法擷取操作遊標cursor = db.cursor()# SQL 刪除語句sql = "DELETE FROM EMPLOYEE WHERE AGE > ‘%d‘" % (20)try: # 執行SQL語句 cursor.execute(sql) # 提交修改 db.commit()except: # 發生錯誤時復原 db.rollback()# 關閉串連db.close()
Python調用Mysqldb完成MySql的CRUD操作