Разделы презентаций


Программирование и разработка веб-приложений

Содержание

SQLiteОдна таблица

Слайды и текст этой презентации

Слайд 1Программирование и разработка веб-приложений
Использование Python для работы с базой данных

Программирование и разработка веб-приложенийИспользование Python для работы с базой данных

Слайд 2SQLite
Одна таблица

SQLiteОдна таблица

Слайд 3sqlitebrowser.org

sqlitebrowser.org

Слайд 4Работа с SQLite
import sqlite3
print(sqlite3.version)
print(sqlite3.apilevel)
print(sqlite3.sqlite_version)

Работа с SQLiteimport sqlite3print(sqlite3.version)print(sqlite3.apilevel)print(sqlite3.sqlite_version)

Слайд 5Открытие базы (создание) и закрытие
import sqlite3
import os
db_path='e://sqlite//'
db_file='db01.db'
full_path=os.path.join(db_path,db_file)
con=sqlite3.connect(full_path)
#Соединение с базой данных.

connect() возвращает объект соединения.
con.close() 
#Закрытие соединения

Открытие базы (создание) и закрытиеimport sqlite3import osdb_path='e://sqlite//'db_file='db01.db'full_path=os.path.join(db_path,db_file)con=sqlite3.connect(full_path)#Соединение с базой данных. connect() возвращает объект соединения.con.close() #Закрытие соединения

Слайд 6Объект Курсор (Cursor, cur)
cur = con.cursor()

Объект Курсор (Cursor, cur)cur = con.cursor()

Слайд 7Создание и удаление таблицы
cur.execute('DROP TABLE IF EXISTS books') #удаление в

случае если таблица существует
cur.execute('CREATE TABLE books (id INTEGER PRIMARY KEY,title

VARCHAR(30), author VARCHAR(30), pers TEXT)')

cur.execute('CREATE TABLE IF NOT EXISTS books (id INTEGER PRIMARY KEY,title VARCHAR(30), author VARCHAR(30), pers TEXT)')
#создание таблицы, если она не была создана ранее

Создание и удаление таблицыcur.execute('DROP TABLE IF EXISTS books') #удаление в случае если таблица существуетcur.execute('CREATE TABLE books (id

Слайд 8Небольшое пояснение
execute - выполнение запроса
INTEGER PRIMARY KEY прибавляется автоматически.
  INTEGER PRIMARY

KEY AUTOINCREMENT используют разные алгоритмы для создания ID

 

Небольшое пояснениеexecute - выполнение запросаINTEGER PRIMARY KEY прибавляется автоматически.   INTEGER PRIMARY KEY AUTOINCREMENT используют разные алгоритмы для создания ID 

Слайд 9Заполнение данных в таблице
cur.execute('INSERT INTO books (id, author,pers) VALUES (NULL,

"Aibolit", "Doctor Aibolit")')
con.commit()
author='Barmaley'
pers='Zloy razboinik'
cur.execute('INSERT INTO books VALUES (NULL,?,?)',(author,pers))
con.commit()

Заполнение данных в таблицеcur.execute('INSERT INTO books (id, author,pers) VALUES (NULL,

Слайд 10Вывод номера последней записи и вывод всех записей
print (cur.lastrowid)
#2
cur.execute('SELECT *

FROM books')

print(cur.fetchall())

Вывод номера последней записи и вывод всех записейprint (cur.lastrowid)#2cur.execute('SELECT * FROM books')print(cur.fetchall())

Слайд 11Просмотр по элементам
cur.execute('SELECT * FROM books')
for i in cur:

print('*'*10)
print('id: ',i[0])
print('author: ',i[1])
print('pers:

',i[2])
Просмотр по элементам cur.execute('SELECT * FROM books')for i in cur:  	print('*'*10)  	print('id: ',i[0])  	print('author:

Слайд 12Или сразу через cur.fetchall()
cur=con.cursor()
cur.execute('''
SELECT * FROM books
''')
for i in cur.fetchall():
print(i)

Или сразу через cur.fetchall()cur=con.cursor()cur.execute('''	SELECT * FROM books	''')for i in cur.fetchall():	print(i)

Слайд 13Просмотр по элементам через дополнительный объект
rows= cur.fetchall()
for i in rows:

print('*'*10)
print('id: ',i[0])
print('author: ',i[1])
print('pers:

',i[2])
Просмотр по элементам через дополнительный объектrows= cur.fetchall()for i in rows:  	print('*'*10)  	print('id: ',i[0])  	print('author:

Слайд 14Выбор по id из словаря
cur.execute('SELECT author,pers FROM books WHERE id=:id',{'id':id})
rows=

cur.fetchall()
for row in rows:
print (row)

Выбор по id из словаряcur.execute('SELECT author,pers FROM books WHERE id=:id',{'id':id})rows= cur.fetchall()for row in rows:  	print (row)

Слайд 15Выполнение запросов – SQL прописан отдельно
import sqlite3
con=sqlite3.connect('catalog.db')
cur=con.cursor()
 
sql='''
CREATE TABLE user (
id_user

INTEGER PRIMARY KEY AUTOINCREMENT,
user_name TEXT,
user_dict TEXT
);
'''
cur.executescript(sql)
cur.close()
con.close()


Выполнение запросов – SQL прописан отдельноimport sqlite3con=sqlite3.connect('catalog.db')cur=con.cursor() sql='''CREATE TABLE user (	id_user INTEGER PRIMARY KEY AUTOINCREMENT,	user_name TEXT,	user_dict TEXT);'''cur.executescript(sql)cur.close()con.close()

Слайд 16SQL в cur.execute
con=sqlite3.connect(full_path)
cur=con.cursor()
#CREATE TABLE
#CREATE TABLE IF NOT EXISTS
cur.execute('''CREATE TABLE

IF NOT EXISTS books(

id_books INTEGER PRIMARY KEY,
author_book TEXT,
title_book TEXT,
publish_book DATE,
age_book

DATE,
keyword_book TEXT,
value_book REAL
)''')
con.commit()
cur.close()
con.close()
SQL в cur.executecon=sqlite3.connect(full_path)cur=con.cursor()#CREATE TABLE #CREATE TABLE IF NOT EXISTScur.execute('''CREATE TABLE IF NOT EXISTS books(				id_books INTEGER PRIMARY KEY,				author_book

Слайд 17SQL в con.execute
con=sqlite3.connect(full_path)
con.execute('''CREATE TABLE IF NOT EXISTS books(

id_books INTEGER PRIMARY

KEY,
author_book TEXT,
title_book TEXT,
publish_book DATE,
age_book DATE,
keyword_book TEXT,
value_book REAL
)''')



con.commit()
#cur.close()
con.close()

SQL в con.executecon=sqlite3.connect(full_path)con.execute('''CREATE TABLE IF NOT EXISTS books(				id_books INTEGER PRIMARY KEY,				author_book TEXT,				title_book TEXT,				publish_book DATE,				age_book DATE,				keyword_book TEXT,				value_book REAL				)''')	con.commit()#cur.close()con.close()

Слайд 18Обновление значений полей
id=6
cur.execute('UPDATE books SET pers=? WHERE id=?',

('Dochka melnika',id))
print(cur.rowcount)

Обновление значений полейid=6  cur.execute('UPDATE books SET pers=? WHERE id=?', ('Dochka melnika',id))print(cur.rowcount)

Слайд 19Использование row_factory
con.row_factory=sqlite3.Row

cur=con.cursor()
cur.execute('''
SELECT * FROM books
''')
#for i in cur.fetchall():
# print(i)

#for i in

cur.fetchall():
# print(i['title_book'],i['author_book'])

for i in cur.fetchall():
id_books, author_book, title_book, publish_book, age_book, keyword_book, value_book

=i
print(title_book,author_book)
Использование row_factorycon.row_factory=sqlite3.Rowcur=con.cursor()cur.execute('''	SELECT * FROM books	''')#for i in cur.fetchall():#	print(i)	#for i in cur.fetchall():#	print(i['title_book'],i['author_book'])for i in cur.fetchall():	id_books, author_book, title_book, publish_book,

Слайд 20вывод последнего id
print(cur.lastrowid)

вывод последнего idprint(cur.lastrowid)

Слайд 21create_function
import sqlite3
import md5
def md5sum(t):
return md5.md5(t).hexdigest()
con =

sqlite3.connect(“my.db")
con.create_function("md5", 1, md5sum)
cur = con.cursor()
cur.execute("select md5(?)", ("foo",))


print (cur.fetchone()[0])

cbd18db4cc2f85cedef654fccc4a4d8

create_functionimport sqlite3 import md5 def md5sum(t): 	return md5.md5(t).hexdigest() con = sqlite3.connect(“my.db

Слайд 22create_aggregate
class MySum (object):
def __init__(self):

self.count = 0
def step(self, value):


self.count += value
def finalize(self):
return self.count
con = sqlite3.connect(“my.db")
con.create_aggregate("mysum", 1, MySum)
cur = con.cursor()
cur.execute("create table test(i)")
cur.execute("insert into test(i) values (1)")
cur.execute("insert into test(i) values (10)")
cur.execute("insert into test(i) values (15)")
cur.execute("select mysum(i) from test")
print (cur.fetchall())

Создает пользовательскую совокупную (агрегатную) функцию.

[(26,)]

create_aggregateclass MySum (object):   	def __init__(self):    		 self.count = 0   	def

Слайд 23Методы connection (con)
close() - закрывает соединение с БД
open() – устанавливает

соединение с БД
commit() - завершает текущую транзакцию
cursor() - возвращает объект Cursor

(cur) для выполнения запросов
rollback() - откатывает изменения в текущей транзакции

Методы connection (con)close() - закрывает соединение с БДopen() – устанавливает соединение с БДcommit() - завершает текущую транзакциюcursor()

Слайд 24Методы cursor (cur)
close() - закрывает курсор
execute(sql[, ]) - выполняет один запрос
executemany(sql, args)

- выполняет запрос для нескольких значений
exequtescript(sql) – выполняет запросы по

созданному ранее скрипту
fetchall() - возвращает список кортежей всех записей запроса
fetchmany() - возвращает список кортежей записей запроса
fetchone() - возвращает одну запись из результата запроса в виде кортежа
Методы cursor (cur)close() - закрывает курсорexecute(sql[, ]) - выполняет один запросexecutemany(sql, args) - выполняет запрос для нескольких значенийexequtescript(sql) –

Слайд 25Создание БД в ОП
>>> con=sqlite3.connect(':memory:')
>>> cur=con.cursor()
>>> sql='''
... CREATE TABLE IF

NOT EXISTS author (
... id_author INTEGER PRIMARY KEY AUTOINCREMENT,
... author_name

TEXT,
... author_descr TEXT
... );
... '’’
Создание БД в ОП>>> con=sqlite3.connect(':memory:')>>> cur=con.cursor()>>> sql='''... CREATE TABLE IF NOT EXISTS author (... id_author INTEGER PRIMARY

Слайд 26>>> cur.executescript(sql)

>>> sql='''
... INSERT INTO author (author_name,author_descr)
...

VALUES ('Chukovskiy','Pisatel')
... '''
>>> cur.executescript(sql)

>>> cur.execute('''
... SELECT *

FROM author
... ''')

>>> cur.fetchall()
[(1, 'Chukovskiy', 'Pisatel')]

>>> cur.executescript(sql)>>> sql='''... INSERT INTO author (author_name,author_descr)... VALUES ('Chukovskiy','Pisatel')... '''>>> cur.executescript(sql)>>> cur.execute('''... SELECT * FROM author... ''')>>>

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика