使用pip安裝python
pip install pymysql
pycham模塊安裝mysql
[File] >> [settings] >> [Project: python] >> [Project Interpreter] >> [Install按鈕]
Python統一了數據庫鏈接的接口,因此 pymysql 和 MySQLdb 在使用方式上是相似的: pymysql.Connect()參數說明 host(str): MySQL服務器地址 port(int): MySQL服務器端口號 user(str): 用戶名 passwd(str): 密碼 db(str): 數據庫名稱 charset(str): 鏈接編碼 connection對象支持的方法 cursor() 使用該鏈接建立並返回遊標 commit() 提交當前事務 rollback() 回滾當前事務 close() 關閉鏈接 cursor對象支持的方法 execute(op) 執行一個數據庫的查詢命令 fetchone() 取得結果集的下一行 fetchmany(size) 獲取結果集的下幾行 fetchall() 獲取結果集中的全部行 rowcount() 返回數據條數或影響行數 close() 關閉遊標對象
# 導入pymysql模塊 import pymysql # 鏈接database conn = pymysql.connect( host="123.207.251.121", user="root", password="159357", db ="test", charset ="utf8") # 獲得一個能夠執行SQL語句的光標對象 cursor = conn.cursor() # 執行完畢返回的結果集默認以元組顯示 # 獲得一個能夠執行SQL語句而且將結果做爲字典返回的遊標 # cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # 定義要執行的SQL語句 sql = "select version()" # 執行SQL語句 cursor.execute(sql) # #使用fetchone()方法獲取一條數據 data = cursor.fetchone() print("Mysql version : %s"%data) #插入數據 sql = "INSERT INTO account (id, name, balance) VALUES ( '%d', '%s', %.2f )" data = (3, 'xinyi', 5000) cursor.execute(sql % data) conn.commit() print('成功插入', cursor.rowcount, '條數據') # 修改數據 sql = "UPDATE account SET balance = %.2f WHERE name = '%s' " data = (8888, 'lili') cursor.execute(sql % data) conn.commit() print('成功修改', cursor.rowcount, '條數據') # 刪除數據 sql = "DELETE FROM account WHERE name = '%s' " data = ("alex") cursor.execute(sql % data) conn.commit() print('成功刪除', cursor.rowcount, '條數據') # 查詢數據 sql = "SELECT name,balance FROM account " cursor.execute(sql) for row in cursor.fetchall(): print("Name:%s\tSaving:%.2f" % row) print('共查找出', cursor.rowcount, '條數據') # 遊標的移動 # 回滾 # 相對位置 sql = "SELECT name,balance FROM account " cursor.execute(sql) print(cursor.fetchone()) print(cursor.fetchone()) cursor.scroll(-1,mode="relative") print(cursor.fetchone()) # 絕對位置 sql = "SELECT name,balance FROM account " cursor.execute(sql) print(cursor.fetchone()) print(cursor.fetchone()) cursor.scroll(0,mode="absolute") print(cursor.fetchone()) # 關閉光標對象 cursor.close() # 關閉數據庫鏈接 conn.close()
原始數據:sql
插入:數據庫
修改:服務器
刪除:fetch
查詢:編碼
遊標移動:對象
相對位置:blog
Mysql version : 5.5.60-MariaDB ('lili', 8888.0) ('xinyi', 5000.0) ('xinyi', 5000.0)
絕對位置:接口
Mysql version : 5.5.60-MariaDB ('lili', 8888.0) ('xinyi', 5000.0) ('lili', 8888.0)