Zhong__pymysql基本使用
生活随笔
收集整理的這篇文章主要介紹了
Zhong__pymysql基本使用
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
時(shí)間:2020.12.02
環(huán)境:Python3
目的:簡(jiǎn)單使用pymysql庫(kù)
說(shuō)明:
作者:Zhong QQ交流群:121160124 歡迎加入!
?
新建一個(gè)用于演示的MySQL表
CREATE TABLE `test_demo` (`id` int(11) NOT NULL AUTO_INCREMENT,`key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,`value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,`create_time` datetime(0) NOT NULL,`update_time` datetime(0) NOT NULL ON UPDATE CURRENT_TIMESTAMP(0),PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 101 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;?安裝pymysql
pip3 install -i https://pypi.douban.com/simple pymysql常用的方法代碼
?假設(shè)mysql存在用戶名為 admin 密碼為 Pass@123 的用戶
#!/usr/bin/python3 import pymysql import datetime# 獲取當(dāng)前的時(shí)間 time_now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")try:# 建立數(shù)據(jù)庫(kù)連接db_conn = pymysql.connect(host='127.0.0.1',port=3306,user='admin',passwd='Pass@123',db='test_demo')# 使用 cursor() 方法創(chuàng)建一個(gè)游標(biāo)對(duì)象 cursorcursor = db_conn.cursor()# 1. 提交一條sql語(yǔ)句sql = """SELECT * FROM test_demo""" # 要執(zhí)行的sql語(yǔ)句rowcount = cursor.execute(sql) # 使用execute()方法執(zhí)行SQL rowcount 這是一個(gè)只讀屬性 返回執(zhí)行execute()方法后影響的行數(shù)results = cursor.fetchone() # 使用 fetchone() 方法獲取單條數(shù)據(jù)# results = cursor.fetchmany(10) # 使用 fetchmany(size) 方法獲取指定size條數(shù)據(jù) size為整數(shù)類型 默認(rèn)為1# results = cursor.fetchall() # 使用fetchall() 方法獲取所有數(shù)據(jù)# 2. executemany()方法提交多條插入數(shù)據(jù)# sql = """INSERT INTO test_demo (`key`, `value`, `create_time`, `update_time`) VALUES (%s, %s, %s, %s);""" # 要執(zhí)行的sql語(yǔ)句# ls = []# # 生成100條數(shù)據(jù)# for i in range(100):# value = (str(i), "test_%s" % i, time_now, time_now)# ls.append(value)# # 傳入sql語(yǔ)句與數(shù)據(jù)列表 ls會(huì)自動(dòng)拆包# rowcount = cursor.executemany(sql, ls)# results = cursor.fetchall() # 插入操作返回結(jié)果為()# 提交 在改變表內(nèi)容的情況下使用如 插入操作 查詢不需要 多條數(shù)據(jù)寫入在for循環(huán)外面聲明就可以db_conn.commit()# 關(guān)閉游標(biāo) 一般不需要聲明# cursor.close()# 關(guān)閉數(shù)據(jù)庫(kù)連接db_conn.close()print("影響的行數(shù): \n", rowcount)print("返回的結(jié)果: \n", results)except Exception as e:print("Error: \n", e)# 如果發(fā)生錯(cuò)誤則回滾db_conn.rollback()加入qq群? 關(guān)注微信公眾號(hào)
?
?
總結(jié)
以上是生活随笔為你收集整理的Zhong__pymysql基本使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 电力系统分析第三版 第四章 电力系统潮流
- 下一篇: 传统算法与神经网络算法,神经网络是谁提出