我想从头开始做一个项目,只需要使用sql数据库。是否有任何方式,我可以集成sql数据库到我的代码说,pythonista。如果是,那么我怎么能访问我的iPad上的sql数据库?
我可以使用replit.com为相同的?如果不可能的话,我正在考虑购买pythonista。
在任何版本的Python(包括Pythonista和最有可能的Replit)中使用SQL的最简单方法是使用SQLite。从2.5版开始,SQLite3就包含在Python中了。
下面是Pythonista 3中一个非常简单的小部件示例,它从SQLite数据库中读取报价并随机显示每日报价。
#!python3
'''
This widget script shows a daily quote
Jerry Stratton astoundingscripts.com
'''
import appex, ui
import random, sqlite3, time
def main():
v = ui.View(frame=(0, 0, 320, 220))
v.background_color = 0.16, 0.55, 0.52
hPadding = 30
quoteBox = ui.Label(frame=(hPadding, 0, 320 - 44 - hPadding, 220), flex='wh')
quoteBox.font = ('Menlo', 14)
quoteBox.text_color = 'white'
quoteBox.number_of_lines = 0
v.add_subview(quoteBox)
appex.set_widget_view(v)
quoteBox.text = dailyFortune
def getDailyFortune():
quote = "Exercise builds strong code."
quote += "n—John M. Nevison"
connection = sqlite3.connect('../data/quotes.sqlite')
cursor = connection.cursor()
quotes = list(cursor.execute('SELECT quote, speaker FROM quotes WHERE LENGTH(quote) < 220 ORDER BY added DESC'))
connection.close()
if quotes:
# seed that switches at midnight local time
dailySeed = time.time() - time.timezone
# make it switch at 4am
dailySeed -= 4*60*60
dailySeed //= (24 * 60 * 60)
random.seed(dailySeed)
quote = random.choice(quotes)
quote, speaker = quote
if speaker:
quote += '—' + speaker
return quote
if __name__ == '__main__':
dailyFortune = getDailyFortune()
main()
重要的行是:
import sqlite3
…
connection = sqlite3.connect(FILEPATH)
cursor = connection.cursor()
quotes = list(cursor.execute(SQLSTATEMENT))
connection.close()
与现有数据库建立标准的Python SQL连接,并以列表的形式读取所有匹配的行。您可以在文档中阅读更多关于SQLite和Python的信息。