查询数据库里所有用户姓名和密码的python语言,并判断用户是否为管理员,如果是则输出True,且用json的数据形式
时间: 2024-02-20 15:58:17 浏览: 21
好的,以下是代码示例:
```python
import json
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', port=3306, user='root', password='password', database='test')
cursor = conn.cursor()
# 查询用户信息
sql = "SELECT name, password, is_admin FROM users"
cursor.execute(sql)
users = cursor.fetchall()
# 构造结果字典
result = {}
for user in users:
name, password, is_admin = user
result[name] = {'password': password, 'is_admin': bool(is_admin)}
# 输出结果
print(json.dumps(result, indent=4))
# 关闭连接
cursor.close()
conn.close()
```
解释一下代码:
1. 首先导入需要的模块,包括json和pymysql。
2. 然后连接数据库,这里假设数据库名为test,用户名为root,密码为password。
3. 执行查询语句,获取所有用户的姓名、密码和管理员标识。
4. 构造一个结果字典,以姓名为键,包含密码和管理员标识的字典为值。
5. 将结果字典转换成json格式并输出。
6. 最后关闭数据库连接。
需要注意的是,这里的密码是明文存储的,实际应用中应该使用加密算法对密码进行加密。另外,这里的查询语句是简单的SELECT语句,实际应用中应该根据具体需求编写更复杂的查询语句。