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

Мова програми python пропонує широкі API для програмування баз даних. Деякі основні бази даних, підтримувані python, наведені нижче. У цій темі ми дізнаємось про підключення до бази даних Python.

1. Oracle

2. MySQL

3. PostgreSQL

4. Терадати тощо

База даних - це сукупність заздалегідь впорядкованої інформації, яку можна без особливих зусиль використовувати, керувати, переглядати. Основними особливостями API DB є:

  • Створіть підключення до бази даних
  • Робота над операторами SQL та збереженими процедурами
  • З'єднання може бути закритим

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

  • У порівнянні з іншими мовами програмування пітона швидше і простіше.
  • У python обов'язкові операції, такі як відкриття та закриття підключень до бази даних, здійснює сам python. Для всіх інших мов програмування такі операції виконуються спеціально розробником.
  • API API бази даних python підтримує широкий спектр налаштувань баз даних, завдяки чому завдання підключення до баз даних значно полегшує процес.

API API Python

Бази данихAPI API Python DB
MYSQLMySQLdb
PostgreSQLpsycopg, PyGresQL і pyPgSQL
Oracledc_oracle2 та cx_oracle
DB2Pydb2

Основні кроки підключення до бази даних

З точки зору python, є чотири основні етапи в процесі підключення до бази даних за допомогою python. вони як нижче,

1. Створення об’єкта з'єднання

4. припинення створеного з'єднання

2. Для розміщення процесу читання та запису оголосити курсор

3. Взаємодія бази даних

Об'єкти з'єднання
Ім'яОпис
.close ()Замикає встановлений зв’язок із базою даних
.commit ()Здійснити очікувані транзакції з базою даних
.rollback ()Ця згода на транзакцію повернеться до початку відкладеної транзакції
.cursor ()Створюється об’єкт, що представляє курсор

Об'єкти курсору Python

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. Cursor. – 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

  • StandardError
  • Увага
  • Помилка
  • InterfaceError
  • DatabaseError
  • DataError
  • OperationalError
  • IntegrityError
  • Внутрішня помилка
  • ProgrammingError
  • NotSupportedError

Конструктори, орієнтовані на БД

  • Дата (рік, місяць, день): будує об’єкт із значенням дати у ньому
  • Час (година, хвилина, секунда): будує об’єкт із значенням часу в ньому
  • Мітка часу (рік, місяць, день, година, хвилина, секунда): будує об’єкт із значенням часової позначки
  • Бінарний (рядок): Побудований об'єкт python, здатний утримувати бінарні значення
  • Тип STRING: описує всі стовпці, які є рядковими в базі даних
  • Тип НОМЕРА: описує всі стовпці, що мають номер типу
  • Тип DATETIME: згадує всі стовпці дати та часу, присутні в базі даних
  • Тип ROWID: Досягає стовпця ідентифікатора рядка в базі даних

Висновок - Підключення до бази даних Python

Python безумовно виділяється одним з найбільш гнучких інтерфейсів програмування для орієнтованого на базу даних програмування. особливо класифікований набір python DB-API ставить завдання спілкування з БД ефективним процесом незалежно від будь-якої бази даних.

Рекомендовані статті

Це посібник із підключення до бази даних Python. Тут ми обговорюємо основні кроки підключення до бази даних та переваги Python для програмування баз даних. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. Факторський в Python
  2. Операції з файлом Python
  3. Для циклу в Python
  4. Інкапсуляція в Python
  5. Набори Python
  6. Особливості Python
  7. Факторна програма в JavaScript
  8. Інкапсуляція в JavaScript