欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pymysql 插入數(shù)據 轉義處理方式

 更新時間:2020年03月02日 10:14:29   作者:匿名姐姐  
今天小編就為大家分享一篇pymysql 插入數(shù)據 轉義處理方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

最近用pymysql把一些質量不是很高的數(shù)據源導入mysql數(shù)據庫的時候遇到一點問題,主要是遇到像 \ 這樣的具有特殊意義的字符時比較難處理。這里有一個解決方案

基本環(huán)境

python3
pymysql
linux

問題描述

插入(查詢)數(shù)據時遇到一些特殊字符會使得程序中斷。操作失敗。比如 \這樣的轉義字符

解決方案

插入(查詢)之前用 connection.escape(str)處理一下即可

代碼示例

import pymongo

sql_pattern = "select * from my_collection where name = %s" #注意,這里直接用%s,不要給%s加引號,因為后面轉移過后會自動加引號
name = "xxx\xxx"
name = connection.escape(name)
sql = sql_pattern%name
print(sql) # select * from my_collection where name = 'xxx\\xxx'

with connection.cursor() as cursor:
 try:
  cursor.execute(sql)
 except:
  print(sql)
  pass
 for r in cursor:
  print(r)

補充拓展:利用 pymysql 往數(shù)據庫插入百萬條數(shù)據

思路:

先創(chuàng)建一個自定義的數(shù)據庫表;

生成一個列表,列表中的數(shù)據應該和數(shù)據庫表中的每一列對應;

利用cursor.executemany 批量插入列表中的數(shù)據。

注意點:

批量添加數(shù)據時,數(shù)據格式必須list[tuple(),tuple(),tuple()] 或者tuple(tuple(),tuple(),tuple())

代碼解析:

# -*- coding: utf-8 -*-
# Author:benjamin

import pymysql

# 創(chuàng)建連接
conn = pymysql.connect(host='192.168.214.128', port=3306, user='root', passwd='ben123', db='db2')

# 創(chuàng)建游標
cursor = conn.cursor()

def createTable():
 '''
 創(chuàng)建數(shù)據庫表
 :return:
 '''
 
 try:
  sql = '''
   create table mytable (
   nid int not null auto_increment primary key,
   name varchar(255) not null,
   email varchar(255) not null,
   extra text
   )engine=innodb default charset=utf8
  '''
  cursor.execute(sql)
  conn.commit()
  print('create table ok!')
 except Exception as e:
  print(e)


def myList(value):
 '''
 生成一個列表,[('admin1', 'admin1qq.com', 'hahaadmin1'),...]
 :param value: 自定義的數(shù)據量
 :return: new_list
 '''
 new_list = [] # 新建一個空列表用來存儲元組數(shù)據

 for i in range(1, value + 1):

  name = 'admin'+ str(i)
  email = name + '@qq.com'
  extra = 'I am '+ name

  tup = (name,email,extra) # 構造元組
  new_list.append(tup) # [(),(),()...]

 print("*"*5+"generate list ok"+"*"*5)
 return new_list


def myInsert(newList):
 '''
 數(shù)據庫插入
 :param newList: 傳入的列表數(shù)據
 :return:
 '''

 try:
  sql = "insert into mytable(name,email,extra) values(%s,%s,%s)" # 要插入的數(shù)據
  cursor.executemany(sql,newList) # 執(zhí)行插入數(shù)據

  conn.commit()
  cursor.close()
  conn.close()
  print('insert ok')
 except Exception as e:
  print(e)


if __name__ == '__main__':

 # 創(chuàng)建數(shù)據表
 createTable()
 # 選擇要插入的數(shù)據量
 value = 1000000 # 定義數(shù)據量
 newList = myList(value)
 myInsert(newList)

以上這篇pymysql 插入數(shù)據 轉義處理方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Pandas中的loc與iloc區(qū)別與用法小結

    Pandas中的loc與iloc區(qū)別與用法小結

    loc函數(shù):通過行索引 “Index” 中的具體值來取行數(shù)據(如取"Index"為"A"的行)而iloc函數(shù):通過行號來取行數(shù)據(如取第二行的數(shù)據),這篇文章介紹Pandas中的loc與iloc區(qū)別與用法,感興趣的朋友一起看看吧
    2024-01-01
  • 利用Python做一個電腦通知小工具

    利用Python做一個電腦通知小工具

    Windows不是有個消息通知功能,挺喜歡這個功能的,但是不太方便使用,也懶得去研究,于是準備用Python自己寫一個,感興趣的可以了解一下
    2022-12-12
  • 深入淺析python繼承問題

    深入淺析python繼承問題

    這篇文章主要介紹了深入淺析python繼承問題的相關資料,非常不錯,感興趣的朋友一起看看吧
    2016-05-05
  • Python3遍歷目錄樹實現(xiàn)方法

    Python3遍歷目錄樹實現(xiàn)方法

    這篇文章主要介紹了Python3遍歷目錄樹實現(xiàn)方法,涉及Python目錄樹的遍歷操作技巧,需要的朋友可以參考下
    2015-05-05
  • 使用grpc實現(xiàn)golang后端和python服務間通信

    使用grpc實現(xiàn)golang后端和python服務間通信

    gRPC是Google 開發(fā)的高性能、開源的遠程過程調用(RPC)框架,本文主要為大家詳細介紹了如何使用grpc實現(xiàn)golang后端和python服務間通信,感興趣的可以了解下
    2024-03-03
  • python利用OpenCV2實現(xiàn)人臉檢測

    python利用OpenCV2實現(xiàn)人臉檢測

    這篇文章主要為大家詳細介紹了python利用OpenCV2實現(xiàn)人臉檢測,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • pytorch實現(xiàn)查看當前學習率

    pytorch實現(xiàn)查看當前學習率

    這篇文章主要介紹了pytorch實現(xiàn)查看當前學習率,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python列表倒序輸出及其效率詳解

    Python列表倒序輸出及其效率詳解

    在本篇文章里小編給大家整理的是關于Python列表倒序輸出及其效率詳解內容,需要的朋友們學習下。
    2020-03-03
  • python實現(xiàn)的Iou與Giou代碼

    python實現(xiàn)的Iou與Giou代碼

    今天小編就為大家分享一篇python實現(xiàn)的Iou與Giou代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • pytorch_pretrained_bert如何將tensorflow模型轉化為pytorch模型

    pytorch_pretrained_bert如何將tensorflow模型轉化為pytorch模型

    這篇文章主要介紹了pytorch_pretrained_bert將tensorflow模型轉化為pytorch模型的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評論