TypeError: %d format: a number is required, not str" MySQLdb的字符串格式化不是标准的python的字符串格式化,应当一直使用%s用于字符串格式化 python中无论整数,字符串占位符都为 %s,且不需加单引号 sql="insert into myauth_perm(permname, permurl, permdemo, parentid) values(%s, %s, %s, %s)"cur.execute(sql,[html_permname, html_permurl, html_permdemo,html_parentid]) python中sql语句的占位符标签:字符串 ...
_report as ( select t0.id,t0.hpartner_id as hpartner_id, t0.khwl_code as khwl_code,t1.product_tmpl_id as productn, t3.pname,t3.material,t3.spec, t4.id as name_uom, t5.price as custo_price,t0.product_meno as product_meno ,t0.meno as meno,t5.date_from,t5.date_to from product_custo_info t0 LEFT JOIN product_product t1 on t0.product_tmpl_id=t1.prod...
#!/usr/bin/env python # -*- coding:utf-8 -*- # @Time : 2017/11/20 16:03 # @Author : lijunjiang # @File : demo.pyimport MySQLdb# 连接数据库 # host 数据库IP # port 数据库监听端口 # user 数据库用户 # passwd 用户密码 # db 数据库名 # charset 字符集 默认uft-8# MySQLdb.Connect 方法 #comn=MySQLdb.Connect(host="11.11.11.11",user="python",passwd="python",db="python",charset="utf8",port=3306)# 函数型式 ...
. 问题描述在做爬虫的时候,数据量很大,大约有五百百万条数据,假设有个字段是conmany_name(拍卖公司名称),我们现在需要从五百万条数据里面查找出来五十家拍卖公司, 并且要求字段 time(时间) 大于7月一号,小于10月31号。2. 问题解决我们首先想到的解决办法是添加索引,对拍卖公司字段添加索引,但是因为日期是大于7月1号,小于10月31号,在这里用索引的效率很低, 并且要重复的查询出来五十家公司,效率很低,有没有好...
代码: #/usr/local/env python #_*_coding:utf-8_*_#第一部分:sql解析 import os def sql_parse(sql): #用户输入sql 转成结构化的字典 第一步:sql解析 流程 1.收到 sql查询条件 2.sql_parse 来分发要求给 select_parse 3.select_parse 调用 handle_parse 解析sql 4.handle_parse 返回解析sql后的结果 sql_dic 给 select_parse 5.select_parse 把 sql_dic 返回给sql_parse sql_dic=sql_parse(s...
_get_cust_number(self,cr,uid,ids,field_name,args,context=None):res={}for order in self.browse(cr, uid, ids, context=context):#获取单据信息 aa=order.originif aa:sql="select t1.cust_numr_no from stock_fah t0 left join sale_orde t1 on t0.origin=t1.name where t0.origin=‘%s‘"%(aa)cr.execute(sql)dict4=cr.dictfetchall()if dict4:dd=dict4[0][‘cust_numr_no‘]res[order.id]=ddelse:res[order.id]=...
变量替代的时候还有一种写法:cur.execute(“SELECT * FROM %s WHERE city = %s” %city)前面代码使用了逗号,这里使用了百分号%。两者区别在于变量的解释方式。使用逗号,变量是作为execute的参数传入的,由MySQLdb的内置方法把变量解释成合适的内容。使用百分号%则是用Python编译器对%s执行相应的替代,这种方法是有漏洞的,有些时候(比如包含某些特殊字符的时候)不能正常解析,甚至会有注入漏洞。一般情况下都要把变量作为exe...
show databases;默认数据库: mysql - 用户权限相关数据 test - 用于用户测试数据 information_schema - MySQL本身架构相关数据 2.创建数据库# utf-8 (推荐使用) CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;# gbk CREATE DATABASE 数据库名称 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;3.删除数据库drop database 数据库名称;4.使用数据库use 数据库名称;二、表级别 1.显示表sh...
pymysql import typesdbinfo={"host":"192.168.6.41","user":"lrtsaudio","password":"2&Ty3DW75i!(vgo.l3Odp1fgWgEG","db":"audiobook" }rule=1 sql="SELECT book_id,book_name FROM t_book WHERE market_rule=%s"% rule connect1=pymysql.connect(**dbinfo) cursor1=connect1.cursor() cursor1.execute(sql) r2=cursor1.fetchmany(2) print(r2) cursor1.close() connect1.close*这种方法跟常规方法区别不大,且存在漏洞。有些时候...
osif __name__ == ‘__main__‘:#加载Django项目的配置信息os.environ.setdefault("DJANGO_SETTINGS_MODULE","myblog.settings")#导入Django,并启动Django项目import djangodjango.setup()#导入相应的modelsfrom person import models#测试sql语句author_obj = models.Author.objects.get(name="gong")print(author_obj)最后直接运行run.py即可。如何在python文件中测试sql语句标签:main 测试 新建 settings code get ...
: 当重复使用到某个查询语句时,可以设置别名,方便日后使用,这样就叫做创建视图 创建:create view 视图名称 as 查询语句 # 这是虚拟的,原来的表改变这个视图也会改变 修改:alter view 视图名称 as 查询语句 删除:drop view 视图名称触发器: 在创建时,要先修改终止符,否则执行到;时就会终止,不会执行END,这样就创建不出触发器delimiter // # 这样可以把终止符改成// create trigger 名称 before/after insert...
sys import pymssql reload(sys) sys.setdefaultencoding("utf-8")#数据库连接配置 config_dict={‘user‘:‘sa‘,‘password‘:‘‘,‘host‘:‘127.0.0.1‘,‘database‘:‘pawn2007‘}def SQLServer_connect(config_dict):‘‘‘SQLServer 数据库连接‘‘‘connect=pymssql.connect(**config_dict)print ‘Connect Succesful!!!‘return connectdef executeSQL(config_dict,one_sql):‘‘‘执行给定的SQL语句‘‘‘rowcount=Non...
增 create database db1; create database db2 charset=‘gbk‘; # 查 show databases; # 查所有 show create database db1; # 查单个 # 改 alter database db2 charset=‘utf8‘; # 删 drop database db2; 2.表相关""" 在操作表(文件)的时候 需要指定所在的库(文件夹) """ # 查看当前所在的库的名字 select database(); # 切换库 use db1; # 增 create table t1(id int,name char(4)); # 查 show tables; # 查看当前库下面所有的...
conn = MySQLdb.connect(host=‘xxx‘,user=‘xxxxx,passwd=‘xxxx‘,db=‘xxxx‘) cursor = conn.cursor() sql = """select sum(amount_total),sum(amount_untaxed) from account_invoice where comment ="换美金" and create_time >= ‘%s‘ and create_time <= ‘%s‘"""%(date_begin,date_end) cursor.execute(sql) result = cursor.fetchall()这是我当时查询数据库的指令,出现了乱码,提示latin1编码失败,即UnicodeEncode...
numpy as np import pymysqlPa=101325#Pa 大气压力input Ta=30#摄氏度 介质温度input Q=270000#m3/h 设计流量input P=4200#Pa 设计压力input n=1000#rp/min 输入转速input chdong = ‘b‘#传动方式inputresultinput=np.array([Pa,Ta,Q,P,n,chdong])conn = pymysql.connect(host=‘xxxx‘, user=‘xxxxx‘, password=‘xxxx‘, port=3306, db=‘xxxxxx‘)cur = conn.cursor() # 生成游标对象sql = "INSERT INTO `inputtable` (`Pa`,...