You are currently viewing Python SQLite – Выбор данных из таблицы

Python SQLite – Выбор данных из таблицы

В этой статье мы обсудим инструкцию 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()

Выход: