Listeler listemiz var, örneğin [['a','b'],['c','d']]
.Bir kerede çok sayıda satır eklemek için python mysqldb nasıl kullanılır
T
ve iki alan F1
, F2
adlı bir tablom var. Alan listesindeki ilk öğe F1
, F2
için ikinci olarak eşler.
Her bir iç liste için satırları, böyle bir for döngüsü kullanmak yerine tek bir komutta veya çağrıda nasıl ekleyebilirim? MySQLdb User's Guide itibaren
for i in [['a','b'],['c','d']]:
c.execute("insert into T (F1,F2) values (%s, %s)", (i[0], i[1]))
Bu, mySQL derlemesini bir dizi dize işlemiyle kullanmaktan daha verimli midir? Böylece dizginiz "T (F1, F2) değerlerine (a, b), (c, d)" eklenir ve yürütmek için iletilir mi? – Jochen
@Jochen Verilerinizin güvenilir bir kaynaktan geldiğinden emin değilseniz gerçekten bunu yapmak istemezsiniz (ve hala "asla müşteriye güvenmemenin" her koşulda saklanmasının iyi bir kural olduğuna inanıyorum). En azından daha iyi, en azından MySQLdb gibi olgun bir kütüphaneyle çalıştığınız zaman, kendiniz denemek yerine libile gerekli alıntı/kodlama/kaçma işleminden vazgeçmek; Her ne kadar yükü hafifletse bile, gönül rahatlığı buna değer. – kungphu
Maalesef, bu utf8mb4 karakter kümesiyle çalışmıyor. "Bilinmeyen kodlama: utf8mb4" garip bir hata atar –