Python 작업 은 MySQL 데이터베이스 의 인 스 턴 스 코드 를 사용 합 니 다.
배치 하 다.
직접 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)
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.