데이터베이스 스토리지의 관계 파이썬 파충류 10-- 파일 저장

관계형 모델을 기반 관계형 데이터베이스,하지만 두 차원 테이블을 저장하여 관계형 모델은 관계형 데이터베이스는이 : 그래서 SQLite는, MySQL은, 오라클, SQL 서버, DB2하고 있습니다.

MySQL 데이터베이스 저장

1. 데이터베이스

가져 오기 pymysql
 # 연결 개체에 MySQL DB하는 연결 () 메소드 씌여 있기 
DB = pymysql.connect (호스트 = ' localhost를 ' = 사용자 ' 루트 ' , 암호 = ' rr123456 ' = 3306 포트 )
 #이 커서를 사용하여 MySQL의 커서를 구 SQL 문을 실행하기 위해 
커서 = db.cursor을 ()
 #이 새 데이터베이스를 생성하고, 호출 (실행) 메소드가 실행 
cursor.execute ( ' (가) 데이터베이스 스파이더을 기본 문자 후 SET UTF8을 만듭니다 ' )
 # 가까운 데이터베이스 
db.Close ()

테이블을 생성합니다

가져 pymysql 
dB = pymysql.connect (호스트 = ' localhost를 ' 사용자 = ' 루트 ' , 암호 = ' rr123456을 ' , 포트 = 3306, dB = ' 거미 ' ) 
커서 = db.cursor ()
 # 创建表 
SQL = ' CREATE TABLE IF는 NOT 사용자 (ID VARCHAR (255) NOT NULL, 이름 VARCHAR (255) NOT NULL, 연령 INT NOT NULL, PRIMARY KEY (ID)) EXISTS ' 
cursor.execute (SQL) 
) (db.close를

3. 데이터 삽입

가져 오기 pymysql 
DB = pymysql.connect (호스트 = ' localhost를 ' = 사용자 ' 루트 ' , 암호 = ' rr123456 ' , = 포트 = 3306, DB ' 스파이더 ' ) 
커서 = db.cursor () 
SQL = ' 삽입 INTO 사용자 ( 언급 된 ID 위, 이름, 나이) 값 ( "001", "XXX", 18) ' 
은 try : 
    cursor.execute (SQL) 
    ()는 db.commit     # 삭제 사실 문이 방법에 제출됩니다 데이터, 데이터베이스 삽입, 업데이트 수행, 그들은 호출 할 필요가 있습니다 
제외 : 
    db.rollback () 
() db.Close를

동적 삽입 :

가져 pymysql 
dB = pymysql.connect (호스트 = ' localhost를 ' 사용자 = ' 루트 ' , 암호 = ' rr123456 ' , 포트 = 3306, dB = ' 거미 ' ) 
커서 = db.cursor () 
데이터 = {
     " ID " : " 002 " ,
     " 이름 " : ' SS ' ,
     " 나이 " :20 
} 
테이블 = '사용자 '  = ' , ' .join (data.keys ())  = ' , ' ([.join ' % S ' * 렌 (데이터)) 
SQL = " INSERT INTO TABLE} {({} 키) 값 ({값}) ' .format (표 = 테이블, 키 = 키, 값 = 값)
 시도 :
     경우 cursor.execute (SQL, 튜플 (data.values ())) :
         인쇄 ( ' 成功' ) 
        db.commit ( ) 
제외 :
     인쇄 ( ' 失败') 
    db.rollback () 
db.close ()

4. 데이터 업데이트

가져 pymysql 
dB = pymysql.connect (호스트 = ' localhost를 ' 사용자 = ' 루트 ' , 암호 = ' rr123456을 ' , 포트 = 3306, dB = ' 거미 ' ) 
커서 = db.cursor () 
SQL = ' UPDATE 사용자 SET 시대 = 25 WHERE ID = "001" ' 
시도 : 
    cursor.execute (SQL) 
    db.commit () 
제외 : 
    db.rollback () 
db.close ()

데이터가 존재하는 경우 중복 제거 및 동적 업데이트는 업데이트 된 데이터를 삽입하는 경우없는 :

가져 pymysql 
dB = pymysql.connect (호스트 = ' localhost를 ' 사용자 = ' 루트 ' , 암호 = ' rr123456 ' , 포트 = 3306, dB = ' 거미 ' ) 
커서 = db.cursor () 
데이터 = {
     " ID " : " 002 " ,
     " 이름 " : ' SS ' ,
     " 나이 " :40 
} 
테이블 = '사용자 '  = ' , ' .join (data.keys ())  = ' , ' ([.join ' % S ' * 렌 (데이터)) 
SQL = " INSERT INTO TABLE} {({} 키) 값 ({} 값) ON DUPLICATE KEY UPDATE ' .format (표를 표 키 = 키 값 = 값) 
업데이트 = ' , ' .join ([ " {} = 키 % S " .format (= 키 키) 에 대한에서 데이터]) 
SQL + = 업데이트
 시도:
     만약 cursor.execute (SQL, 튜플 (data.values ()) * 2 ) :
         인쇄 ( ' 成功' ) 
        db.commit () 
제외 :
     인쇄 ( ' 失败' ) 
    db.rollback () 
db.close ()

삭제 5.

가져 pymysql 
dB = pymysql.connect (호스트 = ' localhost를 ' 사용자 = ' 루트 ' , 암호 = ' rr123456 ' , 포트 = 3306, dB = ' 거미 ' ) 
커서 = db.cursor () 
테이블 = ' 사용자 ' 
콘드 = ' 연령> 30 ' 
SQL = ' 에서 삭제 {테이블} WHERE {콘드} ' .format (표 = 테이블에서 cond = COND)
 시도 : 
    cursor.execute (SQL) 
    db.commit ()
제외시켰다 : 
    db.rollback ()를 
db.close를 ()

6. 쿼리

가져 pymysql 
dB = pymysql.connect (호스트 = ' localhost를 ' 사용자 = ' 루트 ' , 암호 = ' rr123456 ' , 포트 = 3306, dB = ' 거미 ' ) 
커서 = db.cursor () 
테이블 = ' 사용자 ' 
콘드 = ' 연령> 20 ' 
SQL = ' SELECT * FROM {테이블} WHERE {콘드} ' .format (표 = 테이블에서 cond = COND)
 시도 : 
    cursor.execute (SQL) 
    인쇄(cursor.rowcount)     #은 숫자 쿼리를 얻기 
    인쇄 (cursor.fetchone ())    #의 질의 튜플의 형태로 결과 표시 
    인쇄 (cursor.fetchall ())    #의 쿼리 모두 위의 쿼리의 무료하고있다, fetchall () 내부적으로 쿼리 결과를 차례로 포인터를 오프셋, 노출의 형태로, 다음 단계로 포인터를 얻은 후 튜플을 초래할 것이다. 장소 중 높은 비용, 플러스 대하여 fetchone 사용할 수있는 동안 () 많은 수의 사이클 시간은 포인터 오프셋 경우 
제외 : 
    db.rollback () 
() db.Close를

7. 케이스

 

추천

출처www.cnblogs.com/rong1111/p/12174380.html