cursor

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 ...。 当系统使用一个隐式游标时,可以通过隐式游标的属性来了解操作的状态和结果,进而控制程序的流程

oracle存储过程、声明变量、for循环

南笙酒味 提交于 2020-03-08 23:43:43
oracle存储过程、声明变量、for循环 1、创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out type) as --声明变量(变量名 变量类型) begin --存储过程的执行体 end test; 打印出输入的时间信息 E.g: create or replace procedure test(workDate in Date) is begin dbms_output.putline('The input date is:'||to_date(workDate,'yyyy-mm-dd')); end test; 2、变量赋值 变量名 := 值; E.g: create or replace procedure test(workDate in Date) is x number(4,2); begin x := 1; end test; 3、判断语句: if 比较式 then begin end; end if; E.g create or replace procedure test(x in number) is begin if x >0 then begin x := 0 - x; end; end if; if x = 0

oracle存储过程、声明变量、for循环|转|

混江龙づ霸主 提交于 2020-03-08 23:40:48
oracle存储过程、声明变量、for循环 1、创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out type) as --声明变量(变量名 变量类型) begin --存储过程的执行体 end test; 打印出输入的时间信息 E.g: create or replace procedure test(workDate in Date) is begin dbms_output.putline('The input date is:'||to_date(workDate,'yyyy-mm-dd')); end test; 2、变量赋值 变量名 := 值; E.g: create or replace procedure test(workDate in Date) is x number(4,2); begin x := 1; end test; 3、判断语句: if 比较式 then begin end; end if; E.g create or replace procedure test(x in number) is begin if x >0 then begin x := 0 - x; end; end if; if x = 0

Python-pymysql

半世苍凉 提交于 2020-03-07 10:28:35
一 安装及导入   1. pip3 install pymysql   2. 安装完需要把包的路径加到Pycharm的路径中 二 执行SQL语句 import pymysql # create connection connection = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='test', charset="utf8") # create cursor cursor = connection.cursor() # execute statement cursor.execute('insert into tb1(nid,name) values(3, "Howard")') #cursor.execute('insert into tb1(nid,name) values(4, %s), input') 可以进行字符串拼接传参数,不能通过字符串拼接后传递变量的形式,不安全#execute many statementsvalue = ( (5,'Paul'), (6, 'Wade') )cursor.executemany('insert into tb1(nid,name) values(%s,%s), value) # commit statemnet

获取redis指定实例中所有的key

故事扮演 提交于 2020-03-07 10:14:34
需求:获取redis指定的实例中所有的key的名字。 千万不要使用keys *,可以使用scan命令的递归方式获取。 以下给出自己写的脚本,经过测试效果还可以。 db_ip=5.5.5.101 db_port=6379 password=abc123 cursor=0 cnt=100 new_cursor=0 redis-cli -h $db_ip -p $db_port -a $password scan $cursor count $cnt > scan_tmp_result new_cursor=`sed -n '1p' scan_tmp_result` sed -n '2,$p' scan_tmp_result >> scan_result while [ $cursor -ne $new_cursor ] do redis-cli -h $db_ip -p $db_port -a $password scan $new_cursor count $cnt > scan_tmp_result new_cursor=`sed -n '1p' scan_tmp_result` sed -n '2,$p' scan_tmp_result >> scan_result done rm -rf scan_tmp_result 来源: https://www.cnblogs.com

Python连接MySQL数据库之pymysql模块使用

依然范特西╮ 提交于 2020-03-07 08:23:59
Python连接MySQL数据库之pymysql模块使用 Python3连接MySQL 本文介绍Python3连接MySQL的第三方库--PyMySQL的基本使用。 PyMySQL介绍 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 Django中也可以使用PyMySQL连接MySQL数据库。 PyMySQL安装 pip install pymysql 连接数据库 注意事项 在进行本文以下内容之前需要注意: 你有一个MySQL数据库,并且已经启动。 你有可以连接该数据库的用户名和密码 你有一个有权限操作的database 基本使用 # 导入pymysql模块 import pymysql # 连接database conn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”) # 得到一个可以执行SQL语句的光标对象 cursor = conn.cursor() # 定义要执行的SQL语句 sql = """ CREATE TABLE USER1 ( id INT auto_increment PRIMARY KEY , name CHAR(10) NOT NULL UNIQUE

数据库表数据清除

穿精又带淫゛_ 提交于 2020-03-07 04:16:40
use [数据库] GO DECLARE @name varchar(50) DECLARE @count int set @count=0 DECLARE contact_cursor CURSOR FOR select name from sysobjects where xtype='u' and name like 'View_%' OPEN contact_cursor FETCH NEXT FROM contact_cursor INTO @name--表名 WHILE @@FETCH_STATUS = 0 BEGIN print '已经清空表'+@name set @count=@count+1 exec('truncate table '+@name) FETCH NEXT FROM contact_cursor INTO @name END print '处理完成,共清空数据表'+convert(varchar(50),@count)+'个' CLOSE contact_cursor DEALLOCATE contact_cursor GO 来源: CSDN 作者: u010818827 链接: https://blog.csdn.net/u010818827/article/details/104698347

sqL 根据parentID childID 隶属关系,拼接到字段

陌路散爱 提交于 2020-03-06 08:41:40
1 declare m_cursor cursor scroll for 2 select top 10 DeptID,DeptParentID from Department 3 4 open m_cursor 5 declare @DeptID varchar(100), @DeptParentID varchar(100),@aaaa varchar(1000) 6 7 fetch next from m_cursor into @DeptID,@DeptParentID 8 while @@FETCH_STATUS=0 9 begin 10 11 WITH Tree 12 AS 13 ( 14 SELECT DeptID,DeptParentID,DeptName FROM Department C WHERE C.DeptID = @DeptID -- child id 15 UNION ALL 16 SELECT P.DeptID,P.DeptParentID,p.DeptName FROM Department P 17 INNER JOIN Tree T ON P.DeptID = T.DeptParentID 18 ) 19 select @aaaa=(SELECT CAST(DeptName AS varchar)+ '-' FROM Tree FOR XML

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

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