관계형 모델을 기반 관계형 데이터베이스,하지만 두 차원 테이블을 저장하여 관계형 모델은 관계형 데이터베이스는이 : 그래서 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. 케이스