pycharm 创建数据库 以及增删改查

news/2025/2/24 5:38:06/

一,数据库

1,介绍:

数据库(Database)是一个有组织的数据集合,它通常用于存储和管理电子化的信息。这些数据可以是结构化的,如表格中的行和列,也可以是非结构化的,如文本、图像或音频文件。数据库的主要目的是允许高效地存储、检索、更新和删除数据,以满足各种业务需求和应用场景。

数据库是我们后端经常用到的工具之一,我们所用到的是:SQLlite数据库

优点:无需下载安装,无需单独的服务器进程,SALlite数据库就是一个文件,内存占用低。

其他的数据库如:MySQL等

2,创建数据库文件(pycharm

(1)导入sqlite             import sqlite3            sqlite3 是python自带的,无需额外安装

python文件夹里面先创建我们的python文件,然后输入上面的代码.

(2)创建数据库文件     con =sqlite3.connect('数据库名称.db')

connect的作用:没有数据库文件时会自动创建,有数据库是会自动连接使用对应数据库文件。所以这串代码,我们一般不动,

(3)提交               con.commit()                   将创建的数据库文件保存起来,后续才能使用。

类似保存的作用。

(4)关闭链接           con.close()                  不用时,释放内存

运行后,我们的数据库创建好了。

二,表

就像是成绩表单一样,我们的表就是把各种信息,存放在我们的数据库文件里面,而表就是我们数据库里面存放数据的容器。好比我们的excell表。

注意:

必须要先建表才能存储数据,一个数据库文件可以创建多张表,表名不能重复。

1,创建表:

先导入我们的sqlite3 然后连接数据库文件,

再创建游标:         yb = con.cursor()

游标:执行sql语句的工具,让用户可以对数据进行访问。因为sql语句我们python本身不能执行,所以我们就需要借助游标来帮助我们执行相关sql语句。

(1)执行sql语句,创建表:

yb.execute(''' create table 表名(列名1 数据类型,列名2 数据类型,……)''')

游标用完也要关闭,释放资源:

yb.close()

一些数据类型:

integer ----整数类型

varchar   ----可变长字符串

real   ----小数

date   ----日期类型数据

text   -----文本类型(通常文字较多,超过255个字符)


注意:创建表必须得有表名和起码一个列。

(2)pycharm看到我们的表:

pycharm配置sqlite驱动:

然后将我们的文件sqlite-jdbc-3.31.1jar文件放在该路径下。如下:

然后我们再选择后,点确认:

因为我们的表一般无法展示,我们的插件就是来帮我们直观的看见我们的表用的。

然后,我们就可以直观地看到我们的表了:

2,表元素操作

(1)列的修改

1,添加列的sql语法:

yb.execute('''alter table 表名 add 新的列名 数据类型''')

运行后:

2,删除列。

yb.execute('''alter table 表名 drop 列名 ''')

注意:删除不需要数据类型,否则会报错。

3,修改表名。

yb.execute('''alter table 旧表名 rename to 新表名 ''')

这个只需对yb.execute内部内容做修改,所以不做展示了。

(2)主键与自增长

主键:

类似我们的身份证,可以完全区分我们与其他人的代号。而我们的添加数据,我们的id可以当作主键,我们每次加入后,我们可以让我们的主键id自增长,这样就不会有重复的id出现,以便于我们不会弄混其他数据。

注意:主键列必须为整数类型(文本不能增长),一个表只能设置一个列为主键,主键列不能为空

语法:primary key

操作:
将id设置为主键 并且自增长

语法:yb.execute('''create table 表名(id integer primary key autoincrement,name varchar,address varcahr)''')

创建完表后,我们的视图如下:

注意:我们一般建立表都会先把主键设好,尽量不再后期更改。

3,数据操作

(1)添加数据

添加一行

yb.execute('''insert into 表名(列名1,列名2,……) values(数据1,数据2)''')

 

这里,我们需要设置主键和自增加后,我们的id才会显示(这里没有设置),否则需要自行填入。

添加多行数据:

yb.execute('''insert into 表名(列名1,列名2,……) values(数据1,数据2),(数据1,数据2)''')

                                                                                               第一行的            第二行的

(2)修改数据

yb.execute('''update 表名 set 列=新的数据 where 条件(通过主键或其他)''')

其实where条件也可以写 name='小张' ,但是如果有相同的名称,我们就会把符合条件的数据全部修改,不能唯一确定,这就是我们设置主键的原因之一。

(3)删除数据

yb.execute('''delete from 表名 where 条件''')

注意:sql特性:每一行数据的id是唯一值,不会因为删除某行数据而改变。

(4)查询数据

yb.execute('''select * from 表名 where 条件''') 

where 不写表示查全部

观察查询数据:

变量名=yb.fetchall()

print(变量名)

fetchall是我们查找的内容,没有查找,print为空

返还类型:列表嵌套元组。


http://www.ppmy.cn/news/1574560.html

相关文章

Linux提权之ssh密钥提权(八)

还是一样的 我们的实验环境是一样的 跟第七篇 这里我就不在多说了 接着上一篇实验 首先我们先退出root 权限 exit 我们先把bash 过滤出来 cat /etc/passwd | grep bash 我们要找到.ssh 我们是普通用户 只能访问普通用户的 cd /root 是不可以的 cd /home/web1 是可以的 我…

使用快捷键高效管理 VSCode:提升工作效率,告别鼠标操作

如果你想提高工作效率,减少鼠标操作,掌握键盘快捷键是一个非常有效的方式。在编程过程中,熟练使用快捷键能够快速管理文件、标签页,节省时间并提升效率。比如,Ctrl P 和 Ctrl W 可以快速打开和关闭文件,而…

doris:使用 Hint 控制代价改写

概述​ 查询优化器在生成执行计划的过程中,会应用一系列规则。这些规则主要分为两类:基于规则的优化(Rule-Based Optimizer 即 RBO)和基于代价的优化(Cost-Based Optimizer 即 CBO) 。 RBO:此…

【项目日记】仿RabbitMQ实现消息队列 --- 模块设计

你要的答案不在书本里, 也不能靠别人来解决, 除非你想一辈子当小孩。 你必须在自我内部找到答案, 感受到该做的正确事情。 --- 《献给阿尔吉侬的花束》--- 仿RabbitMQ实现消息队列 1 数据管理模块1.1 交换机数据管理模块1.2 队列数据管…

请求go构建缓存,go clean -cache

go clean -cache go 构建时会产生很多缓存, 一般是目录:/Users/xxx/Library/Caches/go-build 此目录README: This directory holds cached build artifacts from the Go build system. Run "go clean -cache" if the directory …

DeepSeek R1/V3满血版——在线体验与API调用

前言:在人工智能的大模型发展进程中,每一次新模型的亮相都宛如一颗投入湖面的石子,激起层层波澜。如今,DeepSeek R1/V3 满血版强势登场,为大模型应用领域带来了全新的活力与变革。 本文不但介绍在线体验 DeepSeek R1/…

力扣——多数元素

题目链接: 链接 题目描述: 思路: 摩尔投票法:核心理念为票数正负抵消 众数投票1,否则 -1最后票数和一定>0去掉前面票数和为0的数,剩下的数里面,众数不会变假设某个数是众数,前…

HarmonyOS学习第3天: 环境搭建开启鸿蒙开发新世界

一、引言 在数字化时代,操作系统作为连接用户与硬件设备的桥梁,其重要性不言而喻。HarmonyOS 作为华为公司推出的面向全场景的分布式操作系统,以其创新的理念和卓越的性能,正逐渐在全球范围内崭露头角。它打破了设备之间的界限&a…