Python高階 連線 Mysql

2021-07-24 13:08:25 字數 2488 閱讀 6790

本篇文章主要用 pymysql 來實現python3 mysql資料的連線。

$ git clone

$ cd pymysql/

$ python3 setup.py install

安裝過程如下圖所示:

#開啟資料庫連線

db = pymysql.connect('localhost', 'username', 'password', 'testdb')

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

cursor = db.cursor()

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

cursor.execute("select version()")

#使用 fetchone() 方法獲取單條資料.

data = cursor.fetchone()

print("database version : %s " % data) #輸出結果: 說明資料庫連線成功

db.close() # 關閉資料庫連線

已經在我的資料庫下建立了 user 這張表,字段分別有id,name,age,以下例項使用 sql 的 insert 語句向 user 表中插入一條資料。

#插入資料('jf',26)到表中

import pymysql

db = pymysql.connect('localhost', 'username', 'password', 'testdb')

cursor = db.cursor()

# sql 插入語句

sql = """insert into user(name,age) values ('jf',26)"""

try:

cursor.execute(sql)

db.commit()

except:

db.rollback()

db.close()

python查詢mysql使用 fetchone() 方法獲取單條資料, 使用fetchall() 方法獲取多條資料。

- fetchone(): 該方法獲取下乙個查詢結果集。結果集是乙個物件。

- fetchall(): 接收全部的返回結果行。

- rowcount: 這是乙個唯讀屬性,並返回執行execute()方法後影響的行數。

#查詢 id=1的資料記錄

import pymysql

db = pymysql.connect('localhost', ' username', 'password', 'testdb')

cursor = db.cursor()

sql = "select * from employee where id=1"

try:

cursor.execute(sql)

results = cursor.fetchall()

for row in results:

id = row[0]

name=row[1]

age = row[2]

print("id=%d,name=%s,age=%d" % (id,name, age))

#id=1,name=jf,age=26

except:

print('error,unable to fetch data')

#id=1的年齡增加一歲

import pymysql

db = pymysql.connect('localhost', 'username', 'password', 'testdb')

cursor = db.cursor()

sql = "update user set age=age+1 where id=1"

try:

cursor.execute(sql)

db.commit()

except:

db.rollback()

db.close()

#年齡大於20歲的刪除

import pymysql

db = pymysql.connect('localhost', 'username', 'password', 'testdb')

cursor = db.cursor()

sql = "delete from employee where age>20"

try:

cursor.execute(sql)

db.commit()

except:

db.rollback()

db.close()

MySQL高階查詢 連線查詢例項

使用sql查詢很簡單,很基礎的sqlect語句查詢。如果想從多個表查詢比較複雜的資訊,就會使用高階查詢實現。常見的高階查詢包括多連線查詢,外連線查詢與組合查詢等,今天我先學習最常用的連線查詢。我先以一張person表 id,name,phone,age 與乙個student表 id,name,qq,...

Mysql高階查詢 內連線和外連線詳解

一 內連線 inner join 1 等值連線 概述 指使用等號 比較兩個表的連線列的值,相當於兩表執行笛卡爾後,取兩表鏈結列值相等的記錄。語法 select 列 from 表1 inner join 表2 on 表1.列 表2.列 示例 2 非等值連線 概述 指使用大於號 或小於號 語法 sele...

python連線MySQL示例

python連線mysql示例一 開啟資料庫連線 connect,connect,connection import pymysql db pymysql.connect host localhost port 3306 user root passwd 123456 db stu charset ...