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() # 调用主函数

相关推荐
eleqi20 小时前
Python+DRVT 从外部调用 Revit:批量创建门
python·系统集成·bim·revit·drvt·自动生产流水线
先做个垃圾出来………20 小时前
PyTorch 模型文件介绍
人工智能·pytorch·python
浅醉樱花雨20 小时前
vosk语音识别实战
人工智能·python·语音识别·asr·vosk
再努力"亿"点点20 小时前
爬取m3u8视频完整教程
开发语言·python
花哥码天下20 小时前
MySQL事务日志类型及作用解析
数据库·mysql
手握风云-20 小时前
MySQL数据库精研之旅第十七期:深度拆解事务核心(下)
数据库·mysql
亮子AI20 小时前
【PostgreSQL】如何实现主从复制?
数据库·postgresql
悟能不能悟21 小时前
if __name__=‘__main__‘的用处
python
杏花春雨江南21 小时前
可重复读 是否“100%”地解决幻读?
数据库·mysql
Source.Liu21 小时前
【Python基础】 15 Rust 与 Python 基本类型对比笔记
笔记·python·rust