В этой статье мы обсудим инструкцию select модуля Python SQLite. Эта инструкция используется для извлечения данных из таблицы SQLite, и она возвращает данные, содержащиеся в таблице.
В SQLite синтаксис инструкции Select следующий:
SELECT * FROM table_name;
* : означает весь столбец из таблицы
Чтобы выбрать конкретный столбец, замените * именем столбца или именами столбцов.
Теперь мы будем использовать оператор Select в программе Python и посмотрим результаты:
Демонстрация нашей таблицы выродков:
Создание приведенной выше таблицы:
Здесь мы собираемся создать таблицу, используя описанный выше подход.
import sqlite3
# Connecting to sqlite
# connection object
connection_obj = sqlite3.connect('geek.db')
# cursor object
cursor_obj = connection_obj.cursor()
connection_obj.execute("""CREATE TABLE GEEK(
Email varchar(255),
Name varchar(50),
Score int
);""")
connection_obj.execute(
"""INSERT INTO GEEK (Email,Name,Score) VALUES ("geekk1@gmail.com","Geek1",25)""")
connection_obj.execute(
"""INSERT INTO GEEK (Email,Name,Score) VALUES ("geekk2@gmail.com","Geek2",15)""")
connection_obj.execute(
"""INSERT INTO GEEK (Email,Name,Score) VALUES ("geekk3@gmail.com","Geek3",36)""")
connection_obj.execute(
"""INSERT INTO GEEK (Email,Name,Score) VALUES ("geekk4@gmail.com","Geek4",27)""")
connection_obj.execute(
"""INSERT INTO GEEK (Email,Name,Score) VALUES ("geekk5@gmail.com","Geek5",40)""")
connection_obj.execute(
"""INSERT INTO GEEK (Email,Name,Score) VALUES ("geekk6@gmail.com","Geek6",36)""")
connection_obj.execute(
"""INSERT INTO GEEK (Email,Name,Score) VALUES ("geekk7@gmail.com","Geek7",27)""")
connection_obj.commit()
# Close the connection
connection_obj.close()
Прочитайте все строки:
Теперь мы будем использовать инструкцию Select для извлечения данных из таблицы и извлечения всех записей. Для извлечения всех записей мы будем использовать метод fetchall ().
Синтаксис: cursor.fetchall()
где курсор-объект соединения sqlite3 с базой данных.
Код:
import sqlite3
# Connecting to sqlite
# connection object
connection_obj = sqlite3.connect('geek.db')
# cursor object
cursor_obj = connection_obj.cursor()
# to select all column we will use
statement = '''SELECT * FROM GEEK'''
cursor_obj.execute(statement)
print("All the data")
output = cursor_obj.fetchall()
for row in output:
print(row)
connection_obj.commit()
# Close the connection
connection_obj.close()
Выход:
Прочитайте несколько строк:
Теперь мы будем использовать оператор Select для извлечения данных из таблицы и извлечения многих записей, но не всех. Для извлечения большого количества записей мы будем использовать метод fetchmany ().
Синтаксис: cursor.fetchmany(size)
Параметры: size (размер) – ограничение на извлечение записей
где курсор-объект соединения sqlite3 с базой данных.
Код:
import sqlite3
# Connecting to sqlite
# connection object
connection_obj = sqlite3.connect('geek.db')
# cursor object
cursor_obj = connection_obj.cursor()
# to select all column we will use
statement = '''SELECT * FROM GEEK'''
cursor_obj.execute(statement)
print("Limited data")
output = cursor_obj.fetchmany(5)
for row in output:
print(row)
connection_obj.commit()
# Close the connection
connection_obj.close()
Выход:
Прочитайте только одну строку:
Теперь e будет использовать оператор Select для извлечения данных из таблицы и извлечения только одной записи. Чтобы получить только одну запись, мы будем использовать метод fetchone ().
Синтаксис: cursor.fetchone()
где курсор-объект соединения sqlite3 с базой данных.
import sqlite3
# Connecting to sqlite
# connection object
connection_obj = sqlite3.connect('geek.db')
# cursor object
cursor_obj = connection_obj.cursor()
# to select all column we will use
statement = '''SELECT * FROM GEEK'''
cursor_obj.execute(statement)
print("Only one data")
output = cursor_obj.fetchone()
print(output)
connection_obj.commit()
# Close the connection
connection_obj.close()