πŸ“Έ Как эффСктивно Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ изобраТСния Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… sqlite

Для хранСния ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… SQLite, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… BLOB (Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅). НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ создания Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с ΠΏΠΎΠ»Π΅ΠΌ для хранСния изобраТСния:

CREATE TABLE images (id INTEGER PRIMARY KEY, image BLOB);

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ SQL-запрос:

INSERT INTO images (image) VALUES (?);

Π—Π΄Π΅ΡΡŒ символ вопроса (?) прСдставляСт собой ΠΌΠ΅ΡΡ‚ΠΎΠ·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ изобраТСния Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования SQL-запроса срСдствами Python:

import sqlite3

# Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° изобраТСния Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ image_data

# ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… SQLite
conn = sqlite3.connect('database.db')
cursor = conn.cursor()

# Π—Π°ΠΏΠΈΡΡŒ изобраТСния Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…
cursor.execute("INSERT INTO images (image) VALUES (?)", (sqlite3.Binary(image_data),))

# Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
conn.commit()

# Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ соСдинСния с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…
conn.close()

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ sqlite3.Binary() для прСдставлСния изобраТСния Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ изобраТСния Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… SQLite

Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΌΠΈΡ€ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…! Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅, ΠΌΡ‹ с Π²Π°ΠΌΠΈ рассмотрим, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ изобраТСния Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… SQLite. SQLite - это лСгковСсная рСляционная Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…, которая являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых популярных Π² ΠΌΠΈΡ€Π΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ SQLite, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ изобраТСния ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, особСнно Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… профилях ΠΈΠ»ΠΈ Π°Π»ΡŒΠ±ΠΎΠΌΠ°Ρ… с фотографиями. ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: изобраТСния ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ мСста Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, поэтому ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΈ трСбования ΠΏΠ΅Ρ€Π΅Π΄ сохранСниСм изобраТСния Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… SQLite.

Π¨Π°Π³ 1: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом являСтся созданиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, которая Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ изобраТСния. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ схСму Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ для этой Ρ†Π΅Π»ΠΈ:

CREATE TABLE images (
    image_id INTEGER PRIMARY KEY AUTOINCREMENT,
    image_data BLOB
);

Π’ этой Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Ρƒ нас Π΅ΡΡ‚ΡŒ столбСц image_id, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΈ Π°Π²Ρ‚ΠΎΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉΡΡ. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΌ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ Π²Π°ΠΆΠ½Ρ‹ΠΌ столбцом являСтся image_data, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… BLOB (Binary Large Object), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ фактичСскиС Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ изобраТСния.

Π¨Π°Π³ 2: Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…

Для сохранСния изобраТСния Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… SQLite, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ содСрТимоС Ρ„Π°ΠΉΠ»Π° изобраТСния ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ запись Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° Π½Π° языкС Python, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ SQLite3:

import sqlite3
from sqlite3 import Error

def insert_image(image_path):
    try:
        # ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…
        conn = sqlite3.connect('database.db')
        
        # Π§Ρ‚Π΅Π½ΠΈΠ΅ содСрТимого Ρ„Π°ΠΉΠ»Π° изобраТСния
        with open(image_path, 'rb') as image_file:
            image_data = image_file.read()
        
        # Вставка изобраТСния Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ
        cursor = conn.cursor()
        query = "INSERT INTO images (image_data) VALUES (?)"
        cursor.execute(query, (image_data,))
        
        # Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
        conn.commit()
        
        # Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ соСдинСния с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…
        conn.close()
        
        print("Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ сохранСно Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…!")
    
    except Error as e:
        print(e)

# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для сохранСния изобраТСния
insert_image('image.jpg')

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ SQLite3 для установки соСдинСния с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… SQLite. ΠœΡ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» изобраТСния Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ чтСния Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ('rb') ΠΈ считываСм Π΅Π³ΠΎ содСрТимоС Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ image_data. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ выполняСм SQL-запрос для вставки изобраТСния Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ images с использованиСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ запроса. ПослС вставки изобраТСния, ΠΌΡ‹ сохраняСм измСнСния ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ соСдинСниС с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ….

Π¨Π°Π³ 3: Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ сохранили ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Π΅Π³ΠΎ содСрТимоС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° Π½Π° языкС Python для извлСчСния изобраТСния ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… SQLite:

import sqlite3
from sqlite3 import Error
import io
from PIL import Image

def retrieve_image(image_id):
    try:
        # ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…
        conn = sqlite3.connect('database.db')
        
        # Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ SQL-запроса для получСния изобраТСния
        cursor = conn.cursor()
        query = "SELECT image_data FROM images WHERE image_id = ?"
        cursor.execute(query, (image_id,))
        
        # ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… изобраТСния
        image_data = cursor.fetchone()[0]
        
        # Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ соСдинСния с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…
        conn.close()
        
        # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ изобраТСния ΠΈΠ· Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…
        image = Image.open(io.BytesIO(image_data))
        image.show()
    
    except Error as e:
        print(e)

# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для извлСчСния изобраТСния
retrieve_image(1)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ снова ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ SQLite3 для установки соСдинСния с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ выполнСния SQL-запросов. ΠœΡ‹ выполняСм SQL-запрос для извлСчСния Π΄Π°Π½Π½Ρ‹Ρ… изобраТСния Π½Π° основС image_id. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ изобраТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° fetchone() ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ соСдинСниС с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…. Π”Π°Π»Π΅Π΅, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ PIL (Python Imaging Library) для создания изобраТСния ΠΈΠ· Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° show().

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ изобраТСния Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… SQLite. ΠœΡ‹ создали Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ для хранСния ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, рассмотрСли ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Π½Π° языкС Python для сохранСния ΠΈ извлСчСния ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… SQLite для хранСния ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΎΠ± ограничСниях Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ использовании этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°.

Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ этим рСкомСндациям ΠΈ Π²Ρ‹ смоТСтС эффСктивно Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ изобраТСния Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… SQLite. Π£Π΄Π°Ρ‡ΠΈ Π² вашСм ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΠΈ ΠΏΠΎ ΠΌΠΈΡ€Ρƒ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Python ΠΈ sqlite3 Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… с Π‘Π£Π‘Π” SQLite, практичСский ΠΏΡ€ΠΈΠΌΠ΅Ρ€

БАЗЫ ДАННЫΠ₯ НА PYTHON | SQLITE3 | Π ΠΠ‘ΠžΠ’Π Π‘ Π€ΠžΠ’ΠžΠ“Π ΠΠ€Π˜Π―ΠœΠ˜

PHP Как Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… How to save images as a BLOB in MySQL

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ“Έ Как эффСктивно Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ изобраТСния Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… sqlite