Python3 MySQL 資料庫連線

2021-08-19 01:56:38 字數 1918 閱讀 8248

pymysql 是在 python3.x 版本中用於連線 mysql 伺服器的乙個庫,python2中則使用mysqldb。

pymysql 遵循 python 資料庫 api v2.0 規範,幷包含了 pure-python mysql 客戶端庫。

一. 安裝資料庫api介面

pip install pymysql
二. 對資料庫進行查詢的操作

import pymysql  #匯入資料庫介面庫

db = pymysql.connect(

host = 'locaihost',

user = 'root',

passwd = '123456',

db = 'company',

port = 3306,

charset = 'utf8'

) #連線資料庫(host:主機,user:使用者,passwd:密碼,db:資料庫名字,port:埠號,)

cursor = db.cursor() # 使用 cursor() 方法建立乙個游標物件 cursor

sql = ''' slect * from tb_dept '''

# 查詢語句

cursor.execute(sql) # 使用 execute() 方法執行 sql 查詢

data = cursor.fetchall() # 使用 fetchall() 方法獲取所有資料.

for i in data:

print(i)

db.close() # 返回資料是以元組形式存在,逐條列印返回的資料

三. 對資料庫進行插入資料操作

import pymysql  #匯入資料庫介面庫

db = pymysql.connect(

host = 'locaihost',

user = 'root',

passwd = '123456',

db = 'company',

port = 3306,

charset = 'utf8'

) #連線資料庫(host:主機,user:使用者,passwd:密碼,db:資料庫名字,port:埠號,)

cursor = db.cursor() # 獲取游標

try:

sql = ''' inset into grage values(8,'數學','高階班','2018-4-5') '''

cursor.execte(sql)

db.commit()

except:

db.rollback()

data = cursor.fetchall()

db.close()

四.對資料庫進行刪除操作

import pymysql  #匯入資料庫介面庫

db = pymysql.connect(

host = 'locaihost',

user = 'root',

passwd = '123456',

db = 'company',

port = 3306,

charset = 'utf8'

) #連線資料庫(host:主機,user:使用者,passwd:密碼,db:資料庫名字,port:埠號,)

cursor = db.cursor() # 獲取游標

try:

sql = ''' delete from tb_dept where deptno = 10 '''

cursor.excute(sql)

db.commit # 執行sql語句

except:

db.rollback() # 發生錯誤時回滾

db.close()

python3 MySQL資料庫操作

在python2.x中用習慣了mysqldb,但是在python3.x中已經不支援那個元件了。取而代之的是 pip3 install pymysql另外,mysql官方出了 pip3 install mysql.connector也是可以的。如下 import pymysql 連線 conn pym...

python3 mysql插入資料衝突

1.問題 使用python3 進行資料庫插入報以下錯誤 1267,illegal mix of collations latin1 swedish ci,implicit and utf8 general ci,coercible for operation 2.排查 資料連線已經是utf 8 再一...

Python3 MySQL正常連線與ssh跳板連線

1.mysql.connector pip install mysql.connector 2.pymysql pip install pymysql 3.sshtunnel pip install sshtunnel import mysql.connector db mysql.connecto...