Python 2.7 프로 그래 밍 에서 SQLite 3 기본 조작 방법 예시
1.기본 동작
# -*- coding: utf-8 -*-
#!/usr/bin/env python
import sqlite3
def mykey(x):
return x[3]
conn=sqlite3.connect("D:\\demo\\my_db.db")
sql = "CREATE TABLE IF NOT EXISTS mytb ( a char , b int , c real, d DATE)"
# a char , b int , c real ,
# a , b , c 。
conn.execute( sql )
cs = conn.cursor()
#cs.execute("DELETE FROM mytb WHERE A=' ' ")
cs.execute("DELETE FROM mytb ")
#
'''''
cs.execute( "INSERT INTO mytb ( a,b,c,d ) values('Zhang San',25, 120, '2014-03-04')" )
cs.execute( "INSERT INTO mytb ( a,b,c,d ) values( 'Wang Wu',24, 110, '2014-05-01')" )
cs.execute( "INSERT INTO mytb ( a,b,c,d ) values( 'Li Si',23, 130, '2014-04-06')" )
'''
# ,batchdata ,
batchdata=[('Zhang San',25, 120, '2014-03-04'),
( 'Wang Wu',24, 110, '2014-05-01'),
( 'Li Si',23, 130, '2014-04-06')]
cs.executemany('INSERT INTO mytb values (?,?,?,?)',batchdata)
conn.commit() # , !
cs.execute("SELECT name, sql FROM sqlite_master WHERE type='table'")
recs = cs.fetchall( )
print ( recs )
cs.execute( "SELECT * FROM mytb ")#
recs = cs.fetchall()#
print ( "there is ", len(recs)," notes." )
print recs
recs.sort(key = mykey)
print recs
cs.close()
conn.close()
2.기록 을 삭제 하고 sql 문자열 변 수 를 사용 하면 매개 변 수 를 삭제 할 수 있 습 니 다.
sql="DELETE FROM my_table WHERE number='" + my_num + "'"
cs.execute(sql)
3.한 개 또는 여러 개의 기록 조회SQLite 3 에서 찾 은 데이터베이스 기록 에 중국어 가 포함 되 어 있 으 면 Python 을 꺼 낼 때 데 이 터 를 decode 로 처리 해 야 합 니 다.당시 에 내 가 인터넷 검색 을 할 때 GBK 로 디 코딩 하 겠 다 고 말 했 지만 나 자신 은 디 코딩 에 실 패 했 고 utf-8 디 코딩 으로 바 꿔 서 야 성공 적 으로 표시 되 었 다.또한,하나만 조회 하면 fetchone 문 구 를 사용 하거나 fetchall 을 사용 한 후에 python 을 통 해 찾 을 수 있 습 니 다.
sql="SELECT name FROM my_table WHERE number ='" + my_num + "'"
cs.execute(sql)
the_name=(cs.fetchall())[0][0].decode('utf-8')
4.중복 주입 을 피한다때때로 우 리 는 같은 기록 을 데이터베이스 에 여러 번 삽입 하지 않도록 다음 과 같은 문장 을 사용 할 수 있다.
sql="INSERT OR REPLACE INTO "+my_table+" values (?,?,?,?,?,?,?) "
# my_table 7
5.SQLite 3 에 중국어 기록 삽입Python 은 유 니 코드 인 코딩 이지 만 데이터 베 이 스 는 중국어 에 GBK 인 코딩 을 사용 합 니 다.예 를 들 어 stockname 변수 에 중국어 가 포함 되 어 있 으 면 유 니 코드(name,"gbk")처리 가 필요 합 니 다.
batch=[(stock_num, unicode(stock_name, "gbk") )]
cs.executemany( "INSERT OR REPLACE INTO my_table values (?,?) ",batch)
파 이 썬 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
CommonLisp에서 Caveman2와 SQLite3을 사용하여 데이터베이스 작업을 시도했습니다.Caveman2를 공부하자 기사를 써 보았습니다. Caveman2에서 SQLite를 조작하고 CREATE TABLE/SELECT/INSERT INTO/UPDATE/DELETE를 실행하는 방법을 설명합니다. 이번 괴롭...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.