python3对数据库的基本操作
其实Python同Java一样,都有对JDBC操作的API。
注意:我的Python版本为3.6.5
Python2.7是应用比较广的,百度博客上很多相关的例子,所以本次不再列出。
只要是用过Java的JDBC,那么对于Python的这个“JDBC”,我相信会更好的理解。
jdbc.py代码如下:
import pymysql
import datetime
host = 'localhost'
username = 'root'
password = '1234'
db_name = 'wordpress'
create_table_sql = """\
CREATE TABLE fuck(
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(255) UNIQUE ,
nickname VARCHAR(255) NOT NULL ,
birthday DATE
)
"""
insert_table_sql = """\
INSERT INTO fuck(username,nickname,birthday)
VALUES('{username}','{nickname}','{birthday}')
"""
query_table_sql = """\
SELECT id,username,nickname,birthday
FROM fuck
"""
delete_table_sql = """\
DELETE FROM fuck
"""
drop_table_sql = """\
DROP TABLE fuck
"""
connection = pymysql.connect(host=host,
user=username,
password=password,
charset='utf8mb4',
db=db_name)
try:
with connection.cursor() as cursor:
print('--------------新建表--------------')
cursor.execute(create_table_sql)
connection.commit()
print('--------------插入数据--------------')
cursor.execute(
insert_table_sql.format(username='yitian', nickname='易中天', birthday=datetime.date.today()))
cursor.execute(
insert_table_sql.format(username='zhang3', nickname='王立群', birthday=datetime.date.today()))
cursor.execute(
insert_table_sql.format(username='li4', nickname='钱文忠', birthday=datetime.date.today()))
cursor.execute(
insert_table_sql.format(username='wang5', nickname='郦波', birthday=datetime.date.today()))
connection.commit()
print('--------------查询数据--------------')
cursor.execute(query_table_sql)
results = cursor.fetchall()
print(f'id\tname\tnickname\tbirthday')
for row in results:
print(row[0], row[1], row[2], row[3], sep='\t')
print('--------------清除数据--------------')
cursor.execute(delete_table_sql)
connection.commit()
# print('--------------删除表--------------')
# cursor.execute(drop_table_sql)
# connection.commit()
finally:
connection.close()
分类:
Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述