Python__模块(DATA-管理)__MySQL / DBM

MySQL(安装)

pip install PyMySQL


MySQL(参考代码)

创建表

import pymysql.cursors
# 连接MySQL数据库
connection = pymysql.connect(
    host="127.0.0.1",
    port=3306,
    user="root",
    password="123456",
    db="新数据库",
    charset="utf8mb4",
    cursorclass=pymysql.cursors.DictCursor,
)
# 通过cursor创建游标
cursor = connection.cursor()
# 创建sql 语句,并执行
sql = "CREATE TABLE `users` (\
       \
        `id` INT(11) NOT NULL AUTO_INCREMENT,\
        `email` VARCHAR(255) COLLATE utf8_bin NOT NULL,\
        `password` VARCHAR(255) COLLATE utf8_bin NOT NULL,\
         PRIMARY KEY (`id`)\
      \
       ) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin\
         AUTO_INCREMENT=1 ;"
cursor.execute(sql)
# 提交SQL
connection.commit()

连接数据库

import pymysql.cursors
# 连接MySQL数据库
connection = pymysql.connect(host='127.0.0.1',
                             port=3306,
                             user='root',
                             password='123456',
                             db='新数据库',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)
# 通过cursor创建游标
cursor = connection.cursor()
# 创建sql 语句,并执行
sql = "INSERT INTO users (email, password) VALUES ('123@.info', '000000')"
cursor.execute(sql)
# 提交SQL
connection.commit()

数据查询

import pymysql.cursors
# 连接MySQL数据库
connection = pymysql.connect(
    host="127.0.0.1",
    port=3306,
    user="root",
    password="123456",
    db="新数据库",
    charset="utf8mb4",
    cursorclass=pymysql.cursors.DictCursor,
)
# 通过cursor创建游标
cursor = connection.cursor()
# 执行数据查询
sql = "SELECT `id`, `password` FROM `users` WHERE `email`='huzhiheng@itest.info'"
cursor.execute(sql)
# 查询数据库单条数据
result = cursor.fetchone()
print(result)
print("-----------------------")
# 执行数据查询
sql = "SELECT `id`, `password` FROM `users`"
cursor.execute(sql)
# 查询数据库多条数据
result = cursor.fetchall()
for data in result:
    print(data)
# 关闭数据连接
connection.close()

数据获取

import pymysql
# 连接数据库
con = pymysql.connect(
    host="localhost", 
    user="root", 
    password="123456", 
    database="新数据库", 
    charset="utf8"
)
# 创建游标
cur = con.cursor()
# 生成数据库
sql = "select * from users"
# 获取结果
cur.execute(sql)

# 获取所有记录  fetchall--获取所有记录
# fetchmany--获取多条记录,需传参  fetchone--获取一条记录

all = cur.fetchall()
# 输出查询结果
print(all)
# 关闭游标
cur.close()
# 关闭数据库连接,目的为了释放内存
cur.close()

数据插入

import pymysql
# 连接数据库
con = pymysql.connect(
    host="127.0.0.1",
    port=3306,
    user="root",
    password="123456",
    database="新数据库",
    charset="utf8mb4",
)
# 创建游标
cur = con.cursor()
# SQL插入语句
sql = "INSERT INTO users (email, password) VALUES ('test.info', '000000')"
# 获取结果
cur.execute(sql)
# 提交SQL
con.commit()
# 关闭游标
cur.close()

数据删除

import pymysql
# 连接数据库
con = pymysql.connect(
    host="localhost", 
    user="root", 
    password="123456", 
    database="新数据库", 
    charset="utf8"
)
# 创建游标
cur = con.cursor()
# SQL 删除语句
sql = "DELETE from users WHERE id = 5 "
cur.execute(sql)
con.commit()
# 关闭游标
cur.close()
# 关闭数据库连接,目的为了释放内存
cur.close()

DBM(参考代码)

综合例子

# @参数列表 /
# r     只读
# w     写
# n     总是创建一个数据
# c     存在不创建,不存在则创建
# ---------------------------- / 

import dbm
# 创建数据库
with dbm.open("./demo.db", "c") as db:
    db["x"] = "{" + "{0}".format(1) + "}"
    db["key"] = "k"
    db["today"] = "t"
    db["author"] = "a"

# 读取->输出:键值/键名
"""
with dbm.open("demo.db", "r") as db:
    print("获取所有键:", db.keys())
    print(db["author"])
    for k in db.keys():
        print(k, db[k].decode("utf-8"))
"""
# 写入->修改键值
"""
with dbm.open("demo.db", "w") as db:
    try:
        with dbm.open("demo.db", "r") as db:
            print("获取所有键:", db.keys())
            print(db["author"])

            for k in db.keys():
                print(k, db[k].decode("utf-8"))
                db["autho"] = "new"
    except TypeError as err:
        print(err)
"""

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vip飞梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值