Django关于SQL注意事项】的更多相关文章

执行原生SQL: from django.db import connection, connections cursor = connection.cursor() cursor.execute( """select * from tb where nid=%s""",[user.nid, ]) result = cursor.fetchall() 原生SQL 赋值放在第二个参数,防止SQL注入 对于时间进行格式化: SQLite时间戳----…
部分常见ORACLE面试题以及SQL注意事项 一.表的创建: 一个通过单列外键联系起父表和子表的简单例子如下: CREATE TABLE parent(id INT NOT NULL, PRIMARY KEY (id) ) CREATE TABLE child(id INT, parent_id INT, INDEX par_ind (parent_id), FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE CASCADE ) 建表时…
django原生sql查询,默认返回的是元祖.如果想返回字典格式,需要自行封装: http://www.360doc.com/content/17/0802/11/9200790_676042880.shtml…
Django查询SQL语句 # 1 res=models.Book.objects.all() # print(res)#<QuerySet [<Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>]> #2 res=models.…
django显示SQL语句 有时候我们使用模型查询数据,但是并不知道具体执行的SQL语句到底对不对.那么可以通过下面的方法打印出具体执行的SQL语句.这样有助于调试: queryset = MyModel.objects.all() queryset.query.__str__() 参考: https://stackoverflow.com/questions/3748295/getting-the-sql-from-a-django-queryset…
现在的自己已经不怕mysql,已经熟悉了sql “搜索优化专家有时候都无法顾全所有,更何况ORM” 两种方法执行 sql原生语句 tablename.objects.raw() - 这样的语句,只能执行 select,只能执行 查询 执行 update, insert 等操作 from django.db import connections, transaction cursor = connections['my_db_alias'].cursor() # Your code here...…
1.Manager.raw(raw_query, params=None, translations=None) >>> for p in Person.objects.raw('SELECT * FROM myapp_person'): ... print(p) John Smith Jane Jones 这个方法接受一个原始的SQL查询,执行它,并返回一个django.db.models.query.RawQuerySet实例.这个RawQuerySet实例可以像普通的QuerySe…
参考:http://www.jb51.net/article/128257.htm coding=utf-8 from django.core.paginator import Paginator def paginator(data_list, per_page, page_no): """封装Django分页""" pages = Paginator(data_list, per_page) # 防止超出页数 if not page_no &…
http://docs.30c.org/djangobook2/chapter10/ def first_names(self, last_name): cursor = connection.cursor() cursor.execute(""" SELECT DISTINCT first_name FROM people_person WHERE last_name = %s""", [last_name]) return [row[0] f…
SQL有指定空值的独特方式,它把空值叫做NULL. Null在数据库中表示 不知道的数据,主要有3种意思: 1)知道数据存在,但不知道具体值. 2)不知道数据是否存在. 3)数据不存在. 在SQL中, NULL的值不同于空字符串,就像Python中None不同于空字符串("")一样.这意味着某个字符型字段(如VARCHAR)的值不可能同时包含NULL和空字符串. 这会引起不必要的歧义或疑惑. 为什么这条记录有个NULL,而那条记录却有个空字符串? 它们之间有区别,还是数据输入不一致?…
在django中执行自定义语句的时候,返回的结果是一个tuple ,并我不是我所期望的dict.当结果是tuple 时,如果要取得数据,必须知道对应数据在结果集中的序号,用序号的方式去得到值. 如果是python与mysql 方式,这种方式可以得到dict结果 conn = getConnection(dbparams) cursor=conn.cursor(cursorclass = MySQLdb.cursors.DictCursor); vreturn=cursor.execute(sql…
1.环境描述环境:Win7 + Django2.1.10 + SQL Server 2014 + Python3.6 + PyCharm 2017.2.3 x64 2.安装插件由于Django默认是不支持SQL Server的,所以需要安装第三方插件来启动SQL Server 插件为: pyodbc (4.0.26) 和 django-pyodbc-azure (2.1.0.0) 3.配置settings.py文件// An highlighted blockDATABASES = { 'def…
1.python下载 https://www.python.org/downloads/windows/ 2.根据当前windows和python的版本,下载pymssql相应的exe安装文件. https://pypi.org/project/pymssql/2.1.1/ 3. 安装用到的扩展 Django只内置了几个 Database Backend(mysql.oracle.sqllite3(默认).postgresql_psycopg2),所以原生并不支持Microsoft SQL Se…
影响版本 Django 1.11.29之前的1.11.x版本.2.2.11之前的2.2.x版本和3.0.4之前的3.0.x版本中存在SQL注入漏洞 提示有admin.vuln.vuln2,3个页面,存在漏洞的是vuln.vuln2 poc http://192.168.49.2:8000/vuln/?q=20) = 1 OR (select utl_inaddr.get_host_name((SELECT version FROM v$instance)) from dual) is null…
page(1-75) 最好是没有意义的主键字段,以方便未来的扩展. PS:主键,以后标书编码填错须要改的时候,关联表都须要跟着改.假设是一个无意义的自增字段是主键就无此原因. 主键最好不要设置为联合主键,否则减少效率,不利于扩展 PS:原文[联合主键能够解决表中没有唯一主键的问题,只是联合主键有例如以下缺点:] 1.效率低.在进行数据的加入.删除.查找及更新的时候,数据库系统必须处理俩个字段,这样大大减少了数据的处理速度. 2.使数据库的结构设计变得槽糕.组成联合主键的字段通常都是有业务含义的字…
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console': { 'level': 'DEBUG', 'class': 'logging.StreamHandler', }, }, 'loggers': { 'django.db.backends': { 'handlers': ['console'], 'propagate': True, 'level': 'DEBUG', }, }…
误删除sql表后,怎么创建数据? 仅仅适合单表,多表因为涉及约束, python mangage.py makemigrations  --> 生成migrations目录和根数据库对应的sql python mangage.py migrate         --> 同步数据到数据库内 python mangage.py migrate --fake    --> 不同步数据到数据库内…
1.一定要记住,SQL 对大小写不敏感! 2.sql中的单引号 '',如果单引号中是字符串,代表是常量 如,select 'b.phoneNumeber' from test; 如果是数字,如'123',不需要,直接表示数字:如果是时间要加单引号'20170206' 如: mysql> select DISTINCT 'LastName' , FirstName from Persons;+----------+-----------+| LastName | FirstName |+-----…
Entity SQL 是 ADO.NET 实体框架 提供的 SQL 类语言,用于支持 实体数据模型 (EDM).Entity SQL 可用于对象查询和使用 EntityClient 提供程序执行的查询. l           关键字 Value关键字 ESQL 提供了 SELECT VALUE 子句以跳过隐式行构造.SELECT VALUE 子句中只能指定一项.在使用这样的子句时,将不会对 SELECT 子句中的项构造行包装器,并且可生成所要形状的集合,例如:SELECT VALUE it F…
不要使用 Python 或 Django 的组件名命名项目.具体而言,不要使用“django”(与 Django 冲 突)或“test”(与 Python 内置的一个包冲突)这样的名称. 在中文版中,“应用程序”对应于“application”,“应用”对应于“app”.在一般的 Web 开发中,这二者几乎没什么区别,但是在 Django 中二者有一个明显的区别:application 是指一个完整的 Web 程序,而 app 是指一个可复用的包,可以“插入”其他 Django 应用程序中.…
view.py中 import MySQL def request_data(request): if request.method == "GET": conn = MySQLdb.Connect( host ='my_ip', port = 3306, user = 'my_user', passwd = 'my_passwd', db = 'my_db', charset = 'utf8' ) cursor = conn.cursor() cursor.execute("…
-------选择表名 配置Ctrl+3 能够select * 桌 USE [NB] GO /* 物: StoredProcedure [dbo].[SP_Select] 脚本日期: 05/28/2015 21:46:25 */ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO Create Proc [dbo].[SP_Select] @OName varchar( 100) As Declare @Str Varchar (1000), @db…
(开开心心每一天~ ---虫瘾师) Python Web(Django) 与SQL SERVRE的连接----Come QQ群:607021567(里面有很多开源代码和资料,并且python的游戏也有) (一).SQL SERVER的基本介绍(简单)----SQL 是用于访问和处理数据库的标准的计算机语言. (二).Django框架--Django采用了MVC的软件设计模式,即模型M,视图V和控制器C. 1.SQL SERVER 基本结构 table---表:字段.记录:  view---视图:…
(开开心心每一天~ ---虫瘾师) Python Web(Django) 与SQL SERVRE的连接----Come QQ群:607021567(里面有很多开源代码和资料,并且python的游戏也有) (一).SQL SERVER的基本介绍(简单)----SQL 是用于访问和处理数据库的标准的计算机语言. (二).Django框架--Django采用了MVC的软件设计模式,即模型M,视图V和控制器C. 1.SQL SERVER 基本结构 table---表:字段.记录:  view---视图:…
参考博客:http://www.cnblogs.com/wupeiqi/articles/6216618.html 1. 创建类 class UserInfo(model.Model): age = CharFiled(是否为空,类型,长度,列名,索引=True||||错误提示,自定义验证规则) .. .. ### 一对多 ### 一对一 - ### 多对多 - 第三张表:a.自动创建:b.手动创建; c. 手动+自动 ### 自关联:互粉 ### a. 索引 b. 一对多: on_delete…
一.字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 primary_key=True 注:当model中如果没有自增列,则自动会创建一个列名为id的列 from django.db import models class UserInfo(models.Model): # 自动创建一个列名为id的且为自增的整数列 username = models.Ch…
本节概要 Django详解 前言 有一部分原因是,确实djando的课程有点多:并且,最近又在研究利用python做数据分析时间上耽误了.所以楼主讲所有的课程全部重新观看了一遍,再来撰写博客,其实说起来,django的博客很难写,必须是代码配合着写,尽量做到吧.为了自己,也为了大家,一定会用代码表述出所有的知识点的. 然后就是,加油!2018!希望大家都能跟我一样定下一个小目标并实现它. 关于django项目的新建其实真的没必要多说.对于其余的重点,一一讲起吧. 1.首先Django的请求生命周…
Django进阶之Model操作复习 一.字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 primary_key=True 注:当model中如果没有自增列,则自动会创建一个列名为id的列 from django.db import models class UserInfo(models.Model): # 自动创建一个列名为id的且为自增的整数列 u…
一.models例子 from django.db import models class User(models.Model): """ 用户表 """ username = models.CharField(verbose_name='用户名', max_length=32) password = models.CharField(verbose_name='密码', max_length=64) email = models.EmailFi…