首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python 数据分析基础 day10-sqlite3一、使用逻辑二、创建数据库及表三、插入记录四、更新记录五、获取记录

这个模块的笔记主要分为五个板块:sqlite3的使用逻辑、创建表、插入记录、更新记录、获取记录。...一、使用逻辑 1.创建数据库连接对象或创建新数据库: sqlite3.cneetct("databasePath") 2.建立游标 cur=con.cursor() 3.执行sql语句 #用于查询语句...cur=con.execute() data=cur.fetchall() #用于更新、插入、删除数据,创建、删除表 cur.execute() 4.提交事务 con.commit() 5.关闭游标及数据库...VARCHAR(10),score FLOAT);" cur.execute(sqlString) con.commit() #关闭游标及数据库 cur.close() con.close() 三、插入记录...("databasePath") #创建游标 cur=con.cursor() 更新数据 #逐行更新数据,执行多条sql语句 conds=[(11,1),(22,2),(33,3)] for cond

1.3K60
您找到你想要的搜索结果了吗?
是的
没有找到

【面试题精讲】mysql-update语句执行流程

它可以对表中的单条或多条数据记录进行内容更新,支持输入的新数据值来自常量、计算结果或其他表中的数据。...在执行 update 语句时,MySQL 会根据条件筛选出需要更新的记录,然后逐行修改记录中的数据。 2. 为什么需要 update 语句? update 语句的存在,体现了数据库的动态性。...操作时对表进行行锁或表锁,确保在操作过程中不会被其他事务影响; 筛选记录:根据 update 语句中提供的条件,查找出需要更新的记录; 更新记录:对筛选出的记录逐行进行字段修改...5. update 语句的优点 高效:update 语句能够直接修改记录,避免了数据的删除和插入操作; 灵活:可根据条件对特定的数据进行更新操作; 简洁:使用 update...了解 update 语句的原理、使用方法和注意事项对于编写优秀的 SQL 代码具有重要意义。在实际使用中,务必注意数据一致性问题,根据实际情况选择合适的索引、事务和锁机制。

17210

【面试题精讲】mysql-update语句执行流程

它可以对表中的单条或多条数据记录进行内容更新,支持输入的新数据值来自常量、计算结果或其他表中的数据。...在执行 update 语句时,MySQL 会根据条件筛选出需要更新的记录,然后逐行修改记录中的数据。 2. 为什么需要 update 语句? update 语句的存在,体现了数据库的动态性。...操作时对表进行行锁或表锁,确保在操作过程中不会被其他事务影响; 筛选记录:根据 update 语句中提供的条件,查找出需要更新的记录; 更新记录:对筛选出的记录逐行进行字段修改...5. update 语句的优点 高效:update 语句能够直接修改记录,避免了数据的删除和插入操作; 灵活:可根据条件对特定的数据进行更新操作; 简洁:使用 update...了解 update 语句的原理、使用方法和注意事项对于编写优秀的 SQL 代码具有重要意义。在实际使用中,务必注意数据一致性问题,根据实际情况选择合适的索引、事务和锁机制。

14720

不起眼的SQL导入,差点引发生产事故..

当时面试腾讯的面试官问道 所以重新认识一下DELETE 和TRUNCATE 的操作: DELETE 操作 日志记录: DELETE 操作是逐行记录的,每一行删除都会写入事务日志,用于支持事务的回滚和恢复...资源释放: 由于逐行操作,**DELETE 在删除每一行后都会释放相应的存储空间,但在事务提交之前,这些空间可能并没有被立即释放。...关于"水位值" "水位值" 可能指的是数据库中用于管理未提交的事务的日志信息,也称为 "水位线"。在 DELETE 操作中,由于是逐行操作记录在事务日志中,数据库会保留未提交事务的信息,以支持回滚。...这样的未提交事务形成的水位线会占用一定的资源。 相反,TRUNCATE 操作没有逐行的日志记录,因此不存在逐行提交事务的水位线问题。它一次性释放整个表的资源。...总的来说,根据具体的需求和场景,选择 DELETE 还是 TRUNCATE,了解它们的影响是很重要的。

12210

​【数据库】MySQL进阶三、游标简易教程

使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式。用SQL语言从数据库中检索数据后,结果放在内存的一块区域中,且结果往往是一个含有多个记录的集合。...游标机制允许用户在SQL server逐行地访问这些记录,按照用户自己的意愿来显示和处理这些记录。 在数据库中,游标是一个十分重要的概念。...游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。...游标总是与一条SQL 选择语句相关联,因为游标由结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成。...我们知道关系数据库管理系统实质是面向集合的,在MS SQL SERVER 中并没有一种描述表中单一记录的表达形式,除非使用where 子句来限制只有一条记录被选中。

1.6K70

SQL修改数据库

使用SQL插入数据INSERT语句将一条新记录插入SQL表中。 可以插入一条记录多条记录。下面的示例插入一条记录。...如果SQL表中不存在新记录,则该语句将该记录插入该SQL表中。 如果记录存在,则该语句使用提供的字段值更新记录数据。使用对象属性插入数据可以使用ObjectScript插入一条或多条数据记录。...%Save() }UPDATE语句UPDATE语句修改SQL表中的一条或多条现有记录中的值:UPDATE语句修改SQL表中的一条或多条现有记录中的值:在插入或更新时计算字段值在定义计算字段时,可以指定ObjectScript...InterSystems SQL忽略用户提供的值,接受ON UPDATE生成的值。...删除语句DELETE语句从SQL表中删除一条或多条现有记录: DELETE FROM MyApp.Person WHERE HairColor = 'Aqua'可以执行TRUNCATE TABLE

2.4K30

最全总结 | 聊聊 Python 数据处理全家桶(Sqlite篇)

) 方法,传入插入的 SQL 语句及 位置变量列表,可以实现一次插入多条数据 # 插入多条数据(3个变量,包含:id、name、value) SQL_INSERT_MANY_DATA = 'INSERT...except Exception as e: self.conn.rollback() print('插入多条记录失败,回滚~') 2、查询 查询分为 2 步,分别是:...语句,最后执行提交操作,将数据真实更新到数据表中 以更新某一条记录为例 # 更新数据 SQL_UPDATE_ONE_DATA = "UPDATE PEOPLE SET NAME = '{}',AGE...,只需要执行删除SQL 语句即可 以删除某一条记录为例 # 删除数据 SQL_DEL_ONE_DATA = "DELETE FROM PEOPLE where id ={}" def del_one...和更新操作一样,删除操作也有两种实现方式 第一种方式的思路是,先查询,后删除,最后提交会话完成删除操作 以按照 id 删除某一条记录为例: def del_one_data1(self, id):

1.2K30

最全总结 | 聊聊 Python 数据处理全家桶(Mysql 篇)

语句及 位置变量列表,可以实现一次插入多条数据 # 插入多条数据SQL,name和age是变量,对应列表 SQL_INSERT_MANY_ITEMS = "INSERT INTO PEOPLE (name...# 删除(通过id去删除数据) SQL_DELETE = "DELETE FROM PEOPLE WHERE id=%d" def delete(self): """ 删除记录...# 实例化会话 self.session = sessionmaker(bind=engine)() 这样所有的准备工作已经完成,接下来可以进行增删改查操作了 1、新增 新增操作同样包含插入一条记录多条记录...self.session.comit() 如果需要一次插入多条数据,只需要调用 add_all(列表数据) 即可 def add_items(self): """ 新增多条记录...删除操作对应 delete() 方法,同样是先查询,后删除,最后提交会话完成删除操作 以按照 id 删除某一条记录为例: def del_by_id(self, id): """

1.5K20

MySQL:概述

---- 二、MySQL的逻辑架构 MySQL 的逻辑架构大致可以分为三层:客户端、Server层、存储引擎层 第一层:客户端(服务器层):主要做连接处理、授权认证、安全保障等等; 第二层:Server...Server 层基本组件: 连接器:我们使用数据库,第一步是连接到数据库。...8.0 版本删除) 分析器:没有命中缓存的话,SQL 语句就会经过分析器,主要分为两步,词法分析和语法分析,先看 SQL 语句要做什么,再检查 SQL 语句语法是否正确; 优化器:优化器对查询进行优化...查询条件,检查语法是否有错误; 两种执行方案,先查 id > 1 还是 name = ‘Benjamin’,优化器会生成执行计划、选择索引等操作,选取最优执行方案; 然后来到执行器,打开表调用存储引擎接口,逐行判断是否满足查询条件...执行器收到通知后记录 binlog,然后调用引擎接口,提交 redo log 为commit状态。 更新完成。 为什么记录完 redo log,不直接提交,而是先进入 prepare状 态?

47010

数据库篇:mysql日志类型之 redo、undo、binlog

undo 日志就是我们执行sql的逆操作 undo 日志有两个作用:提供回滚和多个版本控制(MVCC) 数据页里一行数据的格式如下,其中 roll_point 会指向一个undo 日志 undo 日志一般会在事务提交时被删除...多条 sql 并发执行时 undo 日志会根据 trx_id 顺序用 roll_point 连成 undo 日志版本链。...Statement 每一条增删改数据的 sql 都会记录在 binlog 中 优点:不需要记录每一行的变化,减少了binlog 日志量,节约了IO,提高性能 缺点:由于记录的只是执行语句,为了这些语句能在...,仅保存哪条记录被修改 优点:binlog 中可以不记录执行的sql语句的上下文相关的信息,仅需要记录那一条记录被修改成什么了。...“追加写”是指 binlog 文件写到一定大小后会切换到下一个,并不会覆盖以前的日志 redo log 记录事务是两阶段提交的 image.png 如果 redo 不是两阶段提交;redo 先写,binlog

49810

「mysql优化专题」90%程序员都会忽略的增删改优化(2)

可同时插入多条数据记录! REPLACE 与 INSERT 完全一样,可互换。 优化前例子: ? 优化策略: (1)当我们需要批量插入数据的时候,这样的语句却会出现性能问题。...例如说,如果有需要插入100000条数据,那么就需要有100000条insert语句,每一句都需要提交到关系引擎那里去解析,优化,然后才能够到达存储引擎做真的插入工作。...(4)表有外键关联,truncate table删除表数据为逐行删除,如果外键指定级联删除(delete cascade),关联的子表也会会被删除所有表数据。...如果外键未指定级联(cascde),truncate table逐行删除数据,如果是父行关联子表行数据,将会报错。...优化:更新多条记录(往后会结合MyBatics写个实例) ? 更新多条记录的多个值 ? (1). 尽量不要修改主键字段。(废话,反正我就从没改过..) (2).

89330

MySQL 核心模块揭秘 | 06 期 | 事务提交之前,binlog 写到哪里?

产生 binlog 如果一条 SQL 语句改变了(插入、更新、删除)表中的数据,server 层会为这条 SQL 语句产生一个包含表名和表 ID 的 Table_map_log_event。...每次调用存储引擎的方法写入一条记录到表中之后,server 层都会为这条记录产生 binlog。...这里没有写成 binlog event,是因为记录中各字段内容都很少的时候,多条记录可以共享同一个 binlog event ,并不需要为每条记录都产生一个新的 binlog event。...多条记录产生的 binlog 共享同一个 binlog event 时,这个 binlog event 最多可以存放多少字节的内容,由系统变量 binlog_row_event_max_size 控制,...示例 SQL 对应的事务中,INSERT 是改变表中数据的第一条 SQL 语句,它插入第一条(也是唯一一条)记录到 t_binlog 表之后,server 层会为这条记录产生 binlog event。

14210

【愚公系列】2022年01月 Mysql数据库-事务

.隔离级别总结 10.事务的总结 一、MySQL事务 1.事务的概念 一条或多条 SQL 语句组成一个执行单元,其特点是这个单元要么同时成功要么同时失败,单元中的每条 SQL 语句都相互依赖,形成一个整体...4.管理事务演示 操作事务的三个步骤 开启事务:记录回滚点,通知服务器,将要执行一组操作,要么同时成功、要么同时失败 执行sql语句:执行具体的一条或多条sql语句 结束事务(提交|回滚)..., 导致两次查询结果不一致 幻读 select 某记录是否存在,不存在,准备插入此记录,但执行 insert 时发现此记录已存在,无法插入。...或不存在执行delete删除,却发现删除成功 查询数据库隔离级别 -- 标准语法 SELECT @@TX_ISOLATION; 修改数据库隔离级别 -- 标准语法 SET GLOBAL TRANSACTION...数据库默认隔离级别 1 read uncommitted 读未提交 是 是 是 2 read committed 读已提交 否 是 是 Oracle / SQL Server 3 repeatable

33430

事务相关、不可重复读与幻读的区别

3) 在主线程中开子线程,分别在主、子线程中执行修改,则是2个不同事务, 4) 只要是2个不同的事务,就会造成写锁等待。...只有当先拿到写锁的修改方法的事务提交或回滚后,另一个线程的修改方法才能拿到写锁,第2次修改才能执行。...5) 另外:read-only只读事务作用:多条查询SQL必须保证整体的读一致性, 否则,在前条SQL查询之后,后条SQL查询之前,数据被其他用户改变, 则该次整体的统计查询将会出现读数据不一致的状态...7) 默认隔离级别: Read Commited--------Sql Server、Oracle....幻读的重点在于新增或者删除,同样的条件,第 1 次和第 2 次读出来的记录总条数不一样。

22550
领券