Executemany (Bulk insert)

  • مدرس: علی بیگدلی
  • تاریخ انتشار: Sep 28, 2020

می توانید از دستور executemany برای درج همزمان چندین ردیف استفاده کنید.

کد زیر را در نظر بگیرید:

import sqlite3

con = sqlite3.connect('mydatabase.db')

cursorObj = con.cursor()

cursorObj.execute('create table if not exists projects(id integer, name text)')

data = [(1, "Ridesharing"), (2, "Water Purifying"), (3, "Forensics"), (4, "Botany")]

cursorObj.executemany("INSERT INTO projects VALUES(?, ?)", data)

con.commit()

در اینجا ما یک جدول با دو ستون ایجاد کرده ایم و "data" برای هر ستون چهار مقدار دارد. ما متغیر را به همراه کوئری به متد () executemany می دهیم.

توجه داشته باشید که ما از محل نگهدارنده برای عبور مقادیر استفاده کرده ایم.

کد بالا نتیجه زیر را ایجاد می کند:

 

ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
8دیدگاه
  • امیر
    1 year, 11 months ago

    سلام استاد خیلی ممنون از آموزش عالیتون
    فقط یک سوال برا پیش اومد
    موقع select نمیشه مثلا فقط نام سردیف های مشخصی رو برامون چاپ کنه
    مثلا name ردیفی که id = 10

    • علی بیگدلی
      1 year, 11 months ago

      اول اینکه من استاد نیستم، مهندس و توسعه دهنده هستم
      و اینکه چرا امکانش هست می تونید بگید
      SELECT name FROM table_name WHERE id=10

  • محمدسبحان سوری
    2 years, 5 months ago

    ممنون از شما آموزشتون خیلی خوب بود واقعا لذت بردم.

    • علی بیگدلی
      2 years, 5 months ago

      خواهش می کنم امیدوارم مفید بوده باشه

  • Milad Pooryazdani
    2 years, 5 months ago

    اگر فقط بخوایم به یک ستون اطلاعات رو به صورت دیکشنری بدیم باید چه کار کنیم؟

    • علی بیگدلی
      2 years, 5 months ago

      نمونه دیکشنریتون رو بفرستید
      و اینکه بد نیست به پروژه هواشناسی که با پایتون نوشته شده یه نگاه بندازید که چطور از دیکشنری به تاپل تغییر ماهیت داده

    • Milad Pooryazdani
      2 years, 5 months ago

      من فقط می خوام تو یکی از فیلد ها دیکشنری باشه

    • علی بیگدلی
      2 years, 5 months ago

      مشکلی نیست فقط کافیه که اون فیلد رو به عنوان textfield و یا jsonfiled نگهداری کنید