Maison > base de données > tutoriel mysql > le corps du texte

Python 之SQLite3

WBOY
Libérer: 2016-06-07 17:25:06
original
933 Les gens l'ont consulté

sqlite是一个c语言库,提供了一个轻量级的文件数据库解决方案。她不需要服务器支持,而且支持非标准的sql语句。

(翻译自python v2.7 document)

sqlite是一个c语言库,提供了一个轻量级的文件数据库解决方案。她不需要服务器支持,而且支持非标准的sql语句。

自python2.5之后sqlite被集成到了python标准库中。

一个使用sqlite3的例子:

import sqlite3
conn=sqlite3.connect('example')
##若想创建内存数据库,可以conn=sqlite3.connect(':memory:')
##连接创建好后,再创建游标对象,,执行他的execute()方法进行SQL语句执行
c=conn.cursor()
#create a table
c.execute('''create table table1
(date text, trans text, symbol text,
 qty real, price real)''')
#insert a row of data
c.execute('''insert into table1
          values ('2011-01-05','BUY','RHAT',100,35.14)''')
#save the changes
conn.commit()
#we can also close the cursor if we are done with it
c.close()

通常使用SQL操作需要使用python变量。不能直接使用python字符串,因为这面临SQL注入的威胁。使用DB-API的参数来替代,在你想用字符串的地方使用“?”作为一个占位符,然后提供一个元组值作为游标execute()方法的第二个参数(其他的数据库模块可能使用一个不同德占位符,比如"%s" or ":1")。举个例子:

!!这样是危险的!!

# Never do this -- insecure!
symbol = 'IBM'
c.execute("... where symbol = '%s'" % symbol)

这样是符合要求的:

# Do this instead
t = (symbol,)
c.execute('select * from stocks where symbol=?', t)
# Larger example
for t in [('2006-03-28', 'BUY', 'IBM', 1000, 45.00),
          ('2006-04-05', 'BUY', 'MSOFT', 1000, 72.00),
          ('2006-04-06', 'SELL', 'IBM', 500, 53.00),
        ]:
    c.execute('insert into stocks values (?,?,?,?,?)', t)

linux

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!