python資料庫中文
① 在linux系統下,python連接MYsql資料庫,怎麼可以在python中看到中文
#!/usr/bin/python
# encoding: utf-8
# filename: dbi.py
class DBI:
'''this is a private abstract Database Interface class'''
def __init__(self, **kwg):
self.config = dict(kwg)
def open(self):
'''use special driver to connect RDBMS and generate cursor'''
pass
def close(self):
self.curr.close()
self.conn.close()
self.curr = None
self.conn = None
def __enter__(self):
self.open()
return self
def __exit__(self, *args):
self.close()
...
#!/usr/bin/python
# encoding: utf-8
# filename: mydbi.py
import MySQLdb
import dbi
class MyDBI(DBI):
def open(self):
self.conn = MySQLdb.connect(
host = self.config.get('host','localhost'),
user = self.config.get('user','root'),
passwd = self.config.get('passwd',''),
db = self.config.get('db','mysql'),
charset = self.config.get('charset','utf8'),
use_unicode = self.config.get('use_unicode',True),
)
self.curr = self.conn.cursor()
② 掌握Python 操作 MySQL 資料庫
本文Python 操作 MySQL 資料庫需要是使用到 PyMySQL 驅動
Python 操作 MySQL 前提是要安裝好 MySQL 資料庫並能正常連接使用,安裝步驟詳見下文。
注意: 安裝過程我們需要通過開啟管理員許可權來安裝,否則會由於許可權不足導致無法安裝。
首先需要先下載 MySQL 安裝包, 官網下載地址 下載對應版本即可,或直接在網上拉取並安裝:
許可權設置:
初始化 MySQL:
啟動 MySQL:
查看 MySQL 運行狀態:
Mysql安裝成功後,默認的root用戶密碼為空,你可以使用以下命令來創建root用戶的密碼:
登陸:
創建資料庫:
查看資料庫:
PyMySQL 模塊使用 pip命令進行安裝:
假如系統不支持 pip 命令,可以使用以下方式安裝:
pymysql .connect 函數:連接上資料庫
輸出結果顯示如下:表面資料庫連接成功
使用 pymysql 的 connect() 方法連接資料庫,connect 參數解釋如下:
conn.cursor():獲取游標
如果要操作資料庫,光連接數據是不夠的,咱們必須拿到操作資料庫的游標,才能進行後續的操作,游標的主要作用是用來接收資料庫操作後的返回結果,比如讀取數據、添加數據。通過獲取到的資料庫連接實例 conn 下的 cursor() 方法來創建游標,實例如下:
輸出結果為:
cursor 返回一個游標實例對象,其中包含了很多操作數據的方法,如執行sql語句,sql 執行命令: execute() 和 executemany()
execute(query,args=None):
executemany(query,args=None):
其他游標對象如下表:
完整資料庫連接操作實例如下:
以上結果輸出為:
創建表代碼如下:
如下所示資料庫表創建成功:
插入數據實現代碼:
插入數據結果:
Python查詢Mysql使用 fetchone() 方法獲取單條數據, 使用fetchall() 方法獲取多條數據。
查詢數據代碼如下:
輸出結果:
DB API中定義了一些資料庫操作的錯誤及異常,下表列出了這些錯誤和異常:
本文給大家介紹 Python 如何連接 Mysql 進行數據的增刪改查操作,文章通過簡潔的代碼方式進行示例演示,給使用 Python 操作 Mysql 的工程師提供支撐。
③ python查mysql資料庫 返回結果的中文亂碼
這個不是亂碼,這是 unicode 字元串在內存中的形式,python 在命令行界面輸出的數據,如果不是ASCII碼,則會以十六進制形式輸出。需要輸出看見中文的話,代碼如下。
#利用第三方庫uniout,如果沒有就安裝:pipinstalluniout
importuniout
listnine=['梨','橘子','蘋果','香蕉']
printlistnine