sql游标

SQLite3 of python

戏子无情 提交于 2020-03-11 13:45:12
SQLite3 of python 一、 SQLite3 数据库   SQLite3 可使用 sqlite3 模块与 Python 进行集成,一般 python 2.5 以上版本默认自带了sqlite3模块,因此不需要用户另外下载。 在 学习基本语法之前先来了解一下数据库是使用流程吧 ↓↓↓ 所以,首先要创建一个数据库的连接对象,即connection对象,语法如下: sqlite3.connect(database [,timeout,其他可选参数]) function: 此API打开与SQLite数据库文件的连接。如果成功打开数据库,则返回一个连接对象。 database: 数据库文件的路径,或 “:memory:” ,后者表示在RAM中创建临时数据库。 timeout: 指定连接在引发异常之前等待锁定消失的时间,默认为5.0(秒) 有了connection对象,就能创建游标对象了,即cursor对象,如下: connection.cursor([cursorClass]) function: 创建一个游标,返回游标对象,该游标将在Python的整个数据库编程中使用。 接下来,看看connection对象 和 cursor对象的 “技能” 吧 ↓↓↓ connection对象的方法 方法 说明 connect.cursor() 上述,返回游标对象 connect.execute

python连接数据库SQL的基本方法

ぃ、小莉子 提交于 2020-03-11 11:51:25
#2020年3月11日 #Elizabeth import pymysql # 创建数据库链接 conn = pymysql.connect( host='localhost', port=3306, user='root', passwd='******', db='resumes', charset='utf8', ) # 创建游标 cursor = conn.cursor() # 关闭游标 cursor.close() # 关闭连接 conn.close() 来源: 51CTO 作者: wx5d72071a58c07 链接: https://blog.51cto.com/14534896/2477220

Oracle游标的使用

泄露秘密 提交于 2020-03-11 09:59:21
转至http://www.cnblogs.com/adslg/archive/2010/08/17/1801469.html 游标的概念: 游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。 游标有两种类型:显式游标和隐式游标。在前述程序中用到的SELECT...INTO...查询语句,一次只能从数据库中提取一行数据,对于这种形式的查询和DML操作,系统都会使用一个隐式游标。但是如果要提取多行数据,就要由程序员定义一个显式游标,并通过与游标有关的语句进行处理。显式游标对应一个返回结果为多行多列的SELECT语句。 游标一旦打开,数据就从数据库中传送到游标变量中,然后应用程序再从游标变量中分解出需要的数据,并进行处理。 隐式游标 如前所述,DML操作和单行SELECT语句会使用隐式游标,它们是: * 插入操作:INSERT。 * 更新操作:UPDATE。 * 删除操作:DELETE。 * 单行查询操作:SELECT ... INTO ...。 当系统使用一个隐式游标时,可以通过隐式游标的属性来了解操作的状态和结果,进而控制程序的流程

PL_SQL模块学习之十、游标

拈花ヽ惹草 提交于 2020-03-11 01:06:27
文章目录 游标 1.1 显式游标 1.1.1 创建游标 1.1.2 打开游标 1.1.3 获取数据 1.1.4 关闭游标 1.1.5 使用实例 1.2 隐式游标 1.2.2 游标属性 1.3 FOR游标 1.4 游标变量 1.4 游标表达式 1.5 动态游标 游标 游标是一个指针,指向一块SQL中用来存储处理过来的增删改查操作返回的数据 会话游标会在会话结束前保持活跃 隐式游标是PL/SQL创建并管理 显示游标由用户创建并管理 show v$open_cursor 查看当前会话游标 详情参考 oracle中cursor与refcursor及sys_refcursor的区别 1.1 显式游标 1.1.1 创建游标 语法: CURSOR cursor_name IS sql_statements; 举例: CURSOR selectemp IS select ename,job,sal from scott.emp; 1.1.2 打开游标 语法: OPEN cursor_name [argument [,argument·····]]; 即执行创建游标时关联的SQL语句 1.1.3 获取数据 语法: FETCH cursor_name INTO variable [,variable]; 获取记录集合中一行数据放入变量中 1.1.4 关闭游标 语法: CLOSE cursor_name

第八章、数据库后台编程技术

佐手、 提交于 2020-03-06 01:07:00
第八章、数据库后台编程技术 内容提要: 1、掌握存储过程的定义与使用 2、掌握用户定义函数的创建与使用 3、掌握触发器的定义与使用 4、掌握游标的定义与使用 第一节 存储过程 1、基本概念 使用T-SQL语言编写代码时,有两种方式存储和执行代码: (1)在客户端存储代码,通过客户端程序或SQL命令向DBMS发出操作请求,由DBMS将结果返回给用户程序。 (2)以子程序的形式将程序模块存储在数据库中,供有权限的用户通过调用反复执行。 存储过程 :即存储在数据库中供所有用户程序调用的子程序。 存储过程分为三类 系统存储过程 用户自定义存储过程(如果没有说明的话默认) 扩展存储过程 用户自定义存储过程 是由用户创建并能完成某一特定功能(如查询用户所需数据信息)的存储过程。本节将详细介绍用户自定义的存储过程。 以下三个存储过程即为用户自定义存储过程: 扩展存储过程 是 SQL Server 可以动态装载并执行的动态链接库 (DLL)。扩展存储过程使您得以使用象 C 这样的编程语言创建自己的外部例程。对用户来说,扩展存储过程与普通存储过程一样,执行方法也相同。 存储过程的优点 ① 极高的执行效率。(所有的命令都是以批处理的方式处理) ② 增强代码的重用性和共享性。 ③ 使用存储过程可以减少网络流量。 ④ 使用存储过程保证安全性。 ⑤ 在大型数据库中,应用程序访问数据库的最主要方式就是存储过程

[Java面试十二]数据库概念相关

南楼画角 提交于 2020-03-05 12:54:02
1. 什么是存储过程?它有什么优点? 答:存储过程是一组予编译的 SQL 语句, 它的优点有: 允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。 允许更快执行,如果某操作需要执行大量 SQL 语句或重复执行,存储过程比 SQL 语句执行的要快。 减少网络流量,例如一个需要数百行的 SQL 代码的操作有一条执行语句完成,不需要在网络中发送数百行代码。 更好的安全机制,对于没有权限执行存储过程的用户,也可授权他们执行存储过程。 2. oracle的 存储过程和函数有什么区别? Oracle 中的函数与存储过程的 区别 : A: 函数必须有返回值 , 而过程没有 . B: 函数可以单独执行 . 而过程必须通过 execute 执行 . C: 函数可以嵌入到 SQL 语句中执行 . 而过程不行 . 其实我们可以将比较复杂的查询写成函数 . 然后到存储过程中去调用这些函数 . Oracle 中的函数与存储过程的 特点 : A. 一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。 B. 对于存储过程来说可以返回参数,而函数只能返回值或者表对象。 C. 存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以在查询语句中位于 FROM 关键字的后面。 3. 什么是事务? 答

SQL存储过程中使用游标对查询结果循环

ε祈祈猫儿з 提交于 2020-02-20 00:58:45
有时候需要在SQL中对查询结果循环,下面是一个使用游标的示例: 1 set ANSI_NULLS ON 2 3 set QUOTED_IDENTIFIER ON 4 5 GO 6 7 ALTER PROCEDURE [ dbo ] . [ GetProductPriceFromYear ] 8 9 @ProductID int , 10 11 @Date Datetime 12 13 AS 14 15 BEGIN 16 17 create table #temp1 18 19 ( 20 21 id int IDENTITY ( 1 , 1 ) NOT NULL primary key , 22 23 AddDate varchar ( 20 ), 24 25 [ datename ] varchar ( 20 ), 26 27 week varchar ( 20 ), 28 29 ProductName varchar ( 20 ), 30 31 ProductID varchar ( 20 ), 32 33 LPrice float ( 20 ), 34 35 HPrice float ( 20 ), 36 37 APrice float ( 20 ), 38 39 WeekLPrice float ( 20 ), 40 41 WeekHPrice float ( 20 ),

VFP的13个SPT函数

我只是一个虾纸丫 提交于 2020-02-11 00:53:31
Visual FoxPro 中内置了13个以SQL开头的函数,我们把它们称为SPT函数。就是这13个函数完成了Visual FoxPro的所有的SQL Pass Though功能。从功能上看,我们可以把它们分成五个部分: 一、连接函数: 连接建立函数:SqlConnect(),SqlStringConnect() 连接的断开函数:SqlDisconnect() 二、核心的执行函数: SQL语句传输及执行函数:SqlExec(),SqlPrapare() 批次模式下更多数据集的取得函数:SqlMoreResults() 异步模式下撤销正在执行的SPT的函数:SqlCancel() 三、事务处理函数: SqlCommit(),SqlRollBack() 四、连接通道属性函数: SqlGetProp(),SqlSetProp() 五、数据源的信息截取函数: SqlTables(),SqlColumns() 用法:SQLEXEC(nConnectionHandle, [cSQLCommand, [cCursorName]]) 例:SQLEXEC(hconn,"SELECT * FROM EMPLOYEES","MyCursor") Browse 例:SQLEXEC(hconn,"") &&一个空的命令发送,返回1的话证明连接可用! 传递变量的方法: 1)第一种是利用:问号+变量

oracle程序包

倾然丶 夕夏残阳落幕 提交于 2020-02-08 06:03:35
程序包 概念: 程序包是一种数据库对象,它是对相关的pl/sql类型,子程序,游标,异常,变量和常量的封装。分为2部分。1是程序包规范2是程序包主题。 程序包规范: 声明包内数据类型,变量,常量,游标,子程序和异常等元素,这些元素为程序包的公有元素 语法 CREATE [OR REPLACE] PACKAGE package_name {IS | AS} [公有数据类型定义[公有数据类型定义]。。。。。] ---无需程序包主体实现 [共有游标的声明 [公有游标的声明]。。。。。。] - --需要程序包主体具体实现 [公有子程序的声明[公有子程序的声明]。。。。。] ---需要程序包主体具体实现 END [ package_name ]; (在程序包规范内声明的项可以在程序包之外使用,所以称为公用对象) ---------------------示例一创建程序包规范------------------------------ CREATE OR REPLACE PACKAGE pack_me IS PROCEDURE emp_proc(num NUMBER ); --声明存储过程 FUNCTION emp_fun(empno NUMBER) RETURN VARCHAR2; --声明函数 END pack_me; 程序包的主体: 包定义部分的具体实现

Oracle存储过程学习

点点圈 提交于 2020-02-07 15:34:50
说明:SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML, 数据定义语言DDL,数据控制语言DCL。 0.调试 点击procedure名,右键选择调试。即可进入调试模式。找到procedure,点击右键,查看,可看到编译错误信息。 Dbms_output.Put_line('打印内容:' || v_total); --打印 v_str:=&dno; 其中 &表示键盘输入。即接收键盘输入的值dno表示Name。 1.基本用法   查看所有的存储过程:   select object_name,object_type,status from user_objects where OBJECT_TYPE='PROCEDURE';   查看某个存储过程:   SELECT text FROM user_source WHERE NAME = 'procedure_name';   删除:   drop procedure procedure_name;   新增:   create or replace procedure procedure_name; CREATE OR REPLACE PROCEDURE test1 IS v_total NUMBER; BEGIN SELECT COUNT(*) INTO v_total FROM user; Dbms_output