목차
환경
이미지 읽기
이미지를 저장할 테이블 만들기
Save to MySQL
MySQL 쿼리로 얻은 그림 데이터를 그림으로 저장
구현 코드
테스트 결과
백엔드 개발 파이썬 튜토리얼 Python 프로그램을 사용하여 MySQL에 이미지를 저장하는 방법

Python 프로그램을 사용하여 MySQL에 이미지를 저장하는 방법

Apr 19, 2023 pm 03:16 PM
mysql python

환경

Python 3.7.4
pymysql
8.0.11 MySQL Community Server
로그인 후 복사

이미지 읽기

바이너리 형식으로 이미지 읽기

with open("./test.jpg", "rb") as file:
	image = file.read()
로그인 후 복사

이미지를 저장할 테이블 만들기

이미지 필드의 속성은 longblog,即long binary large object

def create_image_table(self):
	sql = 'create table if not exists picture ( \
        image longblob);'

    try:
        self.cursor.execute(sql)

        self.connection.commit()

    except pymysql.Error:
        print(pymysql.Error)
로그인 후 복사

Save to MySQL

바이너리 형식의 이미지 데이터를 MySQL에 저장

def insert_image(self, image):
    sql = "insert into picture(image) values(%s)"
    self.cursor.execute(sql, image)
    self.connection.commit()
로그인 후 복사

MySQL 쿼리로 얻은 그림 데이터를 그림으로 저장

그림을 바이너리 형식으로 쓰기

def get_image(self, path):
    sql = 'select * from picture'
    try:
        self.cursor.execute(sql)
        image = self.cursor.fetchone()[0]
        with open(path, "wb") as file:
            file.write(image)
    except pymysql.Error:
        print(pymysql.Error)
    except IOError:
        print(IOError)
로그인 후 복사

구현 코드

import pymysql


class Database():
	
	'''
		Description:
			database demo to store image in MySQL RDBMS
		Attributes:
			None
	'''
    
    def __init__(self):
        self.connection = pymysql.connect(host=&#39;<host name>&#39;,user=&#39;<user name>&#39;,passwd=&#39;<password>&#39;,db=&#39;<database name>&#39;,charset=&#39;utf8&#39;)
        self.cursor = self.connection.cursor()

	&#39;&#39;&#39;
		Description:
			create table to store images
		Args:
			None
		Return:
			None
	&#39;&#39;&#39;
    
    def create_image_table(self):
        sql = &#39;create table if not exists picture ( \
            image longblob);&#39;

        try:
            self.cursor.execute(sql)

            self.connection.commit()

        except pymysql.Error:
            print(pymysql.Error)
	
	&#39;&#39;&#39;
		Description:
			insert image into table
		Args:
			image:
				image to store
		Returns:
			None
	&#39;&#39;&#39;

    def insert_image(self, image):
        sql = "insert into picture(image) values(%s)"
        self.cursor.execute(sql, image)
        self.connection.commit()
	
	&#39;&#39;&#39;
		Description:
			get image from database
		Args:
			path:
				path to save image
		Returns:
			None
	&#39;&#39;&#39;	

    def get_image(self, path):
        sql = &#39;select * from picture&#39;
        try:
            self.cursor.execute(sql)
            image = self.cursor.fetchone()[0]
            with open(path, "wb") as file:
                file.write(image)
        except pymysql.Error:
            print(pymysql.Error)
        except IOError:
            print(IOError)
            
	&#39;&#39;&#39;
		Description:
			destruction method
		Args:
			None
		Returns:
			None
	&#39;&#39;&#39;
	
    def __del__(self):
        self.connection.close()
        self.cursor.close()

if __name__ == "__main__":
    database = Database()
    # read image from current directory
    with open("./test.jpg", "rb") as file:
        image = file.read()

    database.create_image_table()
    database.insert_image(image)

    database.get_image(&#39;./result.jpg&#39;)
로그인 후 복사

테스트 결과

Python 프로그램을 사용하여 MySQL에 이미지를 저장하는 방법

위 내용은 Python 프로그램을 사용하여 MySQL에 이미지를 저장하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

다른 데이터베이스 시스템에서 열을 추가하기위한 구문의 차이점은 무엇입니까? 다른 데이터베이스 시스템에서 열을 추가하기위한 구문의 차이점은 무엇입니까? Apr 09, 2025 pm 02:15 PM

MySQL : MySQL : Alter Table_Name ADD CORMEN_NAME DATY_TYPE; POSTGRESQL : ALTER TABLE_NAME ADD CORMENT CORMENT CORMEN_NAME DATY_TYPE; ORACLE : ALTER TABLE_NAME ADD (column_name Data_Type); SQL 서버 : Alter Table_Name Data_name Data_name ADD

Amazon Athena와 함께 AWS Glue Crawler를 사용하는 방법 Amazon Athena와 함께 AWS Glue Crawler를 사용하는 방법 Apr 09, 2025 pm 03:09 PM

데이터 전문가는 다양한 소스에서 많은 양의 데이터를 처리해야합니다. 이것은 데이터 관리 및 분석에 어려움을 겪을 수 있습니다. 다행히도 AWS Glue와 Amazon Athena의 두 가지 AWS 서비스가 도움이 될 수 있습니다.

SQL 그래픽 도구에 열을 추가하는 방법은 무엇입니까? SQL 그래픽 도구에 열을 추가하는 방법은 무엇입니까? Apr 09, 2025 pm 12:54 PM

SQL 그래픽 도구에 열을 추가하십시오. 추가하려는 열을 선택하십시오. 마우스 오른쪽 버튼을 클릭하고 "Alter Table"또는 이와 유사한 옵션을 선택하십시오. 새 열의 속성 (이름, 데이터 유형, 길이 또는 비어 있는지)의 속성을 정의합니다. 해당되는 경우 새 열의 기본값을 지정합니다. 데이터 오류를 피하려면 적절한 데이터 유형을 선택하십시오. 의미있는 열 이름을 사용하십시오. 큰 테이블에서 열 추가 작업을 수행 할 때 성능 영향을 고려하십시오. 데이터 손실을 방지하기 위해 작업 전에 항상 데이터베이스를 백업하십시오.

MySQL : 쉽게 학습하기위한 간단한 개념 MySQL : 쉽게 학습하기위한 간단한 개념 Apr 10, 2025 am 09:29 AM

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1) 데이터베이스 및 테이블 작성 : CreateAbase 및 CreateTable 명령을 사용하십시오. 2) 기본 작업 : 삽입, 업데이트, 삭제 및 선택. 3) 고급 운영 : 가입, 하위 쿼리 및 거래 처리. 4) 디버깅 기술 : 확인, 데이터 유형 및 권한을 확인하십시오. 5) 최적화 제안 : 인덱스 사용, 선택을 피하고 거래를 사용하십시오.

다른 데이터베이스 시스템에서 열을 추가하는 구문이 동일합니까? 다른 데이터베이스 시스템에서 열을 추가하는 구문이 동일합니까? Apr 09, 2025 pm 12:51 PM

다른 데이터베이스 시스템에서 열을 추가하기위한 구문은 크게 다르며 데이터베이스마다 다릅니다. 예를 들어 : MySQL : Alter Table 사용자는 열 이메일 Varchar (255)를 추가합니다. Postgresql : Alter Table 사용자는 열을 추가하여 varchar (255)가 널 고유하지 않음; Oracle : Alter Table 사용자 이메일 추가 Varchar2 (255); SQL Server : Alter Table 사용자는 이메일 VARCH 추가

SQL 데이터베이스를 구축하는 방법 SQL 데이터베이스를 구축하는 방법 Apr 09, 2025 pm 04:24 PM

SQL 데이터베이스 구축에는 10 단계가 필요합니다. DBMS 선택; DBMS 설치; 데이터베이스 생성; 테이블 만들기; 데이터 삽입; 데이터 검색; 데이터 업데이트; 데이터 삭제; 사용자 관리; 데이터베이스 백업.

SQL Classic 50 질문 답변 SQL Classic 50 질문 답변 Apr 09, 2025 pm 01:33 PM

SQL (구조화 된 쿼리 언어)은 데이터베이스를 작성, 관리 및 쿼리하는 데 사용되는 프로그래밍 언어입니다. 주요 기능에는 데이터베이스 및 테이블 만들기, 데이터 삽입, 업데이트 및 삭제, 분류 및 필터링 결과, 기능 집계 기능, 테이블 결합, 하위 Queries, 운영자, 기능, 키워드, 키워드/정의/제어 언어, 연결 유형, 쿼리 최적화, 보안, 도구, 리소스, 버전, 일반적인 오류, 모범 사례, 트롤링 및 로우 위에있는 오류.

MySQL 및 SQL : 개발자를위한 필수 기술 MySQL 및 SQL : 개발자를위한 필수 기술 Apr 10, 2025 am 09:30 AM

MySQL 및 SQL은 개발자에게 필수적인 기술입니다. 1.MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템이며 SQL은 데이터베이스를 관리하고 작동하는 데 사용되는 표준 언어입니다. 2.MYSQL은 효율적인 데이터 저장 및 검색 기능을 통해 여러 스토리지 엔진을 지원하며 SQL은 간단한 문을 통해 복잡한 데이터 작업을 완료합니다. 3. 사용의 예에는 기본 쿼리 및 조건 별 필터링 및 정렬과 같은 고급 쿼리가 포함됩니다. 4. 일반적인 오류에는 구문 오류 및 성능 문제가 포함되며 SQL 문을 확인하고 설명 명령을 사용하여 최적화 할 수 있습니다. 5. 성능 최적화 기술에는 인덱스 사용, 전체 테이블 스캔 피하기, 조인 작업 최적화 및 코드 가독성 향상이 포함됩니다.

See all articles