sql游标

《疯狂Python讲义》之数据库编程

十年热恋 提交于 2020-02-05 07:31:46
Python数据库API简介 全局变量 Python推荐支持DB API2.0的数据库模块都应该提供如下3个全局变量 apilevel:该全局变量显示数据库模块的API版本号 threadsafety:该全局变量指定数据库模块的线程安全等级 paramstyle:该全局变量指定当SQL语句需要参数时,可以使用哪种风格的参数 数据库API的核心类 cursor(factory=Cursor):打开游标 commit():提交事务 rollback():回滚事务 close():关闭数据库连接 isolation_level:返回或设置数据库连接中事务的隔离级别 in_transaction:判断当前是否处于事务中 游标对象通常会具有如下方法和属性: execute(sql[,parameters]):执行SQL语句 executemany(sql,seq_of_parameters):重复执行SQL语句 fetchone():获取查询结果集的下一行,如果没有下一行,则返回None fetchmany(size=cursor.arraysize):返回查询结果集的下N行组成的列表,如果没有更多的数据行,则返回空列表 fetchall():返回查询结果集的全部行组成的列表 close():关闭游标 rowcount:该只读数据返回收SQL语句影响的行数 lastrowid

【Python】 MySQLdb的安装与使用

心已入冬 提交于 2020-02-02 05:28:08
MySQLdb   MySQLdb是一款较为底层的,python连接mysql用的模块。和更加高级的,提供ORM的模块不同,MySQLdb主要还是聚焦于如何和数据库进行连接和进行基本的操作,操作的体现形式主要还是进行SQL语句的执行。 ■  安装   在Linux下 pip install MySQL-python   如果安装之后仍不能正常运行,尝试用yum install MySQL-python,因为这个模块需要一些第三方程序来运行的。   如果是在windows环境下安装的话那么可以直接下载一个安装程序来安装已经编译好的模块。比如去【http://www.codegood.com/downloads】下载。 ■  基本使用   MySQLdb提供了connect方法来建立一个与数据库的连接,调用这个对象的close方法来关闭一个连接。通过这个连接可以创建出一个游标对象,通过游标对象来进行数据的增删查改。 import MySQLdb db = MySQLdb.connect(host='localhost',user='weiyz',passwd='123456',db='test_DB',charset='utf-8') cursor = db.cursor() #创建一个游标对象 cursor.excute("use test_table;show tables;")

python操作mysql数据库

喜夏-厌秋 提交于 2020-02-02 04:22:27
Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口。 Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: GadFly mSQL MySQL PostgreSQL Microsoft SQL Server 2000 Informix Interbase Oracle Sybase 你可以访问 Python数据库接口及API 查看详细的支持数据库列表。 不同的数据库你需要下载不同的DB API模块,例如你需要访问Oracle数据库和Mysql数据,你需要下载Oracle和MySQL数据库模块。 DB-API 是一个规范. 它定义了一系列必须的对象和数据库存取方式, 以便为各种各样的底层数据库系统和多种多样的数据库接口程序提供一致的访问接口 。 Python的DB-API,为大多数的数据库实现了接口,使用它连接各数据库后,就可以用相同的方式操作各数据库。 Python DB-API使用流程: 引入 API 模块。 获取与数据库的连接。 执行SQL语句和存储过程。 关闭数据库连接。 什么是MySQLdb? MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。 如何安装MySQLdb?

Python3 MySQL 数据库连接

杀马特。学长 韩版系。学妹 提交于 2020-02-02 04:15:31
什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。 PyMySQL 安装 在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装。 PyMySQL 下载地址:https://github.com/PyMySQL/PyMySQL。 如果还未安装,我们可以使用以下命令安装最新版的 PyMySQL: $ pip install PyMySQL 如果你的系统不支持 pip 命令,可以使用以下方式安装: 1、使用 git 命令下载安装包安装(你也可以手动下载): $ git clone https://github.com/PyMySQL/PyMySQL $ cd PyMySQL/ $ python3 setup.py install 2、如果需要制定版本号,可以使用 curl 命令来安装: $ # X.X 为 PyMySQL 的版本号 $ curl -L https://github.com/PyMySQL/PyMySQL/tarball/pymysql-X.X | tar xz $ cd PyMySQL* $ python3 setup.py

碎点篇—— oracle 语法和练习

岁酱吖の 提交于 2020-02-02 03:47:19
返回主目录 --select from where having group by order by 的正确执行顺序为: --from-->where-->group by-->having-->select-->order by -------------------------------------------------------- --1、去重:distinct 必须放在开头,多字段,每个字段不一样才去重 --2、条件比较: -- =,!=,<>,<,>,<=,>=,any,some,all -- is null, is not null -- between x and y -- in(list) , not in (list) -- like _,%,escape '\' _\%escape '\' -- not, (and,or) and优先级高 -- 按照单个列排序 -- order by col -- 降序排列:order by col desc -- 升序排列:order by col asc -- 按多个列排序:(优先级) -- order by col1 desc(asc) , col2 desc(asc) --1.全集:union all --2.并集:union (去重) --3.交集:intersect --4.差集:minus --5.不懂怎么用

Python 连接sqlserve

↘锁芯ラ 提交于 2020-02-01 12:51:09
import pymssql class linkDB(): def linkdb(): #数据库远程连接 conn = pymssql.connect(host="数据库IP地址:端口号",user="用户名",password="密码",database="数据库名",charset="utf8") #使用cursor()方法获取操作游标 cursor = conn.cursor() #查询语句 sql = "这里面是sql语句" try: cursor.execute(sql) #游标 result = cursor.fetchall() #查询 print(result) except: print("连接数据库报错了!") #关闭数据库连接 conn.close() if __name__ == '__main__': linkDB.linkdb() 来源: https://www.cnblogs.com/python99/p/12248050.html

游标FOR循环

耗尽温柔 提交于 2020-01-29 05:58:59
游标FOR循环 在大多数时候我们在设计程序的时候都遵循下面的步骤: 1、打开游标 2、开始循环 3、从游标中取值 4、检查那一行被返回 5、处理 6、关闭循环 7、关闭游标 可以简单的把这一类代码称为游标用于循环。但还有一种循环与这种类型不相同,这就是FOR循环,用于FOR循环的游标按照正常的声明方式声明,它的优点在于不需要显式的打开、关闭、取数据,测试数据的存在、定义存放数据的变量等等。游标FOR循环的语法如下: FOR record_name IN (corsor_name[(parameter[,parameter]...)] | (query_difinition) LOOP statements END LOOP; 下面我们用for循环重写上面的例子: DECALRE CURSOR c_dept IS SELECT deptno,dname FROM dept ORDER BY deptno; CURSOR c_emp (p_dept VARACHAR2) IS SELECT ename,salary FROM emp WHERE deptno=p_dept ORDER BY ename v_tot_salary EMP.SALARY%TYPE; BEGIN FOR r_dept IN c_dept LOOP DBMS_OUTPUT.PUT_LINE(

游标(转2)

折月煮酒 提交于 2020-01-28 12:15:45
使用游标   这里要做一个声明,我们所说的游标通常是指显式游标,因此从现在起没有特别指明的情况,我们所说的游标都是指显式游标。要在程序中使用游标,必须首先声明游标。   声明游标   语法: CURSOR cursor_name IS select_statement;   在PL/SQL中游标名是一个未声明变量,不能给游标名赋值或用于表达式中。   例: DELCARE CURSOR C_EMP IS SELECT empno,ename,salary FROM emp WHERE salary>2000 ORDER BY ename; ........ BEGIN   在游标定义中SELECT语句中不一定非要表可以是视图,也可以从多个表或视图中选择的列,甚至可以使用*来选择所有的列 。    打开游标   使用游标中的值之前应该首先打开游标,打开游标初始化查询处理。打开游标的语法是: OPEN cursor_name   cursor_name是在声明部分定义的游标名。   例: OPEN C_EMP;    关闭游标   语法: CLOSE cursor_name   例: CLOSE C_EMP;    从游标提取数据   从游标得到一行数据使用FETCH命令。每一次提取数据后,游标都指向结果集的下一行。语法如下: FETCH cursor_name INTO

MongoDB学习笔记(查询)

丶灬走出姿态 提交于 2020-01-28 05:03:41
1. 基本查询: 构造查询数据。 > db.test.findOne() { "_id" : ObjectId("4fd58ecbb9ac507e96276f1a"), "name" : "stephen", "age" : 35, "genda" : "male", "email" : "stephen@hotmail.com" } --多条件查询。下面的示例等同于SQL语句的where name = "stephen" and age = 35 > db.test.find({"name":"stephen","age":35}) { "_id" : ObjectId("4fd58ecbb9ac507e96276f1a"), "name" : "stephen", "age" : 35, "genda" : "male", "email" : "stephen@hotmail.com" } --返回指定的文档键值对。下面的示例将只是返回name和age键值对。 > db.test.find({}, {"name":1,"age":1}) { "_id" : ObjectId("4fd58ecbb9ac507e96276f1a"), "name" : "stephen", "age" : 35 } --指定不返回的文档键值对。下面的示例将返回除name之外的所有键值对。 > db

oracle PLSQL、游标、存储过程、触发器

僤鯓⒐⒋嵵緔 提交于 2020-01-27 00:51:21
文章主目录 PL/SQL 游标 存储过程 触发器 回到顶部 PL/SQL PL/SQL 简介 每一种数据库都有这样的一种语言 , PL/SQL 是在Oracle里面的一种编程语言,在Oracle内部使用的编程语言。我们知道SQL语言是没有分支和循环的,而PL语言是为了补充SQL语言的, 是带有了分支和循环的语言 。 PL/SQL 语法 基本数据类型声明 declare v_name varchar2(20); v_temp number(1); v_count binary_integer := 0; v_sal number(7,2) := 4000.00; v_date date := sysdate; v_pi constant number(3,2) := 3.14; v_valid boolean := false; v_name varchar2(20) not null := 'myname'; declare开头声明变量,v_name表示变量名字,通常以v_xxx这种格式命名变量,varchar2(20)表示变量类型, :=为赋值操作符 。 在 PL/SQL里面boolean类型变量在定义的时候一定要给初始值,Oracle 里面的put_line()不能打印boolean类型的值。 %type 属性声明 还有一种声明变量的方法:使用 %type属性。 declare