2013-10-12 2 views
0

파이썬 응용 프로그램을 mysql 용으로 작성했습니다. 대신 sqlite를 사용하도록 변환하고 싶습니다. 테이블은 db.py라는 파일에 생성됩니다. 내가 생각하는 간단한 용어에서 나는파이썬 응용 프로그램을 mysql에서 sqlite로 변경하십시오.

createDb = sqlite3.connect(':memory:'') 
queryCurs = createDB.cursor() 

conn = sqlite3.connect(r"db.py") 

뭔가를 실행하고자하지만, 내가 기대하는 결과를 가지고 즉, 메모리에 순수 응용 프로그램 기능을 이전에 MySQL의에 정의 된 데이터베이스를 만들 수 있을지 확신입니다.

위 내역서가 올 바르거나 뭔가 빠졌습니까?

답변

1

원하는 작업을 수행 할 수 없습니다. sqlite는 Python을 구문 분석 할 수 없으며 db.py 스크립트가 MySQL에서 수행하는 작업을 '이해'합니다.

db.py 스크립트에는 MySQL 테이블도 포함되어 있지 않습니다. 여기에는 MySQL이 이러한 테이블을 생성하도록 지시하는 SQL 문이 포함되어 있습니다.

대신 SQL 문을 sqlite로 변환해야합니다. 각 데이터베이스 브랜드는 자체 SQL 언어를 사용합니다. 유사 할 것이지만 동일하지는 않습니다. MySQL과 sqlite는 데이터베이스가 어떻게 데이터를 저장하고 처리해야하는지에 대한 다른 철학을 가지고 있습니다.

SQLAlchemy와 같은 ORM을 사용하는 경우 ORM이 MySQL 대신 sqlite에 연결되도록 구성해야합니다. 좋은 ORM은 파이썬 코드로 표현 된 테이블 구조를 다른 데이터베이스 SQL 방언으로 변환 할 수 있습니다.

+0

주요 차이점은 sqlite는? 및 : 매개 변수 바인딩을위한 % s 및 % (name) 대신 이름 : sqlite는 약하게 입력됩니다. 그 외에도 대부분의 코드는 변환하기 쉽습니다. 하지만 실제로 코드를 변환하고 실행해야합니다. 그 주위에는 방법이 없습니다. – abarnert

관련 문제