1. 程式人生 > 實用技巧 >Python3-2020-測試開發-25- 操作資料庫(MySQL)

Python3-2020-測試開發-25- 操作資料庫(MySQL)

1. 匯入模組

import pymysql

2. 建立資料庫連線

# 創建於資料庫的連線
        db = pymysql.connect(
            host='localhost',
            user='root',
            password='123456',
            db='mybatis',
            port=3306,
            charset='utf8'
        )

3. 建立遊標

#建立遊標
        cur = db.cursor()

4. sql語句

#sql
        sql = "select * from orders;"

5. 執行sql語句

cur.execute(sql)

5.1 執行插入語句

 sql ="insert into orders(user_id,number,createtime) values (%s,%s,%s);"

        # 插入單條資料
        cur.execute(sql,values)

        # 插入多條資料
        cur.executemany(sql,values)

6. 獲取結果

res = cur.fetchall()
        
print(res)

具體例子:

# coding=utf8


import pymysql

sql2 = ""

def select_db():
    try:

        # 創建於資料庫的連線
        db = pymysql.connect(
            host='localhost',
            user='root',
            password='123456',
            db='mybatis',
            port=3306,
            charset='utf8'
        )
        
print("連線成功") #建立遊標 cur = db.cursor() #sql sql = "select * from orders;" cur.execute(sql) res = cur.fetchall() print(res) return res except Exception as e: print(e) finally: cur.close() db.close() def insert_db(values): try: # 創建於資料庫的連線 db = pymysql.connect( host='localhost', user='root', password='123456', db='mybatis', port=3306, charset='utf8' ) print("連線成功") #建立遊標 cur = db.cursor() sql ="insert into orders(user_id,number,createtime) values (%s,%s,%s);" # 插入單條資料 #cur.execute(sql,values) # 插入多條資料 cur.executemany(sql,values) # 提交事務 db.commit() except Exception as e: print(e) db.rollback() finally: db.close() cur.close() # insert_db([(10,'11111','2015-02-04 13:22:35'),(10,'11111','2015-02-04 13:22:35'),(10,'11111','2015-02-04 13:22:35'),(10,'11111','2015-02-04 13:22:35'),]) result = select_db() for res in result: id = res[0] u_id = res[1] num = res[2] c_time = res[3] note = res[4] print("id:",id,"u_id:",u_id,"num:",num,"c_time:",c_time,"note:",note)