sql = ''.join(f.readlines())
㈡ python如何操作SQL语句
这里有个比较清楚的解答:
http://..com/question/262503775.html
但是你的是一个文本的话,就要稍微改一下咯
如果改成cx_Oracle的话,就是这样的:
import sys
import cx_Oracle
import os
class handleDataBase:
def __init__(self,user,passwd,server,sql):
self.user=user
self.passwd=passwd
self.server=server
self.sql=sql
self.conn = cx_Oracle.connect("%s/%s@%s"%(self.user,self.passwd,self.server))
def selectDB(self):
cursor = self.conn.cursor()
cursor.execute("select count(1) from search_item_08")
ret = cursor.fetchall()
cursor.close()
print ret
return ret
def closeDB(self):
self.conn.close()
if __name__ == "__main__":
if len(sys.argv) < 4:
print "Need Arguments: user passwd server"
sys.exit(1)
user=sys.argv[1]
passwd=sys.argv[2]
server=sys.argv[3]
#sql='select count(1) from search_item_08;' #注意这里要改
sql = open('a.sql','r').read() #改成从文件读取
#接下来就访问数据库了
handleDB = handleDataBase(user,passwd,server,sql)
handleDB.selectDB()
handleDB.closeDB()
㈢ python和sql比起来,哪个简单
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
sql 结构化查询语言
sql相对容易
㈣ python 有没有把sql结果,直接写入文件的方法
应该没有,但你可以:
fp=file.open('F:/xxx.txt','wb')
fp.write(data)
fp.close
这样也可以达到你的目的
如果你想每次写入一个新的文件,就这样
filename=str(datetime.now()).replace("",'_').replace(":",'_')+
str(random.randint(0,99))+'.txt'
fp=file.open('F:/'+filename,'a+')
fp.write(data)
fp.close
每次写入一个新建的txt,名字为当前时间加随机数命名
㈤ 设计一个PYTHON 程序从文件中读取 SQL 语句
你的文件内容是什么?用的是什么数据库?数据表有多少字段?返回的格式有什么要求?你给的信息太少了!
㈥ 怎么用python导入SQL
访问MYSQL的话使用,MySQLdb模块
import os,sys
import MySQLdb
try:
conn=MySQLdb.connect(host='localhost',user='root',passwd="",db='YOURDB')
except Exception,e:
print e
sys.exit()
cursor=conn.cursor()
sql="insert into address(name,address) values (%s,%s)"
values=(("zhang","being"),("li","beijing"),("wang","beijing"))
try:
cursor.executemany(sql,values)#插入数条数据
except Exception , e:
print e
sql="select * from address"
cursor.execute(sql) #查询
data=cursor.fetchall()
if data:
for x in data:
print x[0],x[1]
cursor.close()#关闭游标
conn.close()#关闭数据库
㈦ python 2.7 读取sql文件
逐行执行
for line in sql:
try:
cursor.execute(line)
except:
......
㈧ sql和python有什么区别
一、性质不同
1、sql:是一种特殊目的的编程语言,是一种数据库查询和程序设计语言。
2、python:Python由荷兰数学和计算机科学研究学会的Guido van Rossum于1990 年代初设计,作为一门叫做ABC语言的替代品。
二、作用不同
1、sql:用于存取数据以及查询、更新和管理关系数据库系统。
2、python:Python提供了高效的高级数据结构,还能简单有效地面向对象编程。
三、特点不同
1、sql:不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。
2、python:Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
㈨ python 怎样使外部.sql脚本执行
直接调命令行工具导入啊。 否则就麻烦 了。需要解析主要的语句,比如create table和insert。最怕碰到复杂的引号,嵌套之类的。经常搞不定啊。
代码挺复杂的。
㈩ 如何使用python给一个sql脚本文件按id号排序
若SQL脚本不太大,且排序字段为values中的第一个值:
>>> content = '''
... INSERT INTO `dx_forum_thread` VALUES (9422, 13, 0, 0, 0, 0, ...., 0);
... INSERT INTO `dx_forum_thread` VALUES (945, 13, 0, 0, 0, 0, ...., 0);
... INSERT INTO `dx_forum_thread` VALUES (8422, 13, 0, 0, 0, 0, ...., 0);
... INSERT INTO `dx_forum_thread` VALUES (84221, 13, 0, 0, 0, 0, ...., 0);
... INSERT INTO `dx_forum_thread` VALUES (85, 13, 0, 0, 0, 0, ...., 0);
... INSERT INTO `dx_forum_thread` VALUES (9, 13, 0, 0, 0, 0, ...., 0);
... '''
>>> import re
>>> patt = re.compile(r'.*\((\d+),.*', re.I|re.X|re.U)
>>> lns = [(int(patt.match(ln).group(1)), ln) for ln in filter(patt.match, content.splitlines())]
>>> print '\n'.join([ln for (id, ln) in sorted(lns)])
INSERT INTO `dx_forum_thread` VALUES (9, 13, 0, 0, 0, 0, ...., 0);
INSERT INTO `dx_forum_thread` VALUES (85, 13, 0, 0, 0, 0, ...., 0);
INSERT INTO `dx_forum_thread` VALUES (945, 13, 0, 0, 0, 0, ...., 0);
INSERT INTO `dx_forum_thread` VALUES (8422, 13, 0, 0, 0, 0, ...., 0);
INSERT INTO `dx_forum_thread` VALUES (9422, 13, 0, 0, 0, 0, ...., 0);
INSERT INTO `dx_forum_thread` VALUES (84221, 13, 0, 0, 0, 0, ...., 0);
>>>