Обзор программирования баз данных Python

Язык программирования Python предлагает обширные API для программирования баз данных. Некоторые из ключевых баз данных, поддерживаемых python, приведены ниже. В этом разделе мы узнаем о подключении к базе данных Python.

1. Оракул

2. MySQL

3. PostgreSQL

4. Терадата и т. Д.

База данных представляет собой набор заранее подготовленной информации, которую можно легко использовать, управлять, пересматривать. Ключевые особенности API БД:

  • Создать соединение с базой данных
  • Работа над операторами SQL и хранимыми процедурами
  • Соединение может быть закрыто

Преимущества Python для программирования баз данных

  • По сравнению с другими языками программирование на Python происходит быстрее и проще.
  • В python обязательные операции, такие как открытие и закрытие соединений с базой данных, выполняются самим python. Для всех других языков программирования эти типы операций выполняются специально разработчиком.
  • API базы данных python поддерживают широкий спектр настроек базы данных, поэтому он значительно упрощает процесс подключения к базам данных.

API Python DB

Базы данныхAPI Python DB
MYSQLMySQLdb
PostgreSQLpsycopg, PyGresQL и pyPgSQL
оракулdc_oracle2 и cx_oracle
DB2Pydb2

Основные этапы подключения к базе данных

С точки зрения Python, есть четыре основных шага в процессе подключения к базе данных с использованием Python. они как ниже,

1. Создание объекта подключения

4. прекращение созданного соединения

2. Чтобы приспособить процесс чтения и записи, объявите курсор

3. База данных взаимодействий

Объекты подключения
имяОписание
.близко()Закрывает установленную связь с базой данных
.commit ()Фиксируйте ожидающие транзакции с базой данных
.rollback ()Это согласие на транзакцию отката к началу ожидающей транзакции
.курсор()Объект, представляющий курсор, создан

Python Cursor Objects

1) .execute ()

Оператор Sequel, упомянутый в этой функции, выполняется.

Синтаксис

execute(sql, (parameters))

пример

import sqlite3con = sqlite3.connect("UserDB")cur = con.cursor()cur.execute(" select * from emp ")print cur.fetchone()

2) .executemany ()

Для всех перечисленных параметров в последовательности, данный оператор SQL выполняется

Синтаксис

executemany(sql, (parameters))

пример

import sqlite3
def aplphabet_generator():
import string
for D in string.letters(:26):
yield (D, )
con = sqlite3.connect(":memory:")
cur = con.cursor()
cur.execute(" create table characters(
Aplphabet_Column ) ")
cur.executemany("insert into characters(
Aplhabet_Column ) values (?)", char_generator())
cur.execute(" select Aplhabet_Column from characters ")
print cur.fetchall()

3) .fetchone ()

Получить одну строку вывода запроса.

пример

import MySQLdb as my
try:
db = my.connect(host="129.0.0.1",
user="admin",
passwd="admin",
db="emp"
)
cursor = db.cursor()
sql = "select * from dept#1 where id < 10"
number_of_rows = cursor.execute(sql)
while True:
row = cursor.fetchone()
if row == None:
break
print(row)
db.close()

4) .fetchmany ()

Получить определенный набор строк результата запроса. Параметр указывает количество строк на вызов. Количество извлекаемых строк в значительной степени зависит от размера используемого массива элемента курсора. Таким образом, поскольку число строк, указанное в параметре при одинаковом количестве строк, нужно попытаться получить. Если это невозможно из-за определенных доступных строк, может быть возвращено меньшее количество строк.

пример

import MySQLdb as my
try:
db = my.connect(host="128.0.0.10",
user="admin",
passwd="admin",
db="emp"
)
cursor = db.cursor()
sql = "select * from dept_#1 where id < 10"
number_of_rows = cursor.execute(sql)
print(cursor.fetchmany(2)) # 2 row fetched
db.close()

5) .fetchall ()

Получить все строки запроса. эти строки возвращаются в последовательности. при этом выборка массива курсоров может иногда влиять на производительность выборки. Когда размер массива курсора очень велик, то время, затрачиваемое на вытягивание строк, также будет сравнительно очень большим.

пример

import MySQLdb as my
try:
db = my.connect(host="128.0.0.10",
user="admin",
passwd="admin",
db="emp"
)
cursor = db.cursor()
sql = "select * from dept_#1 where id < 10"
number_of_rows = cursor.execute(sql)
print(cursor.fetchall())
db.close()

6) Cursor.scroll (значение (, режим = 'относительный'))

Прокручивает курсор в соответствии с указанным значением режима. если режим относительный, то упомянутое значение считается смещением, в случае если режим абсолютный, то упомянутое значение является целевой позицией.

  1. Cursor.next (): следующая строка возвращается из текущей выполняемой позиции оператора сиквела.
  2. Курсор. – iter– (): устанавливает курсор, подходящий для протокола итерации.
  3. Cursor.lastrowid (): здесь возвращается идентификатор последней измененной строки.

Операции с базами данных Python

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

пример

import sqlite3
db=sqlite3.connect('test.db')
qry1="insert into student (name, age, marks) values(?, ?, ?);"
qry2="update student set age=? where name=?;"
qry3="SELECT * from student;"
qry4="DELETE from student where name=?;"
students=(('Amarh', 17, 20), ('Deepika', 45, 87)) try:
cur=db.cursor()
cur.executemany(qry1, students)
cur.execute(qry2, (19, 'Deepak'))
db.commit()
cur.execute(qry3)
print(" record updated!! ")
cur.execute(qry4, ('Bill', ))
db.commit()
print(" record deleted!! ")
except:
print(" error found")
db.rollback()
db.close()

Исключительная иерархия Python Db

  • Стандартная ошибка
  • Предупреждение
  • ошибка
  • InterfaceError
  • Ошибка базы данных
  • DataError
  • OperationalError
  • IntegrityError
  • Внутренняя ошибка
  • ProgrammingError
  • NotSupportedError

Python DB-ориентированные конструкторы

  • Дата (год, месяц, день): строит объект со значением даты в нем
  • Время (час, минута, секунда): строит объект со значением времени в нем
  • Отметка времени (год, месяц, день, час, минута, секунда): строит объект со значением отметки времени в нем
  • Binary (string): создается объект python, способный содержать двоичные значения
  • Тип STRING: описывает все столбцы типа строки в базе данных.
  • Тип NUMBER: описывает все столбцы числового типа
  • Тип DATETIME: Упоминает все столбцы типа даты и времени, присутствующие в базе данных.
  • Тип ROWID: достигает столбца идентификатора строки в базе данных

Вывод - подключение к базе данных Python

Python определенно выделяется как один из самых гибких интерфейсов программирования для программирования, ориентированного на базы данных. особенно секретный набор Python DB-API делает задачу взаимодействия с DB эффективным процессом независимо от какой-либо базы данных.

Рекомендуемые статьи

Это руководство по подключению к базе данных Python. Здесь мы обсуждаем ключевые этапы подключения к базе данных и преимущества Python для программирования баз данных. Вы также можете взглянуть на следующие статьи, чтобы узнать больше -

  1. Факториал в Python
  2. Файловые операции Python
  3. Для цикла в Python
  4. Инкапсуляция в Python
  5. Наборы Python
  6. Особенности Python
  7. Факториал Программа в JavaScript
  8. Инкапсуляция в JavaScript