Tangwx

Tangwx

博客网站

python操作MySQL和sqlite数据库

python 操作 MySQL 和 sqlite 数据库#

1 MySQL#

MySQL 知识可参考我之前的博客:Mysql - 眰恦 | BLOG (gitee.io)

使用 python 操作 MySQL 数据库 @狐狸教程:~# (freeaihub.com)

导入pymysql#

import pymysql

连接 MySQL 数据库#

db = pymysql.connect(host='127.0.0.1', user='root', password="", database='数据库名')

创建数据库操作游标#

cur = conn.cursor() # 数据库操作符 游标

使用pymysql.cursors.DictCursor可以将数据以字典的方式返回

cur = conn.cursor(pymysql.cursors.DictCursor) # 将数据以字典的方式返回

MySQL 创建表#

MySQL 插入数据#

cur.execute('insert into 表名 values 值') # 插入数据

示例:cur.execute('insert into t7(id,name) values (2,"zhangsan")') # 插入数据

MySQL 删除数据#

cur.execute('delete from 表名 where 条件') # 删除数据

示例:cur.execute('delete from t7 where id = 1') # 删除数据

MySQL 修改数据#

cur.execute('update 表名 set 修改后条件 where 条件') # 修改数据

示例:cur.execute('update t7 set id=1 where id = 2') # 修改数据

注意:执行了增删改操作需要提交数据库conn.commit() # 提交数据

MySQL 查询数据#

cur.execute('select * from 表名 where 条件') # 查询数据

ret_1=cur.fetchone()  # 查询一条数据
print(ret_1)  # 只打印一行
ret_n=cur.fetchmany(2)  # 查询n条数据,括号里填多少就打印多少行的数据
print(ret_n)  # 打印n行数据
ret_all = cur.fetchall()  # 查询所有数据
print(ret_all)
# 注意:cur类似与指针,当前查询完多少,cur会指向下一条数据

MySQL 的增删改查都可以将单独的 SQL 语句存储起来,再用cur.execute(sql)运行 SQL 语句

执行完增删改查后记得关闭游标cur.close()和关闭连接conn.close()

2 SQLite#

Releases · sqlitebrowser/sqlitebrowser (github.com)

使用 Python 在线操作 sqlite3 @狐狸教程:~# (freeaihub.com)

import sqlite3  # 导入sqlite3

# 数据库文件
db_file = 'Student.db'

# 连接数据库
conn = sqlite3.connect(db_file)

# sql 语句
sql = 'select * from score'

cur = conn.cursor()  # 数据库操作符 游标
cur.execute(sql)  # 执行SQL语句

# 打印结果
print(cur.fetchall())

# 关闭数据库
conn.close()

SQLite 数据库是一种嵌入式数据库,它的数据库是一个文件sqlite.db

sqlite 数据库是使用 C 语言进行编写的,体积比较小,经常被集成到各种应用程序中,甚至 iOS、Android、Mac OS、Linux 都内置了 sqlite 数据库

python 中内置了 sqlite 数据库,可以直接使用

sqlite 数据库是关系型数据库,一个数据库中会有多张表,表和表之间通过主外键进行关联

python 中操作 sqlite 数据库

获取 connection

连接之后需要打开游标cursor, 通过cursor执行 SQL 语句

关闭连接,释放资源

sqlite 插入数据#

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。