python執行mysql語句的話牽扯到的操作還挺多,簡單說每次執行一條語句需要進行資料庫連線、獲取游標、執行語句、獲取返回資料、斷開連線,如果其**錯還需要回滾游標等操作,每次都寫這麼一大串**會看起來十分冗餘,於是考慮寫乙個類來封裝上述操作。
基本的mysql操作
import mysqldb
# 開啟資料庫連線
db = mysqldb.connect(
"localhost"
,"user"
,"password"
,"dbname"
)# 使用cursor()方法獲取操作游標
cursor = db.cursor(
)# 使用execute方法執行sql語句
cursor.execute(
"select version()"
)# 使用 fetchone() 方法獲取一條資料
data = cursor.fetchone(
)print
"database version : %s "
% data
# 關閉資料庫連線
db.close(
)
實現乙個可以簡單操作mysql的類
macos 10.14
python3.6.5
pymysql==0.9.3
這裡插一句題外話,有的環境安裝mysqldb這個package的時候會報錯,解決起來很複雜,乙個簡單的方案是安裝pymysql,然後import的時候按如下操作即可實現與mysqldb一樣的效果。
import pymysql
pymysql.install_as_mysqldb(
)import mysqldb
# mysql_util.py
import pymysql
pymysql.install_as_mysqldb(
)import mysqldb
class
mysqlutil
(object):
@classmethod
definit
(cls, _cfg)
:'''
_cfg是乙個詞典,裡面儲存了mysql的設定
mysqlutil.init(cfg)
''' read table structure
'''mysqlutil.read_table_structure(
'tbl_***x'
, database=
'mydb'
)'''
read keywords from table
'''results = mysqlutil.execute_query_sql(
'select 1 from tbl_***;'
, databse =
'mydb'
)'''
insert data into table and return the key(id)
'''flag = mysqlutil.execute_insert_update_sql(
'update tbl_*** set id = 1 where id = 2;'
, ret_last_id =
true
, row_count =
true
)'''
insert data into table and need add new row
'''flag = mysqlutil.execute_insert_update_sql(
'update tbl_*** set id = 1 where id = 2;'
, ret_last_id =
false
, row_count =
true
)'''
just insert data into table
'''flag = mysqlutil.execute_insert_update_sql(
'update tbl_*** set id = 1 where id = 2;'
, ret_last_id =
false
, row_count =
false
)print
(results)
python MySQL封裝呼叫
import pymysql from cfg.handle ini import cfg ini的配置檔案呼叫 呼叫方式cfg.get class heandlemysql object 建立連線 def init self self.conn pymysql.connect host cfg.g...
python mysql基礎知識
目錄1.為什麼要用資料庫?2.資料庫的優勢 資料庫是c s架構的 運算元據檔案的乙個管理軟體。3.資料庫管理系統 dbms 4.資料庫管理系統的兩種型別 2.非關係型資料庫 安裝mysql遇到的問題 3.安裝之後發現配置有問題,再修改配置往往不能生效 4.解除安裝之後重灌 mysqld remove...
安裝python MySQL環境
在解壓資料夾下執行 python setup.py build 可能會提示缺少setuptools,首先安裝pypa setuptools 繼續安裝可能提示 environmenterror mysql config not found 解決辦法 1 ubuntu下 執行sudo apt get i...