Python带你走进数据库

举报
清安无别事 发表于 2021/12/22 20:21:56 2021/12/22
【摘要】 ​        这里是清安,欢迎你查阅本章文章! 前言        数据库在在我们生活中还是很常见的,超市里货物信息,餐馆里的菜单信息还有账单流水,绝不部分都是存储在相应的数据库中,当你想要查询价格,商品对应的信息事,可以通过很多手段呈现出来,并且还不容易丢失。        在学习本篇之前,大家可以好好看看数据库的基本操作,实际上手试试,要是没有什么数据库可以使用。正文        ...

​        这里是清安,欢迎你查阅本章文章!

 前言

        数据库在在我们生活中还是很常见的,超市里货物信息,餐馆里的菜单信息还有账单流水,绝不部分都是存储在相应的数据库中,当你想要查询价格,商品对应的信息事,可以通过很多手段呈现出来,并且还不容易丢失。

        在学习本篇之前,大家可以好好看看数据库的基本操作,实际上手试试,要是没有什么数据库可以使用。

正文

        操作数据库还是比较简单的,看下面的步骤,然后跟着一步步来。

导包  import pymysql
数据库连接设置 conn=pysql.connect(host,user,passwd,port,db,charset)
生成游标    cur=conn.cursor(cursor-pymysql.cursors.DictCursor)
编写sql语句 sql='select * feom student'
执行sql语句 cur.excute(sql)
获取数据    data=cur.fetchall()
关闭游标    cur.close()
关闭连接    conn.close()

导包

        导包是必须的操作,我门本章所用的是pymysql包,还有其他的包,不限于使用哪种包

数据库连接设置

# 数据库连接,主机host、端口port、用户名user、密码passwd、数据库表database
con = pymysql.connect(host='localhost', port=3306, user='root', passwd='xiaobei',
                      database='timu1')#如果汉字显示不出来就加入charset=‘utf-8'

        变量名随意设置,user我是本机的数据库,所以才会使root,不然就是其他分配下来的user跟passwd了,database是你要连接的数据库表。

生成游标

# 生成游标
cur = con.cursor()

        关于游标:游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标总是与一条SQL 选择语句相关联因为游标由结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成。通俗一点就是没有游标你就拿不到你想要的值,做不了你想做的操作。

写入SQL语句

# 注入sql语句
sql = 'select * from t_beauty'

        可以是增删改查的任意一种,也可以是其他的sql语句。

# 修改名字
sql = "update t_beauty set id = '穆雪' where id='小美丽';"

         写入多条数据操作,对应的执行数据库所用的函数方法有所不同

sql = "insert into t_beauty(id,sex,home,call_num) VALUES(%s,%s,%s,%s);"
list_name = [('果冻','女','湖南长沙',1464231456),('香香','女','陕西西安',1895223456),
('果果','女','福建厦门',1689929295)]

         执行多条写入数据

es = cur.executemany(sql,list_name)

执行SQL语句

# 游标执行一条sql语句
res = cur.execute(sql)

        这里需要用游标点上对应的函数方法execute来执行你想要的sql语句。

获取数据

 1、查看数据库里面有多少条数据

# 打印数据库有多少条数据
print(res)

2、获取一条数据

# 获取查询结果,获取一条数据
data_1=cur.fetchone()

3、获取全部数据

# 获取查询结果,获取全部数据,如果已经使用fetchone取了第一条的数据,游标会自动向下取值
data_1 = cur.fetchall()

4、移动游标

# 在已经获取到一条数据的时候,还想获取其他数据中的一条
cur.scroll(-1,mode='relative')# 将游标往前移动一个位置再进行取值
cur.scroll(3,mode='absolute')# 绝对路径取值,索引取值,取0的时候取全部值

5、下标获取值

        当取0的时候为全部值

# 获取查询结果,获取第一条数据,可以更改数字来获取值
data_1=cur.fetchmany(1)

提交值

# 手动给数据库提交数据库语句,也可以自动提交autocommit=True,在连接设置处加入即可
con.commit()

关闭游标

cur.close()

关闭数据库

con.close()
# 数据库连接,主机host、端口port、用户名user、密码passwd、数据库表database
con = pymysql.connect(host='localhost', port=3306, user='root', passwd='小北',
                      database='timu1')#如果汉字显示不出来charset=‘utf-8'
# 生成游标
cur = con.cursor()
# 注入sql语句
sql = 'select * from t_beauty'
# 游标执行一条sql语句
res = cur.execute(sql)
# 获取查询结果,获取一条数据
data_1=cur.fetchone()
print(data_1)
con.commit()
# 关闭游标
cur.close()
# 关闭数据库连接
con.close()

        这样一个简单的数据库操作就好了,当你不想每次使用就要写的话,那就封装一个吧,下一章小北将告诉你如何封装数据库操作,想用就用。

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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