sql游标

python:数据库连接操作入门

拈花ヽ惹草 提交于 2020-04-08 06:42:21
模块 1 import pymssql,pyodbc 模块说明   pymssql和pyodbc模块都是常用的用于SQL Server、MySQL等数据库的连接及操作的模块,当然一些其他的模块也可以进行相应的操作,类似adodbapi、mssql、mxODBC等,我们在实际用的时候选择其中一个模块就好,对于每一个模块都有相应的支持版本和支持平台,大家可以自行查阅文档 https://wiki.python.org/moin/SQL%20Server 模块安装 1 pip install pymssql   关于pip的使用我在我的另一篇博客里提到了https://www.cnblogs.com/jyroy/p/9410593.html 模块使用   我们利用python来进行数据库的操作,那么第一步就应该是连接数据库,这里我们用pymssql模块中的connect方法连连接,在pyodbc模块中同样也是利用connect方法。 使用 connect 创建连接对象 connect.cursor 创建游标对象,SQL语句的执行基本都在游标上进行 cursor.executeXXX 方法执行SQL语句, cursor.fetchXXX 获取查询结果等 调用 close 方法关闭游标 cursor 和数据库连接    pymssql模块连接 ''' pymssql模块连接SQL

Oracle11G基本操作

牧云@^-^@ 提交于 2020-04-07 02:38:08
[1].创建表空间 CREATE TABLESPACE SYPRO_201310 DATAFILE 'F:\ORACLE_11G\oradata\orcl\SYPRO_201310.DBF' SIZE 10M AUTOEXTEND ON 在指定的F盘下创建一个名SYPRO_201310.DBF的文件初始空间是10M当空间不足时自动增加 [2].删除表空间同时删除表空间所有硬盘上的物理文件 DROP TABLESPACE SYPRO_201310 INCLUDING CONTENTS AND DATAFILES [3].查看当前用户所有表空间 SELECT * FROM DBA_TABLESPACES [4].创建用户liutao 密码 liutao 默认表空间 SYPRO_201310 临时表空间 TEMP CREATE USER liutao IDENTIFIED BY liutao DEFAULT TABLESPACE SYPRO_201310 TEMPORARY TABLESPACE TEMP [5].用户授权-连接数据库的权限 GRANT CONNECT TO LIUTAO WITH ADMIN OPTION [6].用户授权-数据库管理员DBA角色 GRANT DBA TO LIUTAO WITH ADMIN OPTION -- 创建表空间 CREATE

oracle中表空间管理,游标

≡放荡痞女 提交于 2020-04-05 19:58:59
一、表空间 oracle使用表空间来管理数据库的对象(表,序列,过程,函数,游标等)。 oracle的逻辑结构(看不见的):oracle数据库 =》 表空间 =》 表 序列 过程等对象。 oracle的物理结构(能看见):oracle 数据库 =》oracle的数据文件=》数据段=》数据区间=》数据块 。 oracle的数据文件分三种: 1、控制文件,以ctl结尾,控制文件中存储oracle运行所需要的字典,用户等对象。 2、日志文件,以log存储oracle操作产生的日志文件,还包含oracle的重做日志。 3、数据文件,存储用户或者系统创建的对象 表空间也是对象,需要存储到数据文件中,所以创建表空间的时候需要指定使用哪个数据文件。 创建表空间的语法: create tablespace 表空间名称 datafile '存储的位置\文件名.dbf' 指定表空间使用的数据文件,如果文件不存在会自动创建 size 50m 表空间的初始大小 autoextend on next 30m 表空间如果空间不够用了,下次自动扩展的大小 maxsize 300m指定表空间的最大存储空间; 例子: 1 -- 创建表空间 2 create tablespace tab_test01 3 --指定使用的数据文件 4 datafile 'D:\test_tab\test01.dbf' 5 -

ORCALE 相关操作

◇◆丶佛笑我妖孽 提交于 2020-04-02 15:12:24
卸载: 1,关闭oracle所有的服务。 打开注册表:regedit 打开路径: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ 删除该路径下的所有以oracle开始的服务名称 2,打开注册表 路径: HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 删除该oracle目录 3,删除注册表中关于oracle的事件日志注册项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\ 删除以oracle开头的所有内容 4,删除环境变量path中关于oracle的内容。 重新启动操作系统 删除Oracle_Home下的所有数据 删除C:\Program Files下oracle目录 5,删除开始菜单下oracle项 C:\Documents and Settings\All Users\「开始」菜单\程序\Oracle - Ora92 --Orcale启动与关闭 ------------------------------------------------------ --启动oracle数据库服务 net start oracleserviceora92 --启动oracle监听服务 lsnrctl start

php常用的优化手段

孤街醉人 提交于 2020-04-02 06:25:22
由于工作码成狗,抽闲整理了下内容, 以下是网上流传比较广泛的30种SQL查询语句优化方法: 1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0 4、尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num=10 or num=20 可以这样查询: select id from t where num=10 union all select id from t where num=20 5、下面的查询也将导致全表扫描:(不能前置百分号) select id from t where name like '%abc'; 若要提高效率,可以考虑全文检索。 6、in 和 not in 也要慎用,否则会导致全表扫描,如:

Python 操作 SQL 数据库 (ORCAL)

扶醉桌前 提交于 2020-03-16 18:37:14
MySQLdb.connect是python 连接MySQL数据库的方法,在Python中 import MySQLdb即可使用,至于connect中的参数很简单: host:MySQL服务器名 user:数据库使用者 password: 用户登录 密码 db:操作的数据库名 charset:使用的字符集(一般是gb2312) cursor = db.cursor() 其实就是用来获得python执行Mysql命令的方法,也就是 我们所说的操作游标 下面cursor.execute则是真正执行My SQL语句 ,即查询TABLE_PARAMS表的数据。 至于fetchall()则是接收全部的返回结果行 row就是在python中定义的一个变量,用来接收返回结果行的每行数据。同样后面的r也是一个变量,用来接收row中的每个字符,如果写成C的形式就更好理解了 for(string row = ''; row<= cursor.fetchall(): row++) for(char r = ''; r<= row; r++) printf("%c", r); 大致就是这么个意思! 以下实例链接Mysql的TESTDB数据库: #!/usr/bin/python # -*- coding: UTF-8 -*- import MySQLdb # 打开数据库连接 db = MySQLdb

python-操作MySQL数据库

帅比萌擦擦* 提交于 2020-03-16 18:36:55
1、安装MySQLdb? 为了用DB-API编写MySQL脚本,必须确保已经安装了MySQL。复制以下代码,并执行: #!/usr/bin/python # -*- coding: UTF-8 -*- import MySQLdb 如果执行后的输出结果如下所示,意味着你没有安装 MySQLdb 模块: Traceback (most recent call last): File "test.py", line 3, in <module> import MySQLdb ImportError: No module named MySQLdb 安装MySQLdb,请访问 http://sourceforge.net/projects/mysql-python ,(Linux平台可以访问: https://pypi.python.org/pypi/MySQL-python )从这里可选择适合您的平台的安装包,分为预编译的二进制文件和源代码安装包。 如果您选择二进制文件发行版本的话,安装过程基本安装提示即可完成。如果从源代码进行安装的话,则需要切换到MySQLdb发行版本的顶级目录,并键入下列命令: $ gunzip MySQL-python-1.2.2.tar.gz $ tar -xvf MySQL-python-1.2.2.tar $ cd MySQL-python-1.2.2 $

Python3 MySQL 数据库连接 -PyMySQL

我与影子孤独终老i 提交于 2020-03-16 18:36:32
Python 3 操作mysql http://www.runoob.com/python3/python3-mysql.html Python3 MySQL 数据库连接 本文我们为大家介绍 Python3 使用 PyMySQL 连接数据库,并实现简单的增删改查。 什么是 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 命令来安装: $

Python3 MySQL 数据库连接

江枫思渺然 提交于 2020-03-16 18:35:51
PyMySQL 安装 在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装。 PyMySQL 下载地址:https://github.com/PyMySQL/PyMySQL。 如果还未安装,我们可以使用以下命令安装最新版的 PyMySQL: pip install PyMySQ 数据库连接 连接数据库前,请先确认以下事项: 您已经创建了数据库 TESTDB. 在TESTDB数据库中您已经创建了表 EMPLOYEE EMPLOYEE表字段为 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。 连接数据库TESTDB使用的用户名为 "testuser" ,密码为 "test123",你可以可以自己设定或者直接使用root用户名及其密码,Mysql数据库用户授权请使用Grant命令。 在你的机子上已经安装了 Python MySQLdb 模块。 实例: 以下实例链接Mysql的TESTDB数据库: #!/usr/bin/python3 import pymysql # 打开数据库连接 db = pymysql.connect("localhost","testuser","test123","TESTDB" ) # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 使用 execute(

游标和触发器

可紊 提交于 2020-03-12 12:15:10
1. 游标的定义 在 PL/SQL块中执行SELECT、INSERT、DELETE和UPDATE语句时,ORACLE会在内存中为其分配上下文区(Context Area),即缓冲区。游标是指向该区的一个指针,或是命名一个工作区(Work Area),或是一种结构化数据类型。它为应用等量齐观提供了一种对具有多行数据查询结果集中的每一行数据分别进行单独处理的方法,是设计嵌入式SQL语句的应用程序的常用编程方式。 游标分类 1. 显式 游标用于处理 SELECT 语句返回的多行数据;人为创建,干预 2. 隐式 游标用于处理 SELECT INTO 和非查询的 DML 语句;系统自动创建,管理 2. 显式游标示例练习 --游标传参,显示游标 DECLARE -- 定义游标,指定循环列表 cursor c_cur is select * from ruanjian182; -- 定义收参 v_info ruanjian182%rowtype; BEGIN -- 打开游标 open c_cur; -- loop 循环获取. loop fetch c_cur into v_info; -- 退出条件判断 exit when c_cur%notfound; dbms_output.put_line(v_info.id || ' '||v_info.name); end loop; -- 关闭游标