python数据库存 和 取 数据 ~~~~别磨叽了,拿来直接用吧

举报
不良使 发表于 2022/04/01 23:44:15 2022/04/01
【摘要】 适合上手数据库,非常简单,拿来就用

**

🤳python数据库读取写入通用操作:

**
对数据库的增删改查基本上都是sql语句的变化,其他的没有什么区别

🎉1、连接数据库 host、port、user、password、数据库名、字符类型

# TODO  数据库连接
conn = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    passwd='123456',
    db='mofa',
    charset='utf8',
)

🌹 2、创建游标,进行下面的操作

# TODO 创建游标
cue=conn.cursor()

🐱‍👤3、查询所需要的字段,就是编译所需要查询的数据所在列的sql语句

# TODO 查询所需要的字段数据(属性)
cue.execute("select name,comment from comments;")

✨4、通过fetchall获取所需要的数据

result=list(cue.fetchall())

**

😃5、读取数据写入文本

**

comment_list=open('冬奥会评论区的数据.txt', "w", encoding="utf-8")

冬奥会评论区的数据.txt : 带写入文本名称
“w” : write
encoding=“utf-8” : 编码格式


💋读取数据库数据并写入文本中

# TODO                鸟欲高飞,必先展翅
# TODO                 向前的人 :Jhon

import pymysql

# TODO  数据库连接
conn = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    passwd='123456',
    db='mofa',
    charset='utf8',
)

# TODO 创建游标
cue=conn.cursor()

# TODO 查询所需要的字段数据(属性)
cue.execute("select name,comment from comments;")
# TODO 获取所需的数据      取   fetchall()
result=list(cue.fetchall())
print(result)

comment_list=open('冬奥会评论区的数据.txt', "w", encoding="utf-8")
for i in range(len(result)):

    name=result[i][0]
    comment=result[i][1]
    comment_list.write(name+", "+comment)
comment_list.close()


结果如下图所示,我们可以发现数据存进去了。但是我们发现读取的name和comment之间是以逗号隔开的,那是因为写入操作的时候是以逗号隔离写入的。comment_list.write(name+","+comment)** write写入是以逗号为间隔写入的,在这里你可以 以任何你想要作为间隔符号,当然也包括空格或者不添加任何间隔符号(但是这样会很丑)**

在这里插入图片描述
欧克,使用的时候只要记住修改里面的一部分即可。
💋1、连接数据库的基本配置,一般只需要修改password和数据库db即可
💋2、修改所需要查询字段即可(就是那一列的属性,我的表中只有name和comment两个属性)
💋3、我这里不是自己创建写入数据的txt文本,你需要自己创建一个
💋4、注意创建txt文本的目录,确保open的时候可以发现它(我这py文件和txt文本在一个目录下,即同级目录)


🐱‍🐉读取txt文本数据并写入数据库中

# TODO                鸟欲高飞,必先展翅
# TODO                 向前的人 :Jhon

import pymysql
import re

# 数据库连接
conn = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    passwd='123456',
    db='mofa',
    charset='utf8',
)


def insert(conn, name, count):
    cue = conn.cursor()
    # 异常处理
    try:
        cue.execute(
            "insert into olypiccount"
            ""
            " (name,count) values(%s,%s)",
            [name, count, ])
        # 执行sql语句
    except Exception as e:
        print('Insert error:', e)
        conn.rollback()
    else:
        conn.commit()


def read():
    filename = './冬奥会人名出现次数.txt'
    # 按行读取txt文本文档
    with open(filename, 'r', encoding='UTF-8') as f:
        datas = f.readlines()
    # 遍历文件
    for data in datas:
        txt = re.split(': ', data)
        name = txt[0]
        count = txt[1]
        print("这是第一个name:",name)
        print("*"*100)
        print("这是第二个count:",count)
        insert(conn, name, count)
        # 调用insert方法
    print("数据插入完成!")


read()
conn.close()

欧克,使用的时候只要记住修改里面的一部分即可。*
💋1、连接数据库的基本配置,一般只需要修改password和数据库db即可
💋2、修改所需要查询字段即可(就是那一列的属性,我的表中只有name和comment两个属性)
💋3、打开读取的txt文本,readlines按行一行行读取。
💋4、遍历split切割开分别存进多个字段,这里没有上限

注意:读取数据库和写入数据库修改的只是sql语句 select==>insert
在这里插入图片描述
可以发现数据库成功刷入数据库

**

👀存入数据库核心代码分析

**

filename = './冬奥会人名出现次数.txt'
    # 按行读取txt文本文档
    with open(filename, 'r', encoding='UTF-8') as f:
        datas = f.readlines()

💖1、filename是需要读取的txt文本(需要存入数据库的内容存放处)
💖2、with open 打开文本操作
💖3、filename 文本名称,如果不在一个目录下要写出相对地址。例如如果在上一data目录 应该写为 ./data/冬奥会人名出现次数.txt
💖4、“r” 只读 “w” 写入 encoding=‘UTF-8’格式,固定写法
💖5、as f 将前面一段起别名为f
💖6、datas = f.readlines() 一行行的读
💖7、for data in datas: 遍历刚才一行行读的数据
💖8、 txt = re.split(’: ', data) 酶促循环的数据以 :分开,注意我这是中文的冒号
注意:split()切完后就变成了列表了,可以通过索引取值,可以切多段,但每段之间都要以相同的符号构成。

在这里插入图片描述

💖9、insert(conn, name, count) 插入数据库,后面那个是两个属性 name count 就对应这数据库的两列







觉得有用的可以给个三连,关注一波!!!带你了解更多的python小知识

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。