Select statement

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

استفاده از SELECT

برای انتخاب داده ها از یک جدول خاص می توانید از عبارت select استفاده کنید. اگر می خواهید تمام ستون های داده را از یک جدول انتخاب کنید ، می توانید از ستاره (*) استفاده کنید. نحو این امر به شرح زیر است:

SELECT * FROM table_name

در SQLite3 ، دستور SELECT در روش اجرای شی c مکان نما اجرا می شود. به عنوان مثال ، تمام ستون های جدول کارمندان را انتخاب کنید ، کد زیر را اجرا کنید:

cursorObj.execute('SELECT * FROM employees ')

اگر می خواهید چند ستون از جدول انتخاب کنید ، ستون ها را مانند موارد زیر مشخص کنید:

SELECT column1, column2 FROM tables_name

مثلا:

cursorObj.execute('SELECT id, name FROM employees')

عبارت Select داده های مورد نیاز را از جدول پایگاه داده انتخاب می کند ، و اگر می خواهید داده های انتخاب شده را واکشی کنید ، از روش () fetchall شی مکان نما استفاده می شود.

Fetch all data 

برای واکشی داده ها از یک پایگاه داده ، دستور SELECT را اجرا می کنیم و سپس از روش fetchall () شی c مکان نما برای ذخیره مقادیر در یک متغیر استفاده خواهیم کرد. پس از آن ، ما متغیر را حلقه می کنیم و تمام مقادیر را چاپ می کنیم.

کد به صورت زیر خواهد بود:

import sqlite3

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

def sql_fetch(con):

    cursorObj = con.cursor()

    cursorObj.execute('SELECT * FROM employees')

    rows = cursorObj.fetchall()

    for row in rows:

        print(row)

sql_fetch(con)

کد بالا سوابق موجود در پایگاه داده ما را به شرح زیر چاپ می کند:

همچنین می توانید از fetchall () در یک خط به شرح زیر استفاده کنید که با استفاده از list comprehensions نوشته شده است:

[print(row) for row in cursorObj.fetchall()]

اگر می خواهید داده های خاصی را از پایگاه داده دریافت کنید ، می توانید از بند WHERE استفاده کنید. به عنوان مثال ، ما می خواهیم شناسه و نام کارمندانی را که حقوق آنها بیشتر از 800 است ، واکشی کنیم. برای این منظور ، بیایید جدول خود را با سطرهای بیشتری پر کنیم ، سپس پرس و جو خود را اجرا کنیم.

می توانید از دستور insert برای پر کردن داده ها استفاده کنید ، یا می توانید آنها را به صورت دستی در برنامه مرورگر DB وارد کنید.

اکنون ، برای گرفتن شناسه و نام کسانی که حقوق بیشتری از 800 دارند:

import sqlite3

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

def sql_fetch(con):

    cursorObj = con.cursor()

    cursorObj.execute('SELECT id, name FROM employees WHERE salary > 800.0')

    rows = cursorObj.fetchall()

    for row in rows:

        print(row)

sql_fetch(con)

در عبارت SELECT فوق ، به جای استفاده از ستاره (*) ، مشخصات id و name را مشخص کردیم. نتیجه مانند زیر خواهد بود:

 

ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
1دیدگاه
  • hesam
    1 year, 9 months ago

    سلام به مشکل برخوردم
    فارسی پیدا نمیکنه توsqlite
    مثلا اگر دنبال اسم مریم بگردم نمیتونه پیدا کنه
    راه حلش چیه؟