Руководство по SQLite Python [Часть 1]
SQLite fetchone, sqlite, sqlite python, sqlite3, sqlite3 python
Это руководство по программированию в Python используя базы данных SQLite. Оно покрывает основы программирования SQLite с помощью языка Python.
Необходимые условия
Чтобы работать с примерами их статьи, мы должны иметь установленный в системе язык Python, базу данных SQLite, привязку к языку pysqlite и инструмент командной строки sqlite3. Если мы имеем Python 2.5+, тогда нам необходимо только установить инструмент командной строки sqlite3. Как библиотека SQLite, так и привязка к языку pysqlite встроены в язык Python.
$ python
Python 2.7.3 (default, Jan 2 2013, 16:53:07)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> sqlite3.version
'2.6.0'
>>> sqlite3.sqlite_version
'3.7.13'
В оболочке, мы запускаем интерактивный интерпретатор Python. Мы можем проверить версию Python. В нашем случае, это Python 2.7.3. sqlite.version – это версия pysqlite (2.6.0), которая является привязкой языка Python к базе данных SQLite. Sqlite3.sqlite_version даёт нам версию библиотеки базы данных SQLite. В нашем случае, версией является 3.7.13.
Сейчас мы собираемся использовать инструмент командной строки sqlite3, чтобы создать новую базу данных.
$ sqlite3 test.db
SQLite version 3.7.13 2012-06-11 02:05:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
Мы предоставляем параметр для sqlite3 tool; test.db – это имя базы данных. Это файл на нашем диске. Если он присутствует, то он открывается. Если нет, он создаётся.
sqlite> .tables
sqlite> .exit
$ ls
test.db
Команда .tables выдает список таблиц в базе данных test.db. В настоящее время нет таблиц. Команда .exit завершает интерактивную сессию инструмента командной строки sqlite3. Unix-команда ls показывает содержание текущей рабочей папки. Мы можем видеть файл test.db. Все данные будут хранить в этом единственном файле.
Версия
В первом примере кода, мы получим версию базы данных SQLite.
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sqlite3 as lite
import sys
con = None
try:
con = lite.connect('test.db')
cur = con.cursor()
cur.execute('SELECT SQLITE_VERSION()')
data = cur.fetchone()
print "SQLite version: %s" % data
except lite.Error, e:
print "Error %s:" % e.args[0]
sys.exit(1)
finally:
if con:
con.close()
В скрипте Python выше, мы подключаемся к предварительно созданной базе данных test.db. Мы выполняем SQL-запрос, который возвращает версию базы данных SQLite.
import sqlite3 as lite
Модуль sqlite используется для работы с базой данных SQLite.
con = None
Мы инициализируем переменную con как None. В случае, если бы мы не смогли произвести соединение с базой данных (к примеру, диск переполнен), мы не имели бы определенную переменную соединения. В конечном счёте, это приведёт к ошибке.
con = lite.connect('test.db')
Здесь мы соединяемся с базой данных test.db. Метод connect() возвращает объект соединения.
cur = con.cursor()
cur.execute('SELECT SQLITE_VERSION()')
Мы получаем объект указателя на соединения. Мы вызываем метод execute() и выполняем SQL запрос.
Сайт ДокторСмм предлагает Вам приобрести просмотры на видео и трансляции в Инстаграм всего от 4 рублей! Вам будет доступен выбор наиболее привлекательного режима поступления ресурса, а также количества требуемого материала. Закажите просмотры по самой выгодной цене!
data = cur.fetchone()
Мы получаем данные. С этого момента мы извлекаем только одну запись и вызываем метод fetchone().
print "SQLite version: %s" % data
Мы выводим данные, которые мы получали в консоль.
except lite.Error, e:
print "Error %s:" % e.args[0]
sys.exit(1)
В случае исключения, мы выдаем сообщение об ошибке и выходим из скрипта с кодом ошибки 1.
finally:
if con:
con.close()
Финальным шагом, мы освобождаем ресурсы закрыв соединение.
Во втором примере, мы снова получаем версию базы данных SQLite. На этот раз мы будем использовать ключевое слово with.
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sqlite3 as lite
import sys
con = lite.connect('test.db')
with con:
cur = con.cursor()
cur.execute('SELECT SQLITE_VERSION()')
data = cur.fetchone()
print "SQLite version: %s" % data
Скрипт возвращает текущую версию базы данных SQlite. С использованием ключевого слова with, код является более компактным.
with con:
С помощью ключевого слова with, интерпретатор Python автоматически освобождает ресурсы. К тому же, это обеспечивает лучшую обработку ошибок.
Быстрая продажа свое добро можно используя доску объявлений Енакиево которая имеет большую базу активных посетителей. Вы всегда сможете превратить угрожающие ненужные вам вещи в весьма неплохие деньги.
>>Вы всегда сможете превратить угрожающие ненужные вам вещи в весьма неплохие деньги.
Мои ненужные вещи мне не угрожают!
Ну еперный театр, ну сайт python-3 а пишете в 2
print "SQLite version: %s" % data
Ну так же
print("SQLite version: {0}".format(str(data)))
Ну или
print("SQLite version: {a}".format(a=str(data)))