Python操作MySQL

1、pip install pymysql

2、

coding:UTF-8

import traceback, pymysql # pip install pymysql

def main(): # 主函数

try:

conn = pymysql.connect(host="localhost", port=3306, charset="UTF8", user="root", password="mysqladmin",

database="yootk") # 数据库连接

print("MySQL数据库连接成功,当前的数据库版本为:%s" % conn.get_server_info())

print("MySQL数据库连接成功,事务提交模式:%s" % conn.get_autocommit())

except Exception:

print(traceback.format_exc())

finally:

conn.close() # 数据库为资源操作,资源操作的最后必须关闭

if name == "main": # 判断程序执行名称

main() # 调用主函数

3、

coding:UTF-8

import traceback, pymysql # pip install pymysql

def main(): # 主函数

try:

conn = pymysql.connect(host="localhost", port=3306, charset="UTF8", user="root", passwd="mysqladmin",

database="yootk") # 数据库连接

print("MySQL数据库连接成功,当前的数据库版本为:%s" % conn.get_server_info())

print("MySQL数据库连接成功,事务提交模式:%s" % conn.get_autocommit())

except Exception:

print(traceback.format_exc())

finally:

conn.close() # 数据库为资源操作,资源操作的最后必须关闭

if name == "main": # 判断程序执行名称

main() # 调用主函数

4、

coding:UTF-8

import traceback, pymysql # pip install pymysql

传统的pymysql组件支持的是原生的SQL

SQL = "INSERT INTO user(name,age,birthday,salary,note) VALUES ('小李老师', 18, '2010-09-19', 8000.0, 'www.yootk.com')"

def main(): # 主函数

try:

conn = pymysql.connect(host="localhost", port=3306, charset="UTF8", user="root", passwd="mysqladmin",

database="yootk") # 数据库连接

cmd = conn.cursor() # 获得一个数据库的操作对象

cmd.execute(SQL) # 执行SQL语句

conn.commit() # 提交事务,如果不提交事务,更新不生效

print("更新影响的数据行数:%s" % cmd.rowcount)

print("最后一次增长ID:%s" % cmd.lastrowid)

except Exception:

print(traceback.format_exc())

finally:

conn.close() # 数据库为资源操作,资源操作的最后必须关闭

if name == "main": # 判断程序执行名称

main() # 调用主函数

5、

coding:UTF-8

import traceback, pymysql # pip install pymysql

传统的pymysql组件支持的是原生的SQL

SQL = "UPDATE user SET name='周沐言', age=26 WHERE uid=26"

def main(): # 主函数

try:

conn = pymysql.connect(host="localhost", port=3306, charset="UTF8", user="root",

passwd="mysqladmin", database="yootk") # 数据库连接

cmd = conn.cursor() # 获得一个数据库的操作对象

cmd.execute(SQL) # 执行SQL语句

conn.commit() # 提交事务,如果不提交事务,更新不生效

print("更新影响的数据行数:%s" % cmd.rowcount)

except Exception:

print(traceback.format_exc())

finally:

conn.close() # 数据库为资源操作,资源操作的最后必须关闭

if name == "main": # 判断程序执行名称

main() # 调用主函数

6、

coding:UTF-8

import traceback, pymysql # pip install pymysql

传统的pymysql组件支持的是原生的SQL

SQL = "DELETE FROM user WHERE uid=26"

def main(): # 主函数

try:

conn = pymysql.connect(host="localhost", port=3306, charset="UTF8", user="root",

passwd="mysqladmin", database="yootk") # 数据库连接

cmd = conn.cursor() # 获得一个数据库的操作对象

cmd.execute(SQL) # 执行SQL语句

conn.commit() # 提交事务,如果不提交事务,更新不生效

print("更新影响的数据行数:%s" % cmd.rowcount)

except Exception:

print(traceback.format_exc())

finally:

conn.close() # 数据库为资源操作,资源操作的最后必须关闭

if name == "main": # 判断程序执行名称

main() # 调用主函数

7、

coding:UTF-8

import traceback, pymysql # pip install pymysql

传统的pymysql组件支持的是原生的SQL

SQL = "SELECT uid,name,age,birthday,salary,note FROM user"

def main(): # 主函数

try:

conn = pymysql.connect(host="localhost", port=3306, charset="UTF8", user="root",

passwd="mysqladmin", database="yootk") # 数据库连接

cmd = conn.cursor() # 获得一个数据库的操作对象

cmd.execute(SQL) # 执行SQL查询语句

for user_row in cmd.fetchall(): # 返回查询结果

uid = user_row[0]

name = user_row[1]

age = user_row[2]

birthday = user_row[3]

salary = user_row[4]

note = user_row[5]

print("用户ID:%s、姓名:%s、年龄:%s、birthday:%s、salary:%s、note:%s" % (uid, name, age, birthday, salary, note))

except Exception:

print(traceback.format_exc())

finally:

conn.close() # 数据库为资源操作,资源操作的最后必须关闭

if name == "main": # 判断程序执行名称

main() # 调用主函数

8、

coding:UTF-8

import traceback, pymysql # pip install pymysql

传统的pymysql组件支持的是原生的SQL

SQL = "SELECT COUNT(*) FROM user"

def main(): # 主函数

try:

conn = pymysql.connect(host="localhost", port=3306, charset="UTF8", user="root",

passwd="mysqladmin", database="yootk") # 数据库连接

cmd = conn.cursor() # 获得一个数据库的操作对象

cmd.execute(SQL) # 执行SQL查询语句

print("user表的数据行数:%s" % cmd.fetchone())

except Exception:

print(traceback.format_exc())

finally:

conn.close() # 数据库为资源操作,资源操作的最后必须关闭

if name == "main": # 判断程序执行名称

main() # 调用主函数

9、

coding:UTF-8

import traceback, pymysql # pip install pymysql

name = "Mr'Yootk" # 模拟为键盘输入

age = 16 # 模拟为键盘输入

birthday = "2016-06-28" # 模拟为键盘输入

salary = 6000.00 # 模拟为键盘输入

note = "www.yootk.com"

SQL = "INSERT INTO user(name,age,birthday,salary,note) VALUES ('%s', %s, '%s', %s, '%s')" % (name, age, birthday, salary, note)

print(SQL)

def main(): # 主函数

try:

conn = pymysql.connect(host="localhost", port=3306, charset="UTF8", user="root",

passwd="mysqladmin", database="yootk") # 数据库连接

cmd = conn.cursor() # 获得一个数据库的操作对象

cmd.execute(SQL) # 执行SQL语句

conn.commit() # 提交事务,如果不提交事务,更新不生效

print("更新影响的数据行数:%s" % cmd.rowcount)

print("最后一次增长ID:%s" % cmd.lastrowid)

except Exception:

print(traceback.format_exc())

finally:

conn.close() # 数据库为资源操作,资源操作的最后必须关闭

if name == "main": # 判断程序执行名称

main() # 调用主函数

10、

coding:UTF-8

import traceback, pymysql # pip install pymysql

name = "Mr'Yootk" # 模拟为键盘输入

age = 16 # 模拟为键盘输入

birthday = "2016-06-28" # 模拟为键盘输入

salary = 6000.00 # 模拟为键盘输入

note = "www.yootk.com"

SQL = "INSERT INTO user(name,age,birthday,salary,note) VALUES (%s, %s, %s, %s, %s)" # 预处理的模式

def main(): # 主函数

try:

conn = pymysql.connect(host="localhost", port=3306, charset="UTF8", user="root",

passwd="mysqladmin", database="yootk") # 数据库连接

cmd = conn.cursor() # 获得一个数据库的操作对象

cmd.execute(query=SQL, args=[name, age, birthday, salary, note]) # 执行SQL语句

conn.commit() # 提交事务,如果不提交事务,更新不生效

print("更新影响的数据行数:%s" % cmd.rowcount)

print("最后一次增长ID:%s" % cmd.lastrowid)

except Exception:

print(traceback.format_exc())

finally:

conn.close() # 数据库为资源操作,资源操作的最后必须关闭

if name == "main": # 判断程序执行名称

main() # 调用主函数

11、

coding:UTF-8

import traceback, pymysql # pip install pymysql

传统的pymysql组件支持的是原生的SQL

SQL = "SELECT uid,name,age,birthday,salary,note FROM user WHERE uid=%s" # 占位符

def main(): # 主函数

try:

conn = pymysql.connect(host="localhost", port=3306, charset="UTF8", user="root",

passwd="mysqladmin", database="yootk") # 数据库连接

cmd = conn.cursor() # 获得一个数据库的操作对象

cmd.execute(query=SQL, args=[1]) # 执行SQL查询语句

for user_row in cmd.fetchall(): # 返回查询结果

uid = user_row[0]

name = user_row[1]

age = user_row[2]

birthday = user_row[3]

salary = user_row[4]

note = user_row[5]

print("用户ID:%s、姓名:%s、年龄:%s、birthday:%s、salary:%s、note:%s" % (uid, name, age, birthday, salary, note))

except Exception:

print(traceback.format_exc())

finally:

conn.close() # 数据库为资源操作,资源操作的最后必须关闭

if name == "main": # 判断程序执行名称

main() # 调用主函数

12、

coding:UTF-8

import traceback, pymysql # pip install pymysql

传统的pymysql组件支持的是原生的SQL

SQL = "SELECT uid,name,age,birthday,salary,note FROM user WHERE name LIKE %s LIMIT %s, %s" # 占位符

def main(): # 主函数

keyword= "%沐言%" # 模糊查询关键字

current_page = 1 # 当前所在页

line_size = 2 # 每页显示的数据行

try:

conn = pymysql.connect(host="localhost", port=3306, charset="UTF8", user="root",

passwd="mysqladmin", database="yootk") # 数据库连接

cmd = conn.cursor() # 获得一个数据库的操作对象

cmd.execute(query=SQL, args=[keyword, (current_page - 1) * line_size , line_size]) # 执行SQL查询语句

for user_row in cmd.fetchall(): # 返回查询结果

uid = user_row[0]

name = user_row[1]

age = user_row[2]

birthday = user_row[3]

salary = user_row[4]

note = user_row[5]

print("用户ID:%s、姓名:%s、年龄:%s、birthday:%s、salary:%s、note:%s" % (uid, name, age, birthday, salary, note))

except Exception:

print(traceback.format_exc())

finally:

conn.close() # 数据库为资源操作,资源操作的最后必须关闭

if name == "main": # 判断程序执行名称

main() # 调用主函数

13、

coding:UTF-8

import traceback, pymysql # pip install pymysql

SQL = "INSERT INTO user(name,age,birthday,salary,note) VALUES (%s, %s, %s, %s, %s)" # 预处理的模式

def main(): # 主函数

try:

conn = pymysql.connect(host="localhost", port=3306, charset="UTF8", user="root",

passwd="mysqladmin", database="yootk") # 数据库连接

cmd = conn.cursor() # 获得一个数据库的操作对象

data_list = [] # 创建一个列表

for num in range(1001):

data_list.append(("沐言优拓 - %s" % num, 18, "2008-08-19", 5000.00, "www.yootk.com"))

if num % 20 == 0: # 每保存20条数据就进行更新

cmd.executemany(query=SQL, args=data_list)

data_list.clear()

conn.commit() # 提交事务,如果不提交事务,更新不生效

except Exception:

print(traceback.format_exc())

finally:

conn.close() # 数据库为资源操作,资源操作的最后必须关闭

if name == "main": # 判断程序执行名称

main() # 调用主函数

14、

coding:UTF-8

import traceback, pymysql # pip install pymysql

SQL = "INSERT INTO user(name,age,birthday,salary,note) VALUES (%s, %s, %s, %s, %s)" # 预处理的模式

def main(): # 主函数

try:

conn = pymysql.connect(host="localhost", port=3306, charset="UTF8", user="root",

passwd="mysqladmin", database="yootk") # 数据库连接

conn.autocommit(True) # 自动事务提交

cmd = conn.cursor() # 获得一个数据库的操作对象

cmd.execute(query=SQL, args=("李沐言", 18, "2008-08-19", 5000.00, "www.yootk.com"))

except Exception:

print(traceback.format_exc())

finally:

conn.close() # 数据库为资源操作,资源操作的最后必须关闭

if name == "main": # 判断程序执行名称

main() # 调用主函数

15、

coding:UTF-8

import traceback, pymysql # pip install pymysql

SQL = "INSERT INTO user(name,age,birthday,salary,note) VALUES (%s, %s, %s, %s, %s)" # 预处理的模式

def main(): # 主函数

try:

conn = pymysql.connect(host="localhost", port=3306, charset="UTF8", user="root",

passwd="mysqladmin", database="yootk", autocommit=True) # 数据库连接

cmd = conn.cursor() # 获得一个数据库的操作对象

cmd.execute(query=SQL, args=("王沐言", 18, "2008-08-19", 5000.00, "www.yootk.com"))

except Exception:

print(traceback.format_exc())

finally:

conn.close() # 数据库为资源操作,资源操作的最后必须关闭

if name == "main": # 判断程序执行名称

main() # 调用主函数

16、

coding:UTF-8

import traceback, pymysql # pip install pymysql

SQL_A = "INSERT INTO user(name, ,note) VALUES ('小李', 'www.yootk.com')"

SQL_B = "INSERT INTO user(name, ,note) VALUES ('Mr'Yootk', 'www.yootk.com')"

SQL_C = "INSERT INTO user(name, ,note) VALUES ('小沐', 'www.yootk.com')"

def main(): # 主函数

try:

conn = pymysql.connect(host="localhost", port=3306, charset="UTF8", user="root",

passwd="mysqladmin", database="yootk", autocommit=True) # 数据库连接

cmd = conn.cursor() # 获得一个数据库的操作对象

cmd.execute(query=SQL_A)

cmd.execute(query=SQL_B)

cmd.execute(query=SQL_C)

except Exception:

print(traceback.format_exc())

finally:

conn.close() # 数据库为资源操作,资源操作的最后必须关闭

if name == "main": # 判断程序执行名称

main() # 调用主函数

17、

coding:UTF-8

import traceback, pymysql # pip install pymysql

SQL_A = "INSERT INTO user(name, ,note) VALUES ('小李', 'www.yootk.com')"

SQL_B = "INSERT INTO user(name, ,note) VALUES ('Mr'Yootk', 'www.yootk.com')"

SQL_C = "INSERT INTO user(name, ,note) VALUES ('小沐', 'www.yootk.com')"

def main(): # 主函数

try:

conn = pymysql.connect(host="localhost", port=3306, charset="UTF8", user="root",

passwd="mysqladmin", database="yootk", autocommit=False) # 数据库连接

conn.autocommit(False) # 重复设置

cmd = conn.cursor() # 获得一个数据库的操作对象

cmd.execute(query=SQL_A)

cmd.execute(query=SQL_B)

cmd.execute(query=SQL_C)

conn.commit() # 代码执行正确事务提交

except Exception:

conn.rollback() # 事务回滚

print(traceback.format_exc())

finally:

conn.close() # 数据库为资源操作,资源操作的最后必须关闭

if name == "main": # 判断程序执行名称

main() # 调用主函数

18、

coding:UTF-8

import traceback, pymysql, DBUtils.PooledDB # pip install DBUtils

SQL = "INSERT INTO user(name, note) VALUES ('小李老师', 'www.yootk.com')"

def main(): # 主函数

try:

pool = DBUtils.PooledDB.PooledDB(

creator=pymysql, # 连接池管理的是pymysql的操作类型

mincached=2, # 空闲时维持两个连接

maxcached=5, # 空闲时不超过5个连接

maxconnections=20 , # 最大的连接数(测试)

blocking=True, # 引入阻塞队列

host="localhost", # 主机名称

port=3306, # 端口

user="root", # 用户名

passwd="mysqladmin", # 密码

database="yootk", # 数据库

charset="UTF8" # 字符编码

)

conn = pool.connection() # 获取数据库连接

cmd = conn.cursor() # 获得一个数据库的操作对象

cmd.execute(query=SQL)

conn.commit() # 代码执行正确事务提交

except Exception:

conn.rollback() # 事务回滚

print(traceback.format_exc())

finally:

conn.close() # 数据库为资源操作,资源操作的最后必须关闭

if name == "main": # 判断程序执行名称

main() # 调用主函数

相关推荐
独好紫罗兰5 分钟前
洛谷题单3-P2669 [NOIP 2015 普及组] 金币-python-流程图重构
开发语言·python·算法
跳跳糖炒酸奶9 分钟前
第四章、Isaacsim在GUI中构建机器人(3):添加摄像头和传感器
人工智能·python·算法·ubuntu·机器人
凯强同学17 分钟前
第十四届蓝桥杯大赛软件赛省赛Python 研究生组:4.互质数的个数
python·职场和发展·蓝桥杯
utmhikari2 小时前
【日常随笔】万字长文,如何用pyside6开发一个python桌面工具
前端·python·pyqt
数据智能老司机2 小时前
CockroachDB权威指南——SQL调优
数据库·分布式·架构
数据智能老司机2 小时前
CockroachDB权威指南——应用设计与实现
数据库·分布式·架构
数据智能老司机2 小时前
CockroachDB权威指南——CockroachDB 模式设计
数据库·分布式·架构
小杨4044 小时前
python入门系列十四(多进程)
人工智能·python·pycharm
JavaGuide17 小时前
公司来的新人用字符串存储日期,被组长怒怼了...
后端·mysql
用户277844910499319 小时前
借助DeepSeek智能生成测试用例:从提示词到Excel表格的全流程实践
人工智能·python