-
Notifications
You must be signed in to change notification settings - Fork 0
/
databasetest.py
64 lines (52 loc) · 2.1 KB
/
databasetest.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# -*- coding: utf-8 -*-
import sqlite3
def Main():
#Создадим соединение с базой данных. Если базы нет, то она будет создана
try:
con = sqlite3.connect('upwork.db')
#Создание обьекта Курсор для взаимодействия с базой данных. Т.е. формирования запросос к базе
cur = con.cursor()
#Формирование SQL запросов к базе данных.
cur.execute('SELECT SQLITE_VERSION()')
#Получить результат
data = cur.fetchone()
print "SQLite version: " + str(data)
#Создадим первую таблицу
#cur.execute('CREATE TABLE Pets(Id INT, Name TEXT, Price INT)')
#Добавим данные в таблицу
#cur.execute('INSERT INTO Pets VALUES(1, "Cat", 400)')
#cur.execute('INSERT INTO Pets VALUES(2, "Dog", 600)')
#Сохранить изменения в базе
#con.commit()
#Посмотреть сожержание таблицы.
#cur.execute('SELECT * FROM Pets')
#data = cur.fetchall()
#Добавить в базу сразу много записей с одной таблицы
pets = (
(3, 'Rabbit', 200),
(6, 'Bird', 60),
(7, 'Goat', 500),
)
cur.executemany("INSERT INTO Pets VALUES(?, ?, ?)", pets)
print "Hello"
#Сохранить изменения в базе
con.commit()
#Посмотреть сожержание таблицы.
cur.execute('SELECT * FROM Pets')
data = cur.fetchall()
#Просмотреть результаты
for row in data:
print row
except sqlite3.Error, ex:
#Откатить базу данных до последного коммита(последних изменений), если база не работает
if con:
con.rollback()
print "There was a problem with the SQL. Error: {}".format(ex)
finally:
#Если база все еще открыта, то закрыть соединения
if con:
con.close()
#Закрываем базу данных
con.close()
if __name__ == '__main__':
Main()