掌握Python *** 作 MySQL 数据库

掌握Python  *** 作 MySQL 数据库,第1张

本文Python *** 作 MySQL 数据库需要是使用到 PyMySQL 驱动

Python *** 作 MySQL 前提是要安装好 MySQL 数据库并能正常连接使用,安装步骤详见下文。

注意: 安装过程我们需要通过开启管理员权限来安装,否则会由于权限不足导致无法安装。

首先需要先下载 MySQL 安装包, 官网下载地址 下载对应版本即可,或直接在网上拉取并安装:

权限设置:

初始化 MySQL:

启动 MySQL:

查看 MySQL 运行状态:

Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码:

登陆:

创建数据库:

查看数据库:

PyMySQL 模块使用 pip命令进行安装:

假如系统不支持 pip 命令,可以使用以下方式安装:

pymysql .connect 函数:连接上数据库

输出结果显示如下:表面数据库连接成功

使用 pymysql 的 connect() 方法连接数据库,connect 参数解释如下:

conn.cursor():获取游标

如果要 *** 作数据库,光连接数据是不够的,咱们必须拿到 *** 作数据库的游标,才能进行后续的 *** 作,游标的主要作用是用来接收数据库 *** 作后的返回结果,比如读取数据、添加数据。通过获取到的数据库连接实例 conn 下的 cursor() 方法来创建游标,实例如下:

输出结果为:

cursor 返回一个游标实例对象,其中包含了很多 *** 作数据的方法,如执行sql语句,sql 执行命令: execute() 和 executemany()

execute(query,args=None):

executemany(query,args=None):

其他游标对象如下表:

完整数据库连接 *** 作实例如下:

以上结果输出为:

创建表代码如下:

如下所示数据库表创建成功:

插入数据实现代码:

插入数据结果:

Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。

查询数据代码如下:

输出结果:

DB API中定义了一些数据库 *** 作的错误及异常,下表列出了这些错误和异常:

本文给大家介绍 Python 如何连接 Mysql 进行数据的增删改查 *** 作,文章通过简洁的代码方式进行示例演示,给使用 Python *** 作 Mysql 的工程师提供支撑。

sqlite3数据库里表的信息存储在了一个名为sqlite_master的表中

因此可以通过这条语句来查看数据库中所有表的名称

SELECT name FROM sqlite_master WHERE type='table'

下面是Python的用法

con = sqlite3.connect('database.db')cursor = con.cursor()cursor.execute("SELECT name FROM sqlite_master WHERE type='table'")print(cursor.fetchall())

我常用pymssql连接M$SQL服务器, 没用过pyodbc, 但按理应该都差不多。

若用pymssql, 从数据库中取数据的过程如下:

import pymssql

connect_setting = {

'host': '127.0.0.1',

'user': 'sa',

'password': '',

'database': 'master',

'charset': 'gb18030'

}

conn = pymssql.connect(**connect_setting)

curr = conn.cursor()

curr.execute("select list, name from nlist")

result = [(lst, name) for lst, name in curr]

curr.close()

conn.close()

关于"如何查询,list的每个值在数据库中对应的Name“

若库表中的数据像下面的样子:

id, name:

1, 'python'

2, 'perl'

3, 'c'

4, 'java'

且每行id是唯一值, 将从数据库表中拿到的数据放到一个字典中:

curr.execute("select id, name from nlist")

dd = dict([(id, name) for id, name in curr])

lst = [1,2,3,4,5,6]

用dd进行转换

[(i, dd.get(i)) for i in lst]

==>

[(1, 'python'), (2, 'perl'), (3, 'c'), (4, 'java'), (5, None), (6, None)]

or

[dd.get(i, i) for i in lst]

==>

['python', 'perl', 'c', 'java', 5, 6]


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9855490.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存