Python数据库操作

这篇博客介绍了Python中数据存储的三种形式,重点讲解了数据库的操作,包括关系型和非关系型数据库的区别,以及数据库的规模分类。详细阐述了数据库的增删改查操作,并提供了具体的Python代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们之前接触过的存储数据的方式都是:

1.字符串 2.列表 3.元组 4.字典

以上方式其实是属于同一种方式,即将数据存储在内存中

实际在开发过程中,数据存储主要有三种形式:

1.将数据存储到内存中;

    优点:使用方便,读写速度快;

    缺点:程序关闭的时候,内存会释放,数据会消失;

2.将数据写入到文件中;

    优点:数据存储是永久性的,不易丢失;

    缺点:打开关闭文件,操作数据都会比较麻烦;

3.将数据存储到数据库中;

    优点:数据存储是永久性的,操作也比较方便;

    缺点:数据库学习难度比较大;

数据库按照性质分为两大类:

1.关系型数据库

    数据和数据之间存在着广泛的联系,例如:MySQL、sqlite;

    优点:通过一个数据可以访问到其他的数据。

3.非关系型数据库

    数据和数据之间没有联系,例如:Mongo

    优点:数据为单独的,数据之间的耦合度比较低,对数据进行增删改不会影响其他数据

数据库按照规模大小分为四种:

1.大型数据库;例如: Oracle

2.中型数据库;例如: SQLserver

3.小型数据库;例如: MySQL

4.微型数据库;例如: sqlite  

import sqlite3
# database
# 连接到一个数据库,如果数据库存在 则连接
# 如果不存在 则创建
con = sqlite3.connect('myDB')
# 设置数据库光标
# 光标使用来执行数据库命令的
cursor = con.cursor()
# 新建一个名字为my_info的表,里面有字段name、age和des
cursor.execute('CREATE TABLE if NOT EXISTS my_info(name text,age int,des text)')
con.commit()

一个项目里面可能用到多个数据库(绝大部分情况下只有一个);

一个数据库里面有多张表;

一个表里面有多个字段;

一个字段里面有多条数据;

往数据库的表里面添加数据的方法是:

cursor.execute('INSERT INTO my_info(name,age,des)VALUES ("烬",1000,"我于杀戮之中盛放,亦如黎明中的花朵")')
con.commit()

删除数据库表my_info里面的数据的方法是:

1.删除年龄大于40的数据

cursor.execute('DELETE FROM my_info WHERE age > 40')
con.commit()

2.删除年龄大于40且名字为烬的数据

cursor.execute('DELETE FROM my_info WHERE age>40 and name = "烬"')
con.commit()

3.删除表的全部数据

cursor.execute('DELETE FROM my_info')
con.commit()

删除整个表(慎用)

cursor.execute('DROP TABLE IF EXISTS my_info')
con.commit()

把名字烬改为德玛西亚之力

cursor.execute('UPDATE my_info SET name = "德玛西亚之力" WHERE name = "烬"')
con.commit()

查询整个表:

cursor.execute('SELECT * FROM my_info')

查询name=烬的数据:

cursor.execute('SELECT * FROM my_info WHERE name = "烬"')
查询age>30的数据:
cursor.execute('SELECT name FROM my_info WHERE age>30')

查询到的数据需要抓取,有三种方式抓取数据:

注意:这里抓取的数据都是上面的查询到的数据。

1.抓取第一个数据:

result = cursor.fetchone()

2.抓取全部的数据:

result = cursor.fetchall()

3.抓取指定数量的数据:

# result = cursor.fetchmany(2)

最后用print打印输出即可:

print(result)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值