使用PyMySQL操作mysql資料庫

2022-09-18 06:36:27 字數 2966 閱讀 3826

python版本 >=2.6或3.3

mysql版本》=4.1

使用pip安裝,在命令列執行如下命令:

1pip install pymysql

其中的x.x是版本(目前可以獲取的最新版本是0.6.6)。

1python setup.py install

建議使用pip安裝。

連線資料庫如下:12

3456

78910

importpymysql.cursors

# connect to the database

connection=pymysql.connect(host='127.0.0.1',

port=3306,

user='root',

password='zhyea.com',

db='employees',

charset='utf8mb4',

cursorclass=pymysql.cursors.dictcursor)

也可以使用字典進行連線引數的管理,我覺得這樣子更優雅一些:12

3456

78910

1112

1314

importpymysql.cursors

config=

# connect to the database

connection=pymysql.connect(**config)

插入資料:

執行sql語句前需要獲取cursor,因為配置預設自動提交,故在執行sql語句後需要主動commit,最後不要忘記關閉連線:12

3456

78910

1112

1314

1516

1718

1920

2122

2324

2526

2728

2930

fromdatetimeimportdate,datetime,timedelta

importpymysql.cursors

#連線配置資訊

config=

# 建立連線

connection=pymysql.connect(**config)

# 獲取明天的時間

tomorrow=datetime.now().date()+timedelta(days=1)

# 執行sql語句

try:

withconnection.cursor()ascursor:

# 執行sql語句,插入記錄

sql='insert into employees (first_name, last_name, hire_date, gender, birth_date) values (%s, %s, %s, %s, %s)'

cursor.execute(sql,('robin','zhyea',tomorrow,'m',date(1989,6,14)));

# 沒有設定預設自動提交,需要主動提交,以儲存所執行的語句

connection.commit()

finally:

connection.close();

執行查詢:12

3456

78910

1112

1314

1516

1718

1920

2122

2324

2526

2728

2930

3132

3334

importdatetime

importpymysql.cursors

#連線配置資訊

config=

# 建立連線

connection=pymysql.connect(**config)

# 獲取僱傭日期

hire_start=datetime.date(1999,1,1)

hire_end=datetime.date(2016,12,31)

# 執行sql語句

try:

withconnection.cursor()ascursor:

# 執行sql語句,進行查詢

sql='select first_name, last_name, hire_date from employees where hire_date between %s and %s'

cursor.execute(sql,(hire_start,hire_end))

# 獲取查詢結果

result=cursor.fetchone()

print(result)

# 沒有設定預設自動提交,需要主動提交,以儲存所執行的語句

connection.commit()

finally:

connection.close();

這裡的查詢支取了一條查詢結果,查詢結果以字典的形式返回:

從結果集中獲取指定數目的記錄,可以使用fetchmany方法:

1result=cursor.fetchmany(2)

不過不建議這樣使用,最好在sql語句中設定查詢的記錄總數。

獲取全部結果集可以使用fetchall方法:

1result=cursor.fetchall()

因為只有兩條記錄,所以上面提到的這兩種查詢方式查到的結果是一樣的:

1[,]

在django中使用是我找這個的最初目的。目前同時支援python3.4、django1.8的資料庫backend並不好找。這個是我目前找到的最好用的。12

3456

78910

databases=

}關鍵是這裡:我們還需要在站點的__init__.py檔案中新增如下的內容:12

importpymysql

pymysql.install_as_mysqldb()

使用PyMySQL操作mysql資料庫

使用pymysql操作mysql資料庫 python版本 2.6或3.3 mysql版本 4.1 使用pip安裝,在命令列執行如下命令 1 pip install pymysql 其中的x.x是版本 目前可以獲取的最新版本是0.6.6 1 python setup.py install 建議使用pi...

使用PyMySQL操作MySQL資料庫

pip3 install pymysql或者python3 m pip install pymysql 注意 連線之前先確保你已經安裝mysql資料庫 mysql config conn pymysql.connect mysql config 資料庫連線 cur conn.cursor 游標物件m...

PyMySQL的基本操作

使用pymysql庫對資料庫進行操作 pymysql 是在 python3.x 版本中用於連線 mysql 伺服器的乙個庫,python2中則使用mysqldb。pymysql 遵循 python 資料庫 api v2.0 規範,幷包含了 pure python mysql 客戶端庫。pip ins...