本篇文章主要用 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 ...