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);
>>>