游标

odoo中self的使用

耗尽温柔 提交于 2019-11-28 13:26:33
odoo中self的使用 介绍 对象 self.env 提供对请求参数和其他有用的访问: self.env.cr or self._cr 是数据库的游标对象,可用于对数据库的操作 self.env.user 是当前用户的记录 self.env.context 或 self._context 是上下文字典 self.env.ref(xml_id) 返回对应于XML id的记录 self.env[model_name] 返回给定模型的实例 来源: https://www.cnblogs.com/itelephant/p/11408910.html

MySQL-注释-Navicat基本使用-复杂查询练习题-解题思路-pymysql操作数据库-SQL注入-05

别来无恙 提交于 2019-11-28 13:23:25
目录 mysql语句注释 navicat 的基本使用 特色(个人总结) 与数据服务器建立连接 创建&打开数据库、表 创建 打开 修改操作表结构 修改表结构 查询修改操作表数据 基本语句对应的操作 模型 ***** 特色功能 从数据库建立模型 模型页面基本操作 用模型设计数据库并导出 结构、数据导入导出 导出 导入 附属小功能 刷新小按钮 查看操作对应sql语句 执行时间查看 手动筛选数据 练习 数据准备 使用SQL语句导入表结构与数据 如何验证答案是否正确 题目 部分参考答案(只放了两题的) 少数题推导歩鄹(记录思路) 亦可处理好缩进 选择部分代码执行 推导每步执行结果 核心点--解题思路与注意点、小结 个人解题思路与技巧 小结 某题详细分析思路(没有写完) 题目 分析流程、技巧/注意点 看题分析用到哪些表 在模型中查看表关联 查看表结构与内容,标注每一步的关联字段 人工分析验证语句执行结果是否正确 推荐还是从最初那步开始去校对结果 按思路人工查表 通过 python 进行 MySQL 操作 先安装 pymysql 模块 参考数据 查询案例 普通查询操作 前置数据 SQL注入 避免SQL注入 其他操作(增改删) 扩展点 utf8mb4 mysql语句注释 利用注释备注信息(注释用的6 也可以造成 SQL注入 ) -- 这是行注释,这一行从这里开始的SQL语句都不会被执行 #

python操作MySQL

久未见 提交于 2019-11-28 12:52:01
python操作MySQL 2019-08-23 使用pymysql模块进行MySQL的操作,主要分为下面几个步骤,不同的操作会有些许不同,但答题符合下面的步骤。 具体对数据库表进行增删改查会有不同的操作,具体见2,3,4节。 1操作步骤 1.连接 2.创建游标 3.执行SQL语句 4.关闭游标 5.关闭SQL连接 #导入模块 import pymysql #连接MySQL conn = pymysql.connect(host="localhost",user="root",password="",database="db1") #创建游标 cursor = conn.cursor() #执行命令 sql = "show tables" cursor.execute(sql) #关闭游标 cursor.close() #关闭连接 conn.close() View Code 2.新建/删除数据库表 符合基本步骤的操作。 #导入模块 import pymysql #连接MySQL conn = pymysql.connect(host="localhost",user="root",password="",database="db2") #创建游标 cursor = conn.cursor() #删除test1表 sql = "drop table test1" cursor

pymysql 的用法

独自空忆成欢 提交于 2019-11-28 12:01:53
(一)Pymysql 的操作方法 1、安装pymysql --在命令窗口输入: pip install pymysql 2、使用pymysql 1)首先连接数据库--要知道(ip、port、user、passwd、db) 2)建立游标--相当于仓库管理员帮助你拿取数据(可指定游标类型,如cursors.DicCursor ) 3)执行测试语句--execute() 4)获取结果--fetchall()/fetchone() conn = pymysql.connect(host='111.11.1.11', port=1024,user='zz', password='xixi', charset='utf8', autocommit=True ) cur = conn.cursor(pymysql.cursors.DicCursor)#建立游标 #指定游标类型 sql = 'select * from app_myuser limit 5;' sql2 = "insert into app_myusr(username,passwd,is_admin) values ('zz','526453','89')" cur.execute()#执行测试语句 result = cur.fetchall()#获取所有结果,获取的是二维数组 result = cur.fetchone()

50种方法优化SQL Server

冷暖自知 提交于 2019-11-28 11:38:14
查询速度慢的原因很多,常见如下几种:      1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)      2、I/O吞吐量小,形成了瓶颈效应。      3、没有创建计算列导致查询不优化。      4、内存不足      5、网络速度慢      6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)      7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)      8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。      9、返回了不必要的行和列      10、查询语句不好,没有优化   可以通过如下方法来优化查询 :      1、把数据、日志、索引放到不同的I/O设备上,增加读取速度,以前可以将Tempdb应放在RAID0上,SQL2000不在支持。数据量(尺寸)越大,提高I/O越重要.      2、纵向、横向分割表,减少表的尺寸(sp_spaceuse)      3、升级硬件      4、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。注意填充因子要适当(最好是使用默认值0)。索引应该尽量小,使用字节数小的列建索引好(参照索引的创建),不要对有限的几个值的字段建单一索引如性别字段      5、提高网速;      6、扩大服务器的内存,Windows 2000和SQL

50种方法优化SQL Server

折月煮酒 提交于 2019-11-28 11:37:57
查询速度慢的原因很多,常见如下几种:      1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)      2、I/O吞吐量小,形成了瓶颈效应。      3、没有创建计算列导致查询不优化。      4、内存不足      5、网络速度慢      6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)      7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)      8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。      9、返回了不必要的行和列      10、查询语句不好,没有优化   可以通过如下方法来优化查询 :      1、把数据、日志、索引放到不同的I/O设备上,增加读取速度,以前可以将Tempdb应放在RAID0上,SQL2000不在支持。数据量(尺寸)越大,提高I/O越重要.      2、纵向、横向分割表,减少表的尺寸(sp_spaceuse)      3、升级硬件      4、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。注意填充因子要适当(最好是使用默认值0)。索引应该尽量小,使用字节数小的列建索引好(参照索引的创建),不要对有限的几个值的字段建单一索引如性别字段      5、提高网速;      6、扩大服务器的内存,Windows 2000和SQL

小菜鸟之数据库

拈花ヽ惹草 提交于 2019-11-28 08:39:50
数据库复习提纲之文字版(这个只是自己整理文案,答案是查的,勿喷,谢谢,希望给别人一些帮助) 1 、 Oracle和 SQL server2005的区别 Oracle数据库:Oracle Database,又名Oracle RDBMS,或简称Oracle。是 甲骨文公司 的一款 关系数据库管理系统 。 它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。 sql server数据库:美国Microsoft公司推出的一种关系型数据库系统。SQL Server是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的 数据库管理系统 ,实现了与WindowsNT的有机结合,提供了基于 事务 的企业级信息管理系统方案 两者的区别: (1)操作的平台不同 Oracle可在所有主流平台上运行,Oracle数据库采用开放的策略目标,它使得客户可以选择一种最适合他们特定需要的解决方案。客户可以利用很多种第三方应用程序、工具。而SQL Server却只能在Windows上运行了。   但SQL Sever在Window平台上的表现,和Windows操作系统的整体结合程度,使用方便性

【Python pymysql】

百般思念 提交于 2019-11-28 08:02:58
原文: http://blog.gqylpy.com/gqy/257 目录 关于sql注入 用户存在,绕过密码 用户不存在,绕过用户与密码 解决sql注入问题 commit() 增 改 删 查询数据库 fetchone() fetchall() fetchmany() > 补充: > > > 建立链接时间过长后会自动断开链接,可像下面这样解决: > ```python > conn.ping(reconnect=True) > ``` > 检查链接是否还存在,参数`reconnect=True` 表示如果链接已不存在,则重新建立链接 > > 补充: > # 回滚,通常用于事务conn.rollback() pymysql模块用于在Python程序中操作数据库. 该模块本质是一个套接字客户端软件. Windows安装命令:pip3 install pymysql 基本使用: # 准备数据库、数据和远程用户: mysql> select * from blog.userinfo;+----+------+-----+| id | name | pwd |+----+------+-----+| 1 | zyk | ___ |+----+------+-----+1 row in set (0.00 sec) mysql> show grants for 'zyk'@'%';+-----

oracle存储过程

北战南征 提交于 2019-11-28 07:45:01
一.存储过程是一组为完成特定功能的sql语句,经编译后存储在数据库中。当一个事务涉及到多个sql语句或者多个表的操作时要考虑使用存储过程;还有当一个事务的完成需要复杂的商业逻辑(对多个数据操作,对多个状态的判断更改)以及比较复杂的统计和汇总也需要进行考虑。 二.存储过程的优缺点 优点: 1.使程序执行效率更高,安全性更好,过程建立后已经编译并且储存到数据库,直接写sql就需要先分析再执行,而且直接写sql会带来安全问题,例如sql注入等。 2.过程只是在调用时才使用,所以不会很占系统资源。 3.可以用于降低网络流量,存储过程代码直接存储于数据库中,不会产生大量T-sql语句的代码流量。 4.增强对执行计划的重复使用,可以通过使用远程过程调用 (RPC) 处理服务器上的存储过程而提高性能。 5.可维护性高。 6.代码精简一致,一个存储过程可以用于程序的不同位置。 7.增强安全性。(1)向用户授予对存储过程(而不是表)的访问权限,可提供对特定数据的访问;(2)提高代码安全,防止sql注入(未彻底解决);(3)SqlParameter 类指定存储过程参数的数据类型,可以验证用户提供的值类型。 缺点:大量利用过程,会对服务器造成较大压力。 参考博客:https://www.cnblogs.com/dc-earl/articles/9260111.html 三.存储过程的编写 语法

必须掌握的30种SQL语句优化

佐手、 提交于 2019-11-28 07:25:25
1、创建索引 CREATE INDEX lindex on table_name(`姓名`) 2、删除索引 DROP INDEX lindex on table_name 3、查看已创建的索引 show index from table_name 4、查看sql是否使用索引 EXPLAIN sql EXPLAIN SELECT * FROM table_name WHERE `姓名` = '张三' explain执行结果关注以下几个字段: type: 显示sql执行的类型,从最好到最差的类型为system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL。一般来说,type至少要达到range级别,最好达到ref级别,低于range级别的sql必须进行优化。 key: 显示sql执行过程中实际使用的键或索引,如果为null则表示未使用任何索引,必须进行优化。 Extra: 如果是Only index,这意味着信息只用索引树中的信息检索出的,这比扫描整个表要快。 如果是where used,就是使用上了where限制。 如果是impossible where 表示用不着where,一般就是没查出来啥