python訪問mysql
- 2020 年 1 月 14 日
- 筆記
Python訪問mysql需要第三方模組MySQLdb
1.安裝MySQLdb
首先先把mysql的bin目錄加到你的PATH中
下載來的MySQLdb 源碼包解包後
進入解壓出來的目錄
編輯一下site.cfg文件
[quincy@Quincy MySQL-python-1.2.3]$ vim site.cfg
找到#mysql_config = /usr/local/bin/mysql_config
將#去掉,後面寫上你的mysql_config的目錄
比如我的 mysql_config = /app/mysql-5.6.13/bin/mysql_config
並把第七行的
threadsafe = True改為threadsafe = False
然後:wq
執行
[quincy@Quincy MySQL-python-1.2.3]$ python setup.py build
沒問題的話就執行
[quincy@Quincy MySQL-python-1.2.3]$ sudo python setup.py install 安裝好了就測試一下
>>> import MySQLdb 這回又出錯了
ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory
這要在/usr/lib下建立一個到mysql的lib目錄下的符號鏈接
ln -s mysql安裝目錄/lib/libmysqlclient.so /usr/lib/libmysqlclient.so.18
比如我的是
[quincy@Quincy ~]$ sudo ln -s /app/mysql-5.6.13/lib/libmysqlclient.so /usr/lib/libmysqlclient.so.18
許可權不夠記得sudo一下
先在import就沒問題了
2.使用MySQLdb模組
2.1建立連接
conn=MySQLdb.connect(host=主機地址,user=用戶名,passwd=密碼,db=資料庫,charset=語言編碼)
如果是中文charset不寫會出現亂碼
2.2獲得游標
cursor=conn.cursor()
操作必須要有游標
2.3查詢
cursor.execute("select語句")
cursor.fetchone()獲得一行記錄
cursor.fetchmany(n)獲得n條記錄
cursor.fetchall()獲得全部記錄
中文字元:如果直接用 print cursor.fetchxx()會顯示unicode元組
遍歷的話就會輸出中文字元了
2.4插入
cursor.execute(「insert into 表名 values(%s)」,待插入的元組) 此時只能插入一條記錄
插入多條記錄
cursor.executemany("insert into 表名 values (%s,%s)",要插入的記錄的元組列表)
2.5刪除
cursor.execute("delete from語句")
2.6更改
cursor.execute("update語句")
2.7釋放連接
用完要記得釋放連接
cursor.close()
conn.close()