Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Python Форум Помощи!

Мы создали форум где отвечаем на все вопросы связанные с языком программирования Python. Ждем вас там!

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

Выполнение запроса в SQLite3 через Python

Согласно спецификации DB-API 2.0 после создания объекта соединения необходимо создать объект-курсор. Все дальнейшие запросы должны производиться через этот объект. Создание объекта-курсора производится с помощью метода cursor(). Для выполнения запроса к базе данных предназначены следующие методы объекта-курсора:

close() - закрывает объект-курсор

executescript(<Запросы SQL через точку с запятой>) - выполняет несколько SQL запросов за один раз. Если в процессе выполнения запросов возникает ошибка, то метод возбуждается исключение. В качестве примера создадим базу данных и три таблицы в ней:

# -*- coding: utf-8 -*-
 
import sqlite3
 
con = sqlite3.connect("catalog.db")
cur = con.cursor()    # Создаем объект-курсор
 
sql = """\
CREATE TABLE user (
    id_user INTEGER PRIMARY KEY AUTOINCREMENT,
    email text,
    passw text
);
 
CREATE TABLE rubr (
    id_rubr INTEGER PRIMARY KEY AUTOINCREMENT,
    name_rubr TEXT
);
 
CREATE TABLE site (
    id_site INTEGER PRIMARY KEY AUTOINCREMENT,
    is_user INTEGER,
    id_rubr INTEGER,
    url TEXT,
    title TEXT,
    iq INTEGER
);
"""
 
try:    # обработка исключения
    cur.executescript(sql) # Выполняем SQL-запрос
except sqlite.DatabaseError, err:
    print u"Ошибка:", err
else:
    print u"Запрос успешно выполнен"
cur.close()    # Закрываем объект-курсора
con.close()    # Закрываем соединение
raw_input()

Сохраняем код в файл, а затем запускаем его с помощью двойного щелка на значке файла. Обратите внимание на то, что мы работаем с кодировкой UTF-8. Это кодировка по умолчанию используется в SQLite.

execute(<Запрос-SQL[, <Значение>]>) - выполняет один SQL-запрос. Если в процессе выполнения запроса возникает ошибка, то метод возбуждает исключение. Добавим пользователя в таблицу user:

# -*- coding: utf-8 -*-
import sqlite3
con = sqlite3.connect("catalog.db")
cur = con.cursor()    # Создаем объект-курсор
sql = """\
INSERT INTO user (email, passw) VALUES ('admin@python-3.ru', 'TypA12ParoLi')
"""
try:    # обработка исключения
    cur.executescript(sql) # Выполняем SQL-запрос
except sqlite.DatabaseError, err:
    print u"Ошибка:", err
else:
    print u"Запрос успешно выполнен"
    con.commit()    # Завершаем транзикцию
cur.close()    # Закрываем объект-курсора
con.close()    # Закрываем соединение
raw_input()

Если ваше преждевременная семяизвержения настолько же быстрая как и этот скрипт, тогда примите дапоксетин в различных дозировках он поможет расслабиться и наслаждаться не только программированием но и личной жизнью. Успейте приобрести Дапоксетин пока действуют скидки на его цену.

Комментариев: 2
  1. Лимонадный Ковбой | 2016-11-11 в 13:56:56

    Да! Моё семяизвержение гораздо быстрее чем этот скрипт, кто тебя так кодить учил? Бабушка?

  2. Лимонадный Ковбой, мы искренне рады Вашим способностям!

    Будем рады в двойне если Вы отправите нам статью от Вашего имени где предложите вариант лучше данной статье.

    Мы опубликуем статью от Вашего имени и можете прорекламировать в ней и Ваш сайт или продукт.

Оставьте комментарий!

Используйте нормальные имена.

Имя и сайт используются только при регистрации

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

(обязательно)