Python 작업 은 MySQL 데이터베이스 의 인 스 턴 스 코드 를 사용 합 니 다.

Python 작업 MySQL
배치 하 다.
  • win_64
  • Ubuntu14.04
  • Python3.x
  • pip 설치 pymysql 모듈
    직접 pip 설치 pip install pymysql
    win 64 에서 cmd 에서 직접 실행
    로 컬 데이터베이스 연결
    모듈 pymysql 로 데이터베이스 연결 하기
    
    #!/usr/bin/python
    # coding=utf-8
    import pymysql
    #        
    conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='a123', db='samp_db1', charset='utf8')
    cursor = conn.cursor()
    cursor.execute('select * from bigstu')
    for row in cursor.fetchall():
      print(row)
    #  
    cursor.execute('select id, name from bigstu where age > 22')
    for res in cursor.fetchall():
      print(str(res[0]) + ", " + res[1])
    cursor.close()
    print('-- end --')
    
    출력:
    
    (1, '  ', ' ', 24, datetime.date(2017, 3, 29), '13666665555')
    (6, '  ', ' ', 23, datetime.date(2017, 3, 11), '778899888')
    (8, '  ', ' ', 20, datetime.date(2017, 3, 13), '13712345678')
    (12, '  ', ' ', 21, datetime.date(2017, 3, 7), '13787654321')
    1,   
    6,   
    -- end --
    sql 문 구 를 직접 실행 할 수 있 습 니 다.얻 은 결 과 는 원조 다.
    늘다
    데이터 삽입
    데 이 터 를 삽입 하여 위의 코드 를 연결 하 다.
    
    insertSql = "insert into bigstu (name, sex, age, mobile) values ('%s','%s',%d,'%s') "
    xiuji = ('  ', ' ', 15, '13400001111')
    cursor.execute(insertSql % xiuji)
    conn.commit() #      
    추가 열
    모 바 일 뒤에 캐 시 를 추가 합 니 다.
    
    addCo = "alter table bigstu add cash int after mobile"
    cursor.execute(addCo)
    기본 값 을 설정 하려 면
    
    addCo = "alter table bigstu add cash int default 0 after mobile"
    cursor.execute(addCo)
    삭제 하 다.
    데이터 삭제
    name=수 길 데이터 삭제
    
    deleteSql = "delete from bigstu where name = '%s'"
    cursor.execute(deleteSql % '  ')
    
    열 삭제
    캐 시 열 삭제
    
    dropCo = "alter table bigstu drop cash"
    cursor.execute(dropCo)
    고치다.
    데이터 수정
    조건 에 맞 는 데이터 업데이트
    
    updateSql = "update bigstu set sex = '%s' where name = '%s'"
    updateXiuji = ('  ', '  ') #         
    cursor.execute(updateSql % updateXiuji)
    conn.commit()
    사물 처리
    어떤 기록 에 캐 시 를 추가 합 니 다.
    
    table = "bigstu"
    addCash = "update " + table + " set cash = cash + '%d' where name = '%s'"
    lucky = (1000, "  ")
    try:
      cursor.execute(addCash % lucky)
    except Exception as e:
      conn.rollback()
      print("     ")
    else:
      conn.commit()
    SQL 문 구 를 직접 실행 하 는 것 이 매우 편리 하 다.
    코드 세 션
    데이터베이스 에 열 추가
    json 에서 추가 할 열 이름 을 읽 고 현재 두 표 의 모든 열 이름 을 가 져 옵 니 다.
    삽입 할 열 이름 을 정리 한 다음 열 을 해당 표 에 삽입 합 니 다.
    
    import pymysql
    import json
    import os
    import secureUtils
    mapping_keys = json.load(open("key_mapping_db.json", "r"))
    db_keys = [] # json    key
    for k in mapping_keys.values():
      db_keys.append(k)
    conn = pymysql.connect(host='localhost', port=3306, user='root',
                passwd='*****', db='db_name', charset='utf8')
    cursor = conn.cursor()
    table_main = "table_main"
    main_table_keys = [] #      
    cursor.execute("show columns from " + table_main)
    for row in cursor.fetchall():
      main_table_keys.append(row[0])
    staff_table_keys = []
    cursor.execute("show columns from table_second")
    for row in cursor.fetchall():
      staff_table_keys.append(row[0])
    need_to_insert_keys = []
    for k in db_keys:
      if k not in staff_table_keys and k not in main_table_keys and k not in need_to_insert_keys:
        need_to_insert_keys.append(k)
    print("need to insert " + str(len(need_to_insert_keys)))
    print(need_to_insert_keys)
    for kn in need_to_insert_keys:
      print("add key to db " + kn)
      cursor.execute("alter table staff_table add " + kn +" text")
    conn.close()
    
    필드 문자 변경
    여기 maintable_keys 의 모든 필드 를 utf 8 로 변경 합 니 다.
    
    # change column character set to utf8
    for co in main_table_keys:
      change_sql = "alter table " + table_main + " modify " + co + " text character set utf8"
      print(change_sql)
      cursor.execute(change_sql)
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기