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

news/2025/2/24 15:58:39

一,数据库

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.niftyadmin.cn/n/5864560.html

相关文章

深度剖析 C 语言函数递归:原理、应用与优化

在 C 语言的函数世界里,递归是一个独特且强大的概念。它不仅仅是函数调用自身这么简单,背后还蕴含着丰富的思想和广泛的应用。今天,让我们跟随这份课件,深入探索函数递归的奥秘。 一、递归基础:概念与思想 递归是一种…

ubuntu系统 pycharm 卡死了,我用资源监视器将其杀死后,再打开就变成了直接卡死 且在点击Quit Windows无法关闭,只能再次杀死

1. 问题分析: ubuntu系统中 pycharm意外卡死了,我用资源监视器将其杀死后,再打开就变成了直接卡死 且在点击Quit Windows无法关闭此时,只能通过再次杀死Java进程来关掉,但是关掉之后,再打开还是卡死。我必…

C语言番外篇(3)------------>break、continue

看到我的封面图的时候,部分读者可能认为这和编程有什么关系呢? 实际上这个三个人指的是本篇文章有三个部分组成。 在之前的博客中我们提及到了while循环和for循环,在这里面我们学习了它们的基本语法。今天我们要提及的是关于while循环和for…

MyBatis Plus扩展功能

一、代码生成器 二、逻辑删除 三、枚举处理器 像状态字段我们一般会定义一个枚举,做业务判断的时候就可以直接基于枚举做比较。但是我们数据库采用的是int类型,对应的PO也是Integer。因此业务操作时必须手动把枚举与Integer转换,非常麻烦。 …

低功耗设计:(3)架构级优化

在上一期文章中,介绍了系统级低功耗设计的方法,如软硬件协同设计、功耗管理机制等。 本期将深入探讨架构级低功耗设计的核心技术,包括多电压设计(Multi-VDD)、动态电压频率调节(DVFS)、系统时钟…

通过C语言实现“数据结构”课程中的链表,数据,数,图

链表 链表是一种线性数据结构,其中元素不是存储在连续的内存位置,而是通过指针链接在一起。每个元素称为一个节点,包含数据部分和指向下一个节点的指针。 单向链表示例: 假设有一个链表包含三个节点:1 -> 2 ->…

maven模块化管理

将一个大项目拆分成若干个子模块,方便项目管理维护、扩展,也方便模块间的相互引用,资源共享 具体步骤 先创建一个空项目(父项目)即下图的sky-take-out,然后打开项目结构的模块,选中父模块,再点…

支持向量机(SVM)在 NLP 中的使用场景

支持向量机(Support Vector Machine, SVM)是一种强大的监督学习算法,广泛应用于分类任务中。由于其出色的分类性能和高效的计算特点,SVM 已经成为自然语言处理(NLP)领域中的一种经典模型。SVM 在 NLP 中的应用非常广泛,尤其在文本分类任务中,表现出色。 本文将探讨 SV…