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

Нажмите для полного просмотра!
Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №1Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №2Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №3Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №4Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №5Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №6Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №7Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №8Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №9Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №10Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №11Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №12Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №13Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №14Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №15Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №16Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №17Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №18Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №19Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №20Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №21Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №22Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №23Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №24Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №25Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №26Программирование и разработка веб-приложений. Использование Python для работы с базой данных, слайд №27

Вы можете ознакомиться и скачать презентацию на тему Программирование и разработка веб-приложений. Использование Python для работы с базой данных. Доклад-сообщение содержит 27 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1





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

Слайд 2





SQLite
Несколько таблиц
Описание слайда:
SQLite Несколько таблиц

Слайд 3





Новая БД
import sqlite3
import os
import datetime
db_path='e:/sqlite/'
db_file='db11.db'
full_path=os.path.join(db_path,db_file)
print(sqlite3.apilevel)
print(full_path)
con=sqlite3.connect(full_path)
con.close()
Описание слайда:
Новая БД import sqlite3 import os import datetime db_path='e:/sqlite/' db_file='db11.db' full_path=os.path.join(db_path,db_file) print(sqlite3.apilevel) print(full_path) con=sqlite3.connect(full_path) con.close()

Слайд 4





Создание таблиц 
sql='''\
	CREATE TABLE IF NOT EXISTS author(
		id_author INTEGER PRIMARY KEY,
		name_author TEXT,
		descr_author TEXT
	);
	CREATE TABLE publication(
		id_publication INTEGER PRIMARY KEY,
		name_publication TEXT
	);
	CREATE TABLE books(
		id_book INTEGER PRIMARY KEY,
		id_author INTEGER,
		id_publication INTEGER,
		title_book TEXT,
		descr_book TEXT,
		number_book INTEGER
	);
	'''
Описание слайда:
Создание таблиц sql='''\ CREATE TABLE IF NOT EXISTS author( id_author INTEGER PRIMARY KEY, name_author TEXT, descr_author TEXT ); CREATE TABLE publication( id_publication INTEGER PRIMARY KEY, name_publication TEXT ); CREATE TABLE books( id_book INTEGER PRIMARY KEY, id_author INTEGER, id_publication INTEGER, title_book TEXT, descr_book TEXT, number_book INTEGER ); '''

Слайд 5





con=sqlite3.connect(full_path)
con=sqlite3.connect(full_path)
cur=con.cursor()
cur.executescript(sql)
cur.close()
con.close()
Описание слайда:
con=sqlite3.connect(full_path) con=sqlite3.connect(full_path) cur=con.cursor() cur.executescript(sql) cur.close() con.close()

Слайд 6





Заполнение автора
con=sqlite3.connect(full_path)
cur=con.cursor()
sql='''\
	INSERT INTO author (name_author, descr_author)
	VALUES ("Чуковский", "Автор множества книг для детей")
	'''
cur.execute(sql)
con.commit()          # Завершаем транзакцию
cur.close()               # Закрываем объект-курсор
con.close()               # Закрываем соединение
Описание слайда:
Заполнение автора con=sqlite3.connect(full_path) cur=con.cursor() sql='''\ INSERT INTO author (name_author, descr_author) VALUES ("Чуковский", "Автор множества книг для детей") ''' cur.execute(sql) con.commit() # Завершаем транзакцию cur.close() # Закрываем объект-курсор con.close() # Закрываем соединение

Слайд 7





Заполнение типов публикаций
 с использованием кортежей и словаря
con=sqlite3.connect(full_path)
cur=con.cursor()
var1=("Роман",)
var2=(2,"Рассказ")
var3={"id":3, "name":"Стихотворение"}
sql1='''INSERT INTO publication (name_publication) VALUES(?)'''
sql2='''INSERT INTO publication VALUES (?,?)'''
sql3='''INSERT INTO publication VALUES (:id, :name)'''
Описание слайда:
Заполнение типов публикаций с использованием кортежей и словаря con=sqlite3.connect(full_path) cur=con.cursor() var1=("Роман",) var2=(2,"Рассказ") var3={"id":3, "name":"Стихотворение"} sql1='''INSERT INTO publication (name_publication) VALUES(?)''' sql2='''INSERT INTO publication VALUES (?,?)''' sql3='''INSERT INTO publication VALUES (:id, :name)'''

Слайд 8






cur.execute(sql1,var1)
cur.execute(sql2,var2)
cur.execute(sql3,var3)
con.commit()
cur.close()
con.close()
Описание слайда:
cur.execute(sql1,var1) cur.execute(sql2,var2) cur.execute(sql3,var3) con.commit() cur.close() con.close()

Слайд 9





Создание и использование 
списка из кортежей для заполнения 
var_list=[
		(1,1,"Айболит","Добрый доктор",100),
		(1,2, "Бармалей", "Злой разбойник",200),
		(1,3, "Тяни-толкай","Непонятоное существо",200)
]
sql='''\
	INSERT INTO books(id_author, id_publication, title_book, descr_book, number_book)
	VALUES (?,?,?,?,?)
	''‘
cur.executemany(sql,var_list)
Описание слайда:
Создание и использование списка из кортежей для заполнения var_list=[ (1,1,"Айболит","Добрый доктор",100), (1,2, "Бармалей", "Злой разбойник",200), (1,3, "Тяни-толкай","Непонятоное существо",200) ] sql='''\ INSERT INTO books(id_author, id_publication, title_book, descr_book, number_book) VALUES (?,?,?,?,?) ''‘ cur.executemany(sql,var_list)

Слайд 10





Исполнение и просмотр числа изменений
con.execute('''
		UPDATE publication SET name_publication='роман в стихах'
		WHERE id_publication = 3
		''')
cur.execute ('''
		INSERT INTO publication (name_publication)
		VALUES ('поэма для детей')
		''')
print(con.total_changes)
Описание слайда:
Исполнение и просмотр числа изменений con.execute(''' UPDATE publication SET name_publication='роман в стихах' WHERE id_publication = 3 ''') cur.execute (''' INSERT INTO publication (name_publication) VALUES ('поэма для детей') ''') print(con.total_changes)

Слайд 11





Вывод элементов по одному
	print(cur.execute('''
		SELECT * FROM books
		'''))
	print(cur.fetchone())
	print(cur.fetchone())
	print(cur.fetchone())
	print(cur.fetchone())
	print(cur.fetchone())
Описание слайда:
Вывод элементов по одному print(cur.execute(''' SELECT * FROM books ''')) print(cur.fetchone()) print(cur.fetchone()) print(cur.fetchone()) print(cur.fetchone()) print(cur.fetchone())

Слайд 12





Использование метода итератора __next__()
print(cur.execute('''SELECT * FROM books'''))	
print(cur.__next__())	
print(cur.__next__())	
print(cur.__next__())
print(cur.__next__())	
print(cur.__next__())
Описание слайда:
Использование метода итератора __next__() print(cur.execute('''SELECT * FROM books''')) print(cur.__next__()) print(cur.__next__()) print(cur.__next__()) print(cur.__next__()) print(cur.__next__())

Слайд 13





Вывод через for
	print(cur.execute('''SELECT * FROM books'''))
	for i in cur:		
		print("{0}".format(i))
Описание слайда:
Вывод через for print(cur.execute('''SELECT * FROM books''')) for i in cur: print("{0}".format(i))

Слайд 14





Использование fetchmany
print(cur.execute('''SELECT * FROM books'''))
print(cur.arraysize)
print(cur.fetchmany())
print(cur.fetchmany())
print(cur.fetchmany())
print(cur.fetchmany())
Описание слайда:
Использование fetchmany print(cur.execute('''SELECT * FROM books''')) print(cur.arraysize) print(cur.fetchmany()) print(cur.fetchmany()) print(cur.fetchmany()) print(cur.fetchmany())

Слайд 15





Сравнение fetch
cursor.execute("SELECT id, name FROM `table`")
for i in range(cursor.rowcount):
    id, name = cursor.fetchone()
    print id, name
 
 
cursor.execute("SELECT id, name FROM `table`")
result = cursor.fetchmany()
while result:
    for id, name in result:
        print (id, name)
    result = cursor.fetchmany()
 
 
cursor.execute("SELECT id, name FROM `table`")
for id, name in cursor.fetchall():
    print (id, name)
Описание слайда:
Сравнение fetch cursor.execute("SELECT id, name FROM `table`") for i in range(cursor.rowcount): id, name = cursor.fetchone() print id, name     cursor.execute("SELECT id, name FROM `table`") result = cursor.fetchmany() while result: for id, name in result: print (id, name) result = cursor.fetchmany()     cursor.execute("SELECT id, name FROM `table`") for id, name in cursor.fetchall(): print (id, name)

Слайд 16





Размер массива объектов
print(cur.execute('''SELECT * FROM books'''))
print(cur.arraysize)
print(cur.fetchall())
print(cur.fetchall())# второй fetchall выводит пустой список
Описание слайда:
Размер массива объектов print(cur.execute('''SELECT * FROM books''')) print(cur.arraysize) print(cur.fetchall()) print(cur.fetchall())# второй fetchall выводит пустой список

Слайд 17





row_factory с Row  
и обращение по индексам и ключам
con.row_factory=sqlite3.Row
a_list=cur.fetchall()	
print(a_list)
print(type(a_list))
print(len(a_list))
print(a_list[0][3])
print(a_list[0]['title_book'])
print(a_list[0]['TITLE_BOOK'])
for i in a_list[0]:
	print(i)	
	print(a_list[0].keys())
Описание слайда:
row_factory с Row и обращение по индексам и ключам con.row_factory=sqlite3.Row a_list=cur.fetchall() print(a_list) print(type(a_list)) print(len(a_list)) print(a_list[0][3]) print(a_list[0]['title_book']) print(a_list[0]['TITLE_BOOK']) for i in a_list[0]: print(i) print(a_list[0].keys())

Слайд 18





row_factory
Существует возможность изменить это свойство на имя функции, которая принимает курсор (cur)  и исходную строку как кортеж и возвращает измененную строку результата. Это позволяет, например,  получить доступ к столбцам по имени
Описание слайда:
row_factory Существует возможность изменить это свойство на имя функции, которая принимает курсор (cur) и исходную строку как кортеж и возвращает измененную строку результата. Это позволяет, например, получить доступ к столбцам по имени

Слайд 19





def dict_factory(cursor, row):
def dict_factory(cursor, row):
    d = {}
    for i, col_name in enumerate(cursor.description):
        d[col_name[0]] = row[i]
        d[i]=row[i]
    return d
con.row_factory = dict_factory
cur = con.cursor()
cur.execute('''SELECT * FROM author''')
for i in cur.fetchall():
    print(i[0], i["author_name"])
Описание слайда:
def dict_factory(cursor, row): def dict_factory(cursor, row): d = {} for i, col_name in enumerate(cursor.description): d[col_name[0]] = row[i] d[i]=row[i] return d con.row_factory = dict_factory cur = con.cursor() cur.execute('''SELECT * FROM author''') for i in cur.fetchall(): print(i[0], i["author_name"])

Слайд 20





con.row_factory = sqlite3.Row
Поддерживает отображающийся доступ по имени столбца, индексу, итерации, представлению,. Если два объекта Row имеют точно такие же столбцы и их элементы равны, то они сравниваются как равные.
Описание слайда:
con.row_factory = sqlite3.Row Поддерживает отображающийся доступ по имени столбца, индексу, итерации, представлению,. Если два объекта Row имеют точно такие же столбцы и их элементы равны, то они сравниваются как равные.

Слайд 21





text_factory 
работа с кодировками и обработка текста
con.text_factory=bytes # представление в байтовом виде
print(cur.execute('''SELECT * FROM books	'''))
print(cur.fetchone())
Описание слайда:
text_factory работа с кодировками и обработка текста con.text_factory=bytes # представление в байтовом виде print(cur.execute('''SELECT * FROM books ''')) print(cur.fetchone())

Слайд 22





Пользовательская text_factory
con.text_factory=lambda s: str(s, "utf-8")
print(cur.execute("SELECT * FROM books"))
print(cur.fetchone())
Описание слайда:
Пользовательская text_factory con.text_factory=lambda s: str(s, "utf-8") print(cur.execute("SELECT * FROM books")) print(cur.fetchone())

Слайд 23






def my01(input): 
      return input.decode('cp1251')
con.text_factory = my01
Описание слайда:
def my01(input): return input.decode('cp1251') con.text_factory = my01

Слайд 24





text_factory
Свойство используется для управления возвращаемыми текстовыми значениями
Описание слайда:
text_factory Свойство используется для управления возвращаемыми текстовыми значениями

Слайд 25





Удаление записей

>>> cur.execute("INSERT INTO author VALUES (NULL,'Маршак','Автор стихов')")
<sqlite3.Cursor object at 0x1007ebf80>
 
>>> cur.execute("DELETE FROM author WHERE name_author='Маршак'")
<sqlite3.Cursor object at 0x1007ebf80>
>>> cur.fetchall()
[]
 
>>> cur.execute("SELECT * FROM author")
<sqlite3.Cursor object at 0x1007ebf80>
>>> cur.fetchall()
[(1, 'Чуковский', 'Автор множества книг для детей')]
Описание слайда:
Удаление записей >>> cur.execute("INSERT INTO author VALUES (NULL,'Маршак','Автор стихов')") <sqlite3.Cursor object at 0x1007ebf80>   >>> cur.execute("DELETE FROM author WHERE name_author='Маршак'") <sqlite3.Cursor object at 0x1007ebf80> >>> cur.fetchall() []   >>> cur.execute("SELECT * FROM author") <sqlite3.Cursor object at 0x1007ebf80> >>> cur.fetchall() [(1, 'Чуковский', 'Автор множества книг для детей')]

Слайд 26





Отмена действий rollback()
var1=("Маршак",)
sql1='''INSERT INTO author (name_author) VALUES(?) '''
cur.execute(sql1,var1)	
cur.execute("SELECT * FROM author")
print(cur.fetchall())
con.rollback()	
cur.execute("SELECT * FROM author")
print(cur.fetchall())
Описание слайда:
Отмена действий rollback() var1=("Маршак",) sql1='''INSERT INTO author (name_author) VALUES(?) ''' cur.execute(sql1,var1) cur.execute("SELECT * FROM author") print(cur.fetchall()) con.rollback() cur.execute("SELECT * FROM author") print(cur.fetchall())

Слайд 27





Получение состояния транзакции
con.in_transaction – True – есть активная транзакция,  False  -  нет такой
Описание слайда:
Получение состояния транзакции con.in_transaction – True – есть активная транзакция, False - нет такой



Похожие презентации
Mypresentation.ru
Загрузить презентацию