Python PostgreSQL - Краткое руководство

PostgreSQL - это мощная объектно-реляционная база данных с открытым исходным кодом. У него более 15 лет активной фазы разработки и проверенная архитектура, которая заработала прочную репутацию за надежность, целостность и корректность данных.

Чтобы общаться с PostgreSQL с помощью Python, вам необходимо установить psycopg, адаптер, предоставляемый для программирования на Python, текущая версия этого psycog2.

psycopg2 был написан с целью сделать его очень маленьким, быстрым и стабильным, как скала. Он доступен в PIP (диспетчер пакетов Python)

Установка Psycog2 с помощью PIP

Прежде всего, убедитесь, что в вашей системе правильно установлены python и PIP, а PIP обновлен.

Чтобы обновить PIP, откройте командную строку и выполните следующую команду -

C:\Users\Tutorialspoint>python -m pip install --upgrade pip
Collecting pip
   Using cached 
https://files.pythonhosted.org/packages/8d/07/f7d7ced2f97ca3098c16565efbe6b15fafcba53e8d9bdb431e09140514b0/pip-19.2.2-py2.py3-none-any.whl
Installing collected packages: pip
   Found existing installation: pip 19.0.3
      Uninstalling pip-19.0.3:
         Successfully uninstalled pip-19.0.3
Successfully installed pip-19.2.2

Затем откройте командную строку в режиме администратора и выполните команду pip install psycopg2-binary команда, как показано ниже -

C:\WINDOWS\system32>pip install psycopg2-binary
Collecting psycopg2-binary
   Using cached 
https://files.pythonhosted.org/packages/80/79/d0d13ce4c2f1addf4786f4a2ded802c2df66ddf3c1b1a982ed8d4cb9fc6d/psycopg2_binary-2.8.3-cp37-cp37m-win32.whl
Installing collected packages: psycopg2-binary
Successfully installed psycopg2-binary-2.8.3

Проверка

Чтобы проверить установку, создайте образец сценария Python со следующей строкой в ​​нем.

import mysql.connector

Если установка прошла успешно, при ее выполнении вы не должны получить никаких ошибок -

D:\Python_PostgreSQL>import psycopg2
D:\Python_PostgreSQL>

PostgreSQL предоставляет собственную оболочку для выполнения запросов. Чтобы установить соединение с базой данных PostgreSQL, убедитесь, что вы правильно установили его в своей системе. Откройте приглашение оболочки PostgreSQL и передайте такие сведения, как сервер, база данных, имя пользователя и пароль. Если все данные, которые вы указали, уместны, устанавливается соединение с базой данных PostgreSQL.

При передаче сведений вы можете указать сервер, базу данных, порт и имя пользователя по умолчанию, предложенные оболочкой.

Установление соединения с использованием Python

Класс подключения psycopg2представляет / обрабатывает экземпляр соединения. Вы можете создавать новые подключения, используяconnect()функция. Он принимает основные параметры подключения, такие как имя базы данных, пользователь, пароль, хост, порт, и возвращает объект подключения. Используя эту функцию, вы можете установить соединение с PostgreSQL.

пример

Следующий код Python показывает, как подключиться к существующей базе данных. Если база данных не существует, она будет создана, и, наконец, будет возвращен объект базы данных. Имя базы данных PostgreSQL по умолчанию - postrgre. Поэтому мы указываем его как имя базы данных.

import psycopg2
#establishing the connection
conn = psycopg2.connect(
   database="postgres", user='postgres', password='password', 
   host='127.0.0.1', port= '5432'
)

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Executing an MYSQL function using the execute() method
cursor.execute("select version()")

#Fetch a single row using fetchone() method.
data = cursor.fetchone()
print("Connection established to: ",data)

#Closing the connection
conn.close()
Connection established to: (
   'PostgreSQL 11.5, compiled by Visual C++ build 1914, 64-bit',
)

Вывод

Connection established to: (
   'PostgreSQL 11.5, compiled by Visual C++ build 1914, 64-bit',
)

Вы можете создать базу данных в PostgreSQL с помощью оператора CREATE DATABASE. Вы можете выполнить этот оператор в приглашении оболочки PostgreSQL, указав имя создаваемой базы данных после команды.

Синтаксис

Ниже приводится синтаксис оператора CREATE DATABASE.

CREATE DATABASE dbname;

пример

Следующий оператор создает базу данных с именем testdb в PostgreSQL.

postgres=# CREATE DATABASE testdb;
CREATE DATABASE

Вы можете просмотреть базу данных в PostgreSQL с помощью команды \ l. Если вы проверите список баз данных, вы можете найти вновь созданную базу данных следующим образом:

postgres=# \l
                                                List of databases
   Name    | Owner    | Encoding |        Collate             |     Ctype   |
-----------+----------+----------+----------------------------+-------------+
mydb       | postgres | UTF8     | English_United States.1252 | ........... |
postgres   | postgres | UTF8     | English_United States.1252 | ........... |
template0  | postgres | UTF8     | English_United States.1252 | ........... |
template1  | postgres | UTF8     | English_United States.1252 | ........... |
testdb     | postgres | UTF8     | English_United States.1252 | ........... |
(5 rows)

Вы также можете создать базу данных в PostgreSQL из командной строки, используя команду createdb , оболочку для оператора SQL CREATE DATABASE.

C:\Program Files\PostgreSQL\11\bin> createdb -h localhost -p 5432 -U postgres sampledb
Password:

Создание базы данных с использованием Python

Класс курсора psycopg2 предоставляет различные методы для выполнения различных команд PostgreSQL, выборки записей и копирования данных. Вы можете создать объект курсора, используя метод cursor () класса Connection.

Метод execute () этого класса принимает запрос PostgreSQL в качестве параметра и выполняет его.

Поэтому, чтобы создать базу данных в PostgreSQL, выполните запрос CREATE DATABASE, используя этот метод.

пример

В следующем примере Python создается база данных с именем mydb в базе данных PostgreSQL.

import psycopg2

#establishing the connection

conn = psycopg2.connect(
   database="postgres", user='postgres', password='password', 
   host='127.0.0.1', port= '5432'
)
conn.autocommit = True

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Preparing query to create a database
sql = '''CREATE database mydb''';

#Creating a database
cursor.execute(sql)
print("Database created successfully........")

#Closing the connection
conn.close()

Вывод

Database created successfully........

Вы можете создать новую таблицу в базе данных PostgreSQL с помощью оператора CREATE TABLE. При выполнении вам необходимо указать имя таблицы, имена столбцов и их типы данных.

Синтаксис

Ниже приведен синтаксис оператора CREATE TABLE в PostgreSQL.

CREATE TABLE table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
);

пример

В следующем примере создается таблица с именем CRICKETERS в PostgreSQL.

postgres=# CREATE TABLE CRICKETERS (
   First_Name VARCHAR(255),
   Last_Name VARCHAR(255),
   Age INT,
   Place_Of_Birth VARCHAR(255),
   Country VARCHAR(255));
CREATE TABLE
postgres=#

Вы можете получить список таблиц в базе данных в PostgreSQL, используя команду \ dt. После создания таблицы, если вы можете проверить список таблиц, вы можете увидеть в нем вновь созданную таблицу следующим образом:

postgres=# \dt
         List of relations
Schema  | Name       | Type  | Owner
--------+------------+-------+----------
public  | cricketers | table | postgres
(1 row)
postgres=#

Таким же образом вы можете получить описание созданной таблицы, используя \ d, как показано ниже -

postgres=# \d cricketers
                        Table "public.cricketers"
Column          | Type                   | Collation | Nullable | Default
----------------+------------------------+-----------+----------+---------
first_name      | character varying(255) |           |          |
last_name       | character varying(255) |           |          |
age             | integer                |           |          |
place_of_birth  | character varying(255) |           |          |
country         | character varying(255) |           |          |

postgres=#

Создание таблицы с использованием Python

Чтобы создать таблицу с использованием python, вам необходимо выполнить оператор CREATE TABLE, используя метод execute () курсора pyscopg2 .

пример

В следующем примере Python создается таблица с именем employee.

import psycopg2

#Establishing the connection

conn = psycopg2.connect(
   database="mydb", user='postgres', password='password', host='127.0.0.1', port= '5432'
)

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Doping EMPLOYEE table if already exists.
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

#Creating table as per requirement
sql ='''CREATE TABLE EMPLOYEE(
   FIRST_NAME CHAR(20) NOT NULL,
   LAST_NAME CHAR(20),
   AGE INT,
   SEX CHAR(1),
   INCOME FLOAT)'''
cursor.execute(sql)
print("Table created successfully........")

#Closing the connection
conn.close()

Вывод

Table created successfully........

Вы можете вставить запись в существующую таблицу в PostgreSQL, используя INSERT INTOзаявление. Выполняя это, вам необходимо указать имя таблицы и значения для столбцов в ней.

Синтаксис

Ниже приведен рекомендуемый синтаксис оператора INSERT:

INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);

Где, column1, column2, column3, .. - это имена столбцов таблицы, а value1, value2, value3, ... - значения, которые вам нужно вставить в таблицу.

пример

Предположим, мы создали таблицу с именем CRICKETERS, используя оператор CREATE TABLE, как показано ниже -

postgres=# CREATE TABLE CRICKETERS (
   First_Name VARCHAR(255),
   Last_Name VARCHAR(255),
   Age INT,
   Place_Of_Birth VARCHAR(255),
   Country VARCHAR(255)
);
CREATE TABLE
postgres=#

Следующий оператор PostgreSQL вставляет строку в созданную выше таблицу -

postgres=# insert into CRICKETERS 
   (First_Name, Last_Name, Age, Place_Of_Birth, Country) values
   ('Shikhar', 'Dhawan', 33, 'Delhi', 'India');
INSERT 0 1
postgres=#

Если при вставке записей с помощью оператора INSERT INTO вы пропустите имена столбцов, запись будет вставлена, оставляя пустые места в столбцах, которые вы пропустили.

postgres=# insert into CRICKETERS 
   (First_Name, Last_Name, Country) values('Jonathan', 'Trott', 'SouthAfrica');
INSERT 0 1

Вы также можете вставлять записи в таблицу без указания имен столбцов, если порядок передаваемых значений совпадает с их соответствующими именами столбцов в таблице.

postgres=# insert into CRICKETERS values('Kumara', 'Sangakkara', 41, 'Matale', 'Srilanka');
INSERT 0 1
postgres=# insert into CRICKETERS values('Virat', 'Kohli', 30, 'Delhi', 'India');
INSERT 0 1
postgres=# insert into CRICKETERS values('Rohit', 'Sharma', 32, 'Nagpur', 'India');
INSERT 0 1
postgres=#

После вставки записей в таблицу вы можете проверить ее содержимое с помощью оператора SELECT, как показано ниже -

postgres=# SELECT * from CRICKETERS;
 first_name | last_name  | age | place_of_birth | country
------------+------------+-----+----------------+-------------
Shikhar     | Dhawan     | 33  | Delhi          | India
Jonathan    | Trott      |     |                | SouthAfrica
Kumara      | Sangakkara | 41  | Matale         | Srilanka
Virat       | Kohli      | 30  | Delhi          | India
Rohit       | Sharma     | 32  | Nagpur         | India
(5 rows)

Вставка данных с помощью Python

Класс курсора psycopg2 предоставляет метод с именем execute () method. Этот метод принимает запрос в качестве параметра и выполняет его.

Поэтому для вставки данных в таблицу в PostgreSQL с помощью python -

  • импорт psycopg2 пакет.

  • Создайте объект подключения с помощью connect() , передав ему имя пользователя, пароль, хост (необязательно по умолчанию: localhost) и базу данных (необязательно) в качестве параметров.

  • Отключите режим автоматической фиксации, установив false в качестве значения атрибута autocommit.

  • В cursor() метод ConnectionКласс библиотеки psycopg2 возвращает объект курсора. Создайте объект курсора с помощью этого метода ..

  • Затем выполните оператор INSERT, передав его / их в качестве параметра методу execute ().

пример

Следующая программа Python создает таблицу с именем EMPLOYEE в базе данных PostgreSQL и вставляет в нее записи с помощью метода execute () -

import psycopg2

#Establishing the connection
conn = psycopg2.connect(
   database="mydb", user='postgres', password='password', host='127.0.0.1', port= '5432'
)

#Setting auto commit false
conn.autocommit = True

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

# Preparing SQL queries to INSERT a record into the database.
cursor.execute('''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) 
   VALUES ('Ramya', 'Rama priya', 27, 'F', 9000)''')
cursor.execute('''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) 
   VALUES ('Vinay', 'Battacharya', 20, 'M', 6000)''')
cursor.execute('''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) 
   VALUES ('Sharukh', 'Sheik', 25, 'M', 8300)''')
cursor.execute('''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) 
   VALUES ('Sarmista', 'Sharma', 26, 'F', 10000)''')
cursor.execute('''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) 
   VALUES ('Tripthi', 'Mishra', 24, 'F', 6000)''')

# Commit your changes in the database
conn.commit()

print("Records inserted........")

# Closing the connection
conn.close()

Вывод

Records inserted........

Вы можете получить содержимое существующей таблицы в PostgreSQL с помощью оператора SELECT. В этом операторе вам нужно указать имя таблицы, и она вернет ее содержимое в табличном формате, который известен как набор результатов.

Синтаксис

Ниже приведен синтаксис оператора SELECT в PostgreSQL:

SELECT column1, column2, columnN FROM table_name;

пример

Предположим, мы создали таблицу с именем CRICKETERS, используя следующий запрос -

postgres=# CREATE TABLE CRICKETERS ( 
   First_Name VARCHAR(255), Last_Name VARCHAR(255), Age int, 
   Place_Of_Birth VARCHAR(255), Country VARCHAR(255)
);

CREATE TABLE

postgres=#

И если мы вставили в него 5 записей, используя инструкции INSERT как -

postgres=# insert into CRICKETERS values('Shikhar', 'Dhawan', 33, 'Delhi', 'India');
INSERT 0 1
postgres=# insert into CRICKETERS values('Jonathan', 'Trott', 38, 'CapeTown', 'SouthAfrica');
INSERT 0 1
postgres=# insert into CRICKETERS values('Kumara', 'Sangakkara', 41, 'Matale', 'Srilanka');
INSERT 0 1
postgres=# insert into CRICKETERS values('Virat', 'Kohli', 30, 'Delhi', 'India');
INSERT 0 1
postgres=# insert into CRICKETERS values('Rohit', 'Sharma', 32, 'Nagpur', 'India');
INSERT 0 1

Следующий запрос SELECT извлекает значения столбцов FIRST_NAME, LAST_NAME и COUNTRY из таблицы CRICKETERS.

postgres=# SELECT FIRST_NAME, LAST_NAME, COUNTRY FROM CRICKETERS;
 first_name | last_name  | country
------------+------------+-------------
Shikhar     | Dhawan     | India
Jonathan    | Trott      | SouthAfrica
Kumara      | Sangakkara | Srilanka
Virat       | Kohli      | India
Rohit       | Sharma     | India
(5 rows)

Если вы хотите получить все столбцы каждой записи, вам необходимо заменить имена столбцов на «⚹», как показано ниже -

postgres=# SELECT * FROM CRICKETERS;
first_name  | last_name  | age | place_of_birth | country
------------+------------+-----+----------------+-------------
Shikhar     | Dhawan     | 33  | Delhi          | India
Jonathan    | Trott      | 38  | CapeTown       | SouthAfrica
Kumara      | Sangakkara | 41  | Matale         | Srilanka
Virat       | Kohli      | 30  | Delhi          | India
Rohit       | Sharma     | 32  | Nagpur         | India
(5 rows)

postgres=#

Получение данных с помощью Python

READ Операция с любой базой данных означает получение некоторой полезной информации из базы данных. Вы можете получить данные из PostgreSQL, используя метод fetch (), предоставляемый psycopg2.

Класс Cursor предоставляет три метода, а именно fetchall (), fetchmany () и fetchone (), где:

  • Метод fetchall () извлекает все строки в наборе результатов запроса и возвращает их в виде списка кортежей. (Если мы выполним это после получения нескольких строк, он вернет оставшиеся).

  • Метод fetchone () выбирает следующую строку в результате запроса и возвращает ее как кортеж.

Note - Набор результатов - это объект, который возвращается, когда объект курсора используется для запроса таблицы.

пример

Следующая программа Python подключается к базе данных mydb из PostgreSQL и извлекает все записи из таблицы с именем EMPLOYEE.

import psycopg2

#establishing the connection
conn = psycopg2.connect(
   database="mydb", user='postgres', password='password', host='127.0.0.1', port= '5432'
)

#Setting auto commit false
conn.autocommit = True

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Retrieving data
cursor.execute('''SELECT * from EMPLOYEE''')

#Fetching 1st row from the table
result = cursor.fetchone();
print(result)

#Fetching 1st row from the table
result = cursor.fetchall();
print(result)

#Commit your changes in the database
conn.commit()

#Closing the connection
conn.close()

Вывод

('Ramya', 'Rama priya', 27, 'F', 9000.0)
[
   ('Vinay', 'Battacharya', 20, 'M', 6000.0),
   ('Sharukh', 'Sheik', 25, 'M', 8300.0),
   ('Sarmista', 'Sharma', 26, 'F', 10000.0),
   ('Tripthi', 'Mishra', 24, 'F', 6000.0)
]

При выполнении операций SELECT, UPDATE или DELETE вы можете указать условие для фильтрации записей с помощью предложения WHERE. Операция будет выполнена с записями, удовлетворяющими данному условию.

Синтаксис

Ниже приведен синтаксис предложения WHERE в PostgreSQL:

SELECT column1, column2, columnN
FROM table_name
WHERE [search_condition]

Вы можете указать условие поиска, используя сравнение или логические операторы. как>, <, =, LIKE, NOT и т. д. Следующие примеры поясняют эту концепцию.

пример

Предположим, мы создали таблицу с именем CRICKETERS, используя следующий запрос -

postgres=# CREATE TABLE CRICKETERS (
   First_Name VARCHAR(255), Last_Name VARCHAR(255), Age int, 
   Place_Of_Birth VARCHAR(255), Country VARCHAR(255)
);
CREATE TABLE
postgres=#

И если мы вставили в него 5 записей, используя инструкции INSERT как -

postgres=# insert into CRICKETERS values('Shikhar', 'Dhawan', 33, 'Delhi', 'India');
INSERT 0 1
postgres=# insert into CRICKETERS values('Jonathan', 'Trott', 38, 'CapeTown', 'SouthAfrica');
INSERT 0 1
postgres=# insert into CRICKETERS values('Kumara', 'Sangakkara', 41, 'Matale', 'Srilanka');
INSERT 0 1
postgres=# insert into CRICKETERS values('Virat', 'Kohli', 30, 'Delhi', 'India');
INSERT 0 1
postgres=# insert into CRICKETERS values('Rohit', 'Sharma', 32, 'Nagpur', 'India');
INSERT 0 1

Следующий оператор SELECT извлекает записи, возраст которых превышает 35 -

postgres=# SELECT * FROM CRICKETERS WHERE AGE > 35;
 first_name | last_name  | age | place_of_birth | country
------------+------------+-----+----------------+-------------
Jonathan    | Trott      | 38  | CapeTown       | SouthAfrica
Kumara      | Sangakkara | 41  | Matale         | Srilanka
(2 rows)

postgres=#

Предложение Where с использованием Python

Чтобы получить определенные записи из таблицы с помощью программы python, выполните оператор SELECT с предложением WHERE , передав его в качестве параметра вexecute() метод.

пример

Следующий пример python демонстрирует использование команды WHERE с использованием python.

import psycopg2
#establishing the connection
conn = psycopg2.connect(
   database="mydb", user='postgres', password='password', host='127.0.0.1', port= '5432'
)

#Setting auto commit false
conn.autocommit = True

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Doping EMPLOYEE table if already exists.
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
sql = '''CREATE TABLE EMPLOYEE(
   FIRST_NAME CHAR(20) NOT NULL,
   LAST_NAME CHAR(20),
   AGE INT,
   SEX CHAR(1),
   INCOME FLOAT)'''
cursor.execute(sql)

#Populating the table
insert_stmt = "INSERT INTO EMPLOYEE 
   (FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES (%s, %s, %s, %s, %s)"
data = [('Krishna', 'Sharma', 19, 'M', 2000), ('Raj', 'Kandukuri', 20, 'M', 7000),
   ('Ramya', 'Ramapriya', 25, 'M', 5000),('Mac', 'Mohan', 26, 'M', 2000)]
cursor.executemany(insert_stmt, data)

#Retrieving specific records using the where clause
cursor.execute("SELECT * from EMPLOYEE WHERE AGE <23")
print(cursor.fetchall())

#Commit your changes in the database
conn.commit()

#Closing the connection
conn.close()

Вывод

[('Krishna', 'Sharma', 19, 'M', 2000.0), ('Raj', 'Kandukuri', 20, 'M', 7000.0)]

Обычно, если вы пытаетесь получить данные из таблицы, вы получаете записи в том же порядке, в котором вы их вставляли.

Используя ORDER BY предложение, при извлечении записей таблицы вы можете сортировать результирующие записи в порядке возрастания или убывания в зависимости от нужного столбца.

Синтаксис

Ниже приводится синтаксис предложения ORDER BY в PostgreSQL.

SELECT column-list
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, .. columnN] [ASC | DESC];

пример

Предположим, мы создали таблицу с именем CRICKETERS, используя следующий запрос -

postgres=# CREATE TABLE CRICKETERS (
   First_Name VARCHAR(255), Last_Name VARCHAR(255), Age int, 
   Place_Of_Birth VARCHAR(255), Country VARCHAR(255)
);
CREATE TABLE
postgres=#

И если мы вставили в него 5 записей, используя инструкции INSERT как -

postgres=# insert into CRICKETERS values('Shikhar', 'Dhawan', 33, 'Delhi', 'India');
INSERT 0 1
postgres=# insert into CRICKETERS values('Jonathan', 'Trott', 38, 'CapeTown', 'SouthAfrica');
INSERT 0 1
postgres=# insert into CRICKETERS values('Kumara', 'Sangakkara', 41, 'Matale', 'Srilanka');
INSERT 0 1
postgres=# insert into CRICKETERS values('Virat', 'Kohli', 30, 'Delhi', 'India');
INSERT 0 1
postgres=# insert into CRICKETERS values('Rohit', 'Sharma', 32, 'Nagpur', 'India');
INSERT 0 1

Следующий оператор SELECT извлекает строки таблицы CRICKETERS в порядке возрастания их возраста -

postgres=# SELECT * FROM CRICKETERS ORDER BY AGE;
 first_name | last_name  | age | place_of_birth | country
------------+------------+-----+----------------+-------------
Virat       | Kohli      | 30  | Delhi          | India
Rohit       | Sharma     | 32  | Nagpur         | India
Shikhar     | Dhawan     | 33  | Delhi          | India
Jonathan    | Trott      | 38  | CapeTown       | SouthAfrica
Kumara      | Sangakkara | 41  | Matale         | Srilanka
(5 rows)es:

Вы можете использовать более одного столбца для сортировки записей таблицы. Следующие операторы SELECT сортируют записи таблицы CRICKETERS на основе возраста столбцов и FIRST_NAME.

postgres=# SELECT * FROM CRICKETERS ORDER BY AGE, FIRST_NAME;
 first_name | last_name  | age | place_of_birth | country
------------+------------+-----+----------------+-------------
Virat       | Kohli      | 30  | Delhi          | India
Rohit       | Sharma     | 32  | Nagpur         | India
Shikhar     | Dhawan     | 33  | Delhi          | India
Jonathan    | Trott      | 38  | CapeTown       | SouthAfrica
Kumara      | Sangakkara | 41  | Matale         | Srilanka
(5 rows)

По умолчанию ORDER BYПредложение сортирует записи таблицы в порядке возрастания. Вы можете расположить результаты в порядке убывания, используя DESC как -

postgres=# SELECT * FROM CRICKETERS ORDER BY AGE DESC;
 first_name | last_name  | age | place_of_birth | country
------------+------------+-----+----------------+-------------
Kumara      | Sangakkara | 41  | Matale         | Srilanka
Jonathan    | Trott      | 38  | CapeTown       | SouthAfrica
Shikhar     | Dhawan     | 33  | Delhi          | India
Rohit       | Sharma     | 32  | Nagpur         | India
Virat       | Kohli      | 30  | Delhi          | India
(5 rows)

Предложение ORDER BY с использованием Python

Чтобы получить содержимое таблицы в определенном порядке, вызовите метод execute () для объекта курсора и передайте оператор SELECT вместе с предложением ORDER BY в качестве параметра для него.

пример

В следующем примере мы создаем таблицу с именем и сотрудником, заполняем ее и извлекаем записи в порядке возрастания (возрастания) с помощью предложения ORDER BY.

import psycopg2
#establishing the connection
conn = psycopg2.connect(
   database="mydb", user='postgres', password='password', host='127.0.0.1', port= '5432'
)

#Setting auto commit false
conn.autocommit = True

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Doping EMPLOYEE table if already exists.
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

#Creating a table
sql = '''CREATE TABLE EMPLOYEE(
   FIRST_NAME CHAR(20) NOT NULL,
   LAST_NAME CHAR(20),
   AGE INT, SEX CHAR(1),
   INCOME INT,
   CONTACT INT)'''
cursor.execute(sql)

#Populating the table
insert_stmt = "INSERT INTO EMPLOYEE 
   (FIRST_NAME, LAST_NAME, AGE, SEX, INCOME, CONTACT) VALUES (%s, %s, %s, %s, %s, %s)"

data = [('Krishna', 'Sharma', 26, 'M', 2000, 101), 
   ('Raj', 'Kandukuri', 20, 'M', 7000, 102),
   ('Ramya', 'Ramapriya', 29, 'F', 5000, 103),
   ('Mac', 'Mohan', 26, 'M', 2000, 104)]
cursor.executemany(insert_stmt, data)
conn.commit()

#Retrieving specific records using the ORDER BY clause
cursor.execute("SELECT * from EMPLOYEE ORDER BY AGE")
print(cursor.fetchall())

#Commit your changes in the database
conn.commit()

#Closing the connection
conn.close()

Вывод

[('Sharukh', 'Sheik', 25, 'M', 8300.0), ('Sarmista', 'Sharma', 26, 'F', 10000.0)]

Вы можете изменить содержимое существующих записей таблицы в PostgreSQL с помощью оператора UPDATE. Чтобы обновить определенные строки, вам необходимо использовать предложение WHERE вместе с ним.

Синтаксис

Ниже приведен синтаксис оператора UPDATE в PostgreSQL:

UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];

пример

Предположим, мы создали таблицу с именем CRICKETERS, используя следующий запрос -

postgres=# CREATE TABLE CRICKETERS ( 
   First_Name VARCHAR(255), Last_Name VARCHAR(255), Age int, 
   Place_Of_Birth VARCHAR(255), Country VARCHAR(255)
);
CREATE TABLE
postgres=#

И если мы вставили в него 5 записей, используя инструкции INSERT как -

postgres=# insert into CRICKETERS values('Shikhar', 'Dhawan', 33, 'Delhi', 'India');
INSERT 0 1
postgres=# insert into CRICKETERS values('Jonathan', 'Trott', 38, 'CapeTown', 'SouthAfrica');
INSERT 0 1
postgres=# insert into CRICKETERS values('Kumara', 'Sangakkara', 41, 'Matale', 'Srilanka');
INSERT 0 1
postgres=# insert into CRICKETERS values('Virat', 'Kohli', 30, 'Delhi', 'India');
INSERT 0 1
postgres=# insert into CRICKETERS values('Rohit', 'Sharma', 32, 'Nagpur', 'India');
INSERT 0 1

Следующее утверждение изменяет возраст игрока в крикет, имя которого Shikhar -

postgres=# UPDATE CRICKETERS SET AGE = 45 WHERE FIRST_NAME = 'Shikhar' ;
UPDATE 1
postgres=#

Если вы извлечете запись, в которой ПЕРВОЕ ИМЯ - Шихар, вы заметите, что значение возраста было изменено на 45 -

postgres=# SELECT * FROM CRICKETERS WHERE FIRST_NAME = 'Shikhar';
 first_name | last_name | age | place_of_birth | country
------------+-----------+-----+----------------+---------
Shikhar     | Dhawan    | 45  | Delhi          | India
(1 row)

postgres=#

Если вы не использовали предложение WHERE, значения всех записей будут обновлены. После оператора UPDATE возраст всех записей в таблице CRICKETERS увеличивается на 1 -

postgres=# UPDATE CRICKETERS SET AGE = AGE+1;
UPDATE 5

Если вы извлекаете содержимое таблицы с помощью команды SELECT, вы можете увидеть обновленные значения как -

postgres=# SELECT * FROM CRICKETERS;
 first_name | last_name  | age | place_of_birth | country
------------+------------+-----+----------------+-------------
Jonathan    | Trott      | 39  | CapeTown       | SouthAfrica
Kumara      | Sangakkara | 42  | Matale         | Srilanka
Virat       | Kohli      | 31  | Delhi          | India
Rohit       | Sharma     | 33  | Nagpur         | India
Shikhar     | Dhawan     | 46  | Delhi          | India
(5 rows)

Обновление записей с помощью Python

Класс курсора psycopg2 предоставляет метод с именем execute () method. Этот метод принимает запрос в качестве параметра и выполняет его.

Поэтому для вставки данных в таблицу в PostgreSQL с помощью python -

  • импорт psycopg2 пакет.

  • Создайте объект подключения с помощью connect() , передав ему имя пользователя, пароль, хост (необязательно по умолчанию: localhost) и базу данных (необязательно) в качестве параметров.

  • Отключите режим автоматической фиксации, установив false в качестве значения атрибута autocommit.

  • В cursor() метод ConnectionКласс библиотеки psycopg2 возвращает объект курсора. Создайте объект курсора, используя этот метод.

  • Затем выполните оператор UPDATE, передав его в качестве параметра методу execute ().

пример

Следующий код Python обновляет содержимое таблицы Employee и извлекает результаты -

import psycopg2
#establishing the connection
conn = psycopg2.connect (
   database="mydb", user='postgres', password='password', host='127.0.0.1', port= '5432'
)

#Setting auto commit false
conn.autocommit = True

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Fetching all the rows before the update
print("Contents of the Employee table: ")
sql = '''SELECT * from EMPLOYEE'''
cursor.execute(sql)
print(cursor.fetchall())

#Updating the records
sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = 'M'"
cursor.execute(sql)
print("Table updated...... ")

#Fetching all the rows after the update
print("Contents of the Employee table after the update operation: ")
sql = '''SELECT * from EMPLOYEE'''
cursor.execute(sql)
print(cursor.fetchall())

#Commit your changes in the database
conn.commit()

#Closing the connection
conn.close()

Вывод

Contents of the Employee table:
[
   ('Ramya', 'Rama priya', 27, 'F', 9000.0), 
   ('Vinay', 'Battacharya', 20, 'M', 6000.0), 
   ('Sharukh', 'Sheik', 25, 'M', 8300.0), 
   ('Sarmista', 'Sharma', 26, 'F', 10000.0), 
   ('Tripthi', 'Mishra', 24, 'F', 6000.0)
]
Table updated......
Contents of the Employee table after the update operation:
[
   ('Ramya', 'Rama priya', 27, 'F', 9000.0), 
   ('Sarmista', 'Sharma', 26, 'F', 10000.0), 
   ('Tripthi', 'Mishra', 24, 'F', 6000.0), 
   ('Vinay', 'Battacharya', 21, 'M', 6000.0), 
   ('Sharukh', 'Sheik', 26, 'M', 8300.0)
]

Вы можете удалить записи в существующей таблице, используя DELETE FROMвыписка из базы данных PostgreSQL. Чтобы удалить определенные записи, вам необходимо использовать предложение WHERE вместе с ним.

Синтаксис

Ниже приведен синтаксис запроса DELETE в PostgreSQL:

DELETE FROM table_name [WHERE Clause]

пример

Предположим, мы создали таблицу с именем CRICKETERS, используя следующий запрос -

postgres=# CREATE TABLE CRICKETERS ( 
   First_Name VARCHAR(255), Last_Name VARCHAR(255), Age int, 
   Place_Of_Birth VARCHAR(255), Country VARCHAR(255)
);
CREATE TABLE
postgres=#

И если мы вставили в него 5 записей, используя инструкции INSERT как -

postgres=# insert into CRICKETERS values ('Shikhar', 'Dhawan', 33, 'Delhi', 'India');
INSERT 0 1
postgres=# insert into CRICKETERS values ('Jonathan', 'Trott', 38, 'CapeTown', 'SouthAfrica');
INSERT 0 1
postgres=# insert into CRICKETERS values ('Kumara', 'Sangakkara', 41, 'Matale', 'Srilanka');
INSERT 0 1
postgres=# insert into CRICKETERS values ('Virat', 'Kohli', 30, 'Delhi', 'India');
INSERT 0 1
postgres=# insert into CRICKETERS values ('Rohit', 'Sharma', 32, 'Nagpur', 'India');
INSERT 0 1

Следующее утверждение удаляет запись игрока в крикет, фамилия которого «Сангаккара».

postgres=# DELETE FROM CRICKETERS WHERE LAST_NAME = 'Sangakkara';
DELETE 1

Если вы извлечете содержимое таблицы с помощью оператора SELECT, вы увидите только 4 записи, так как мы удалили одну.

postgres=# SELECT * FROM CRICKETERS;
 first_name | last_name | age | place_of_birth | country
------------+-----------+-----+----------------+-------------
Jonathan    |     Trott |  39 | CapeTown       | SouthAfrica
Virat       |     Kohli |  31 | Delhi          | India
Rohit       |    Sharma |  33 | Nagpur         | India
Shikhar     |    Dhawan |  46 | Delhi          | India

(4 rows)

Если вы выполните оператор DELETE FROM без предложения WHERE, все записи из указанной таблицы будут удалены.

postgres=# DELETE FROM CRICKETERS;
DELETE 4

Поскольку вы удалили все записи, если вы попытаетесь получить содержимое таблицы CRICKETERS, используя оператор SELECT, вы получите пустой набор результатов, как показано ниже -

postgres=# SELECT * FROM CRICKETERS;
 first_name | last_name | age | place_of_birth | country
------------+-----------+-----+----------------+---------
(0 rows)

Удаление данных с помощью Python

Класс курсора psycopg2 предоставляет метод с именем execute () method. Этот метод принимает запрос в качестве параметра и выполняет его.

Поэтому для вставки данных в таблицу в PostgreSQL с помощью python -

  • импорт psycopg2 пакет.

  • Создайте объект подключения с помощью connect() , передав ему имя пользователя, пароль, хост (необязательно по умолчанию: localhost) и базу данных (необязательно) в качестве параметров.

  • Отключите режим автоматической фиксации, установив false в качестве значения атрибута autocommit.

  • В cursor() метод ConnectionКласс библиотеки psycopg2 возвращает объект курсора. Создайте объект курсора, используя этот метод.

  • Затем выполните оператор DELETE, передав его в качестве параметра методу execute ().

пример

Следующий код Python удаляет записи таблицы EMPLOYEE со значениями возраста более 25 -

import psycopg2
#establishing the connection
conn = psycopg2.connect(
   database="mydb", user='postgres', password='password', host='127.0.0.1', port= '5432'
)

#Setting auto commit false
conn.autocommit = True

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Retrieving contents of the table
print("Contents of the table: ")
cursor.execute('''SELECT * from EMPLOYEE''')
print(cursor.fetchall())

#Deleting records
cursor.execute('''DELETE FROM EMPLOYEE WHERE AGE > 25''')

#Retrieving data after delete
print("Contents of the table after delete operation ")
cursor.execute("SELECT * from EMPLOYEE")
print(cursor.fetchall())

#Commit your changes in the database
conn.commit()

#Closing the connection
conn.close()

Вывод

Contents of the table:
[
   ('Ramya', 'Rama priya', 27, 'F', 9000.0), 
   ('Sarmista', 'Sharma', 26, 'F', 10000.0), 
   ('Tripthi', 'Mishra', 24, 'F', 6000.0), 
   ('Vinay', 'Battacharya', 21, 'M', 6000.0), 
   ('Sharukh', 'Sheik', 26, 'M', 8300.0)
]
Contents of the table after delete operation:
[  
   ('Tripthi', 'Mishra', 24, 'F', 6000.0), 
   ('Vinay', 'Battacharya', 21, 'M', 6000.0)
]

Вы можете удалить таблицу из базы данных PostgreSQL с помощью оператора DROP TABLE.

Синтаксис

Ниже приводится синтаксис оператора DROP TABLE в PostgreSQL:

DROP TABLE table_name;

пример

Предположим, мы создали две таблицы с именами CRICKETERS и EMPLOYEES, используя следующие запросы:

postgres=# CREATE TABLE CRICKETERS (
   First_Name VARCHAR(255), Last_Name VARCHAR(255), Age int, 
   Place_Of_Birth VARCHAR(255), Country VARCHAR(255)
);
CREATE TABLE
postgres=#
postgres=# CREATE TABLE EMPLOYEE(
   FIRST_NAME CHAR(20) NOT NULL, LAST_NAME CHAR(20), 
   AGE INT, SEX CHAR(1), INCOME FLOAT
);
CREATE TABLE
postgres=#

Теперь, если вы проверите список таблиц с помощью команды «\ dt», вы можете увидеть созданные выше таблицы как -

postgres=# \dt;
            List of relations
 Schema | Name       | Type  | Owner
--------+------------+-------+----------
 public | cricketers | table | postgres
 public | employee   | table | postgres
(2 rows)
postgres=#

Следующий оператор удаляет таблицу с именем Employee из базы данных -

postgres=# DROP table employee;
DROP TABLE

Поскольку вы удалили таблицу Employee, если вы снова получите список таблиц, вы увидите в нем только одну таблицу.

postgres=# \dt;
            List of relations
Schema  | Name       | Type  | Owner
--------+------------+-------+----------
public  | cricketers | table | postgres
(1 row)


postgres=#

Если вы попытаетесь удалить таблицу сотрудников еще раз, поскольку вы уже удалили ее, вы получите сообщение об ошибке «таблица не существует», как показано ниже -

postgres=# DROP table employee;
ERROR: table "employee" does not exist
postgres=#

Чтобы решить эту проблему, вы можете использовать предложение IF EXISTS вместе с оператором DELTE. Это удаляет таблицу, если она существует, иначе пропускает операцию DLETE.

postgres=# DROP table IF EXISTS employee;
NOTICE: table "employee" does not exist, skipping
DROP TABLE
postgres=#

Удаление всей таблицы с помощью Python

Вы можете удалить таблицу в любое время, используя оператор DROP. Но вам нужно быть очень осторожным при удалении любой существующей таблицы, потому что потерянные данные не будут восстановлены после удаления таблицы.

import psycopg2
#establishing the connection
conn = psycopg2.connect(database="mydb", user='postgres', password='password', host='127.0.0.1', port= '5432')

#Setting auto commit false
conn.autocommit = True

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Doping EMPLOYEE table if already exists
cursor.execute("DROP TABLE emp")
print("Table dropped... ")

#Commit your changes in the database
conn.commit()

#Closing the connection
conn.close()

Вывод

#Table dropped...

При выполнении оператора SELECT PostgreSQL вы можете ограничить количество записей в его результате с помощью предложения LIMIT.

Синтаксис

Ниже приведен синтаксис предложения LMIT в PostgreSQL:

SELECT column1, column2, columnN
FROM table_name
LIMIT [no of rows]

пример

Предположим, мы создали таблицу с именем CRICKETERS, используя следующий запрос -

postgres=# CREATE TABLE CRICKETERS (
   First_Name VARCHAR(255), Last_Name VARCHAR(255), 
   Age int, Place_Of_Birth VARCHAR(255), Country VARCHAR(255)
);
CREATE TABLE
postgres=#

И если мы вставили в него 5 записей, используя инструкции INSERT как -

postgres=# insert into CRICKETERS values ('Shikhar', 'Dhawan', 33, 'Delhi', 'India');
INSERT 0 1
postgres=# insert into CRICKETERS values ('Jonathan', 'Trott', 38, 'CapeTown', 'SouthAfrica');
INSERT 0 1
postgres=# insert into CRICKETERS values ('Kumara', 'Sangakkara', 41, 'Matale', 'Srilanka');
INSERT 0 1
postgres=# insert into CRICKETERS values ('Virat', 'Kohli', 30, 'Delhi', 'India');
INSERT 0 1
postgres=# insert into CRICKETERS values ('Rohit', 'Sharma', 32, 'Nagpur', 'India');
INSERT 0 1

Следующий оператор извлекает первые 3 записи таблицы Cricketers с помощью предложения LIMIT -

postgres=# SELECT * FROM CRICKETERS LIMIT 3;
 first_name | last_name  | age | place_of_birth | country
------------+------------+-----+----------------+-------------
 Shikhar    | Dhawan     | 33  | Delhi          | India
 Jonathan   | Trott      | 38  | CapeTown       | SouthAfrica
 Kumara     | Sangakkara | 41  | Matale         | Srilanka

   (3 rows)

Если вы хотите получить записи, начиная с определенной записи (смещения), вы можете сделать это, используя предложение OFFSET вместе с LIMIT.

postgres=# SELECT * FROM CRICKETERS LIMIT 3 OFFSET 2;
 first_name | last_name  | age | place_of_birth | country
------------+------------+-----+----------------+----------
 Kumara     | Sangakkara | 41  | Matale         | Srilanka
 Virat      | Kohli      | 30  | Delhi          | India
 Rohit      | Sharma     | 32  | Nagpur         | India

   (3 rows)
postgres=#

Предельное предложение с использованием Python

Следующий пример python извлекает содержимое таблицы с именем EMPLOYEE, ограничивая количество записей в результате до 2 -

import psycopg2
#establishing the connection
conn = psycopg2.connect(
   database="mydb", user='postgres', password='password', host='127.0.0.1', port= '5432'
)

#Setting auto commit false
conn.autocommit = True

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Retrieving single row
sql = '''SELECT * from EMPLOYEE LIMIT 2 OFFSET 2'''

#Executing the query
cursor.execute(sql)

#Fetching the data
result = cursor.fetchall();
print(result)

#Commit your changes in the database
conn.commit()

#Closing the connection
conn.close()

Вывод

[('Sharukh', 'Sheik', 25, 'M', 8300.0), ('Sarmista', 'Sharma', 26, 'F', 10000.0)]

Когда вы разделили данные на две таблицы, вы можете получить объединенные записи из этих двух таблиц с помощью объединений.

пример

Предположим, мы создали таблицу с именем CRICKETERS и вставили в нее 5 записей, как показано ниже -

postgres=# CREATE TABLE CRICKETERS (
   First_Name VARCHAR(255), Last_Name VARCHAR(255), Age int, 
   Place_Of_Birth VARCHAR(255), Country VARCHAR(255)
);
postgres=# insert into CRICKETERS values ('Shikhar', 'Dhawan', 33, 'Delhi', 'India');
postgres=# insert into CRICKETERS values ('Jonathan', 'Trott', 38, 'CapeTown', 'SouthAfrica');
postgres=# insert into CRICKETERS values ('Kumara', 'Sangakkara', 41, 'Matale', 'Srilanka');
postgres=# insert into CRICKETERS values ('Virat', 'Kohli', 30, 'Delhi', 'India');
postgres=# insert into CRICKETERS values ('Rohit', 'Sharma', 32, 'Nagpur', 'India');

И, если мы создали другую таблицу с именем OdiStats и вставили в нее 5 записей как -

postgres=# CREATE TABLE ODIStats (
   First_Name VARCHAR(255), Matches INT, Runs INT, AVG FLOAT, 
   Centuries INT, HalfCenturies INT
);
postgres=# insert into OdiStats values ('Shikhar', 133, 5518, 44.5, 17, 27);
postgres=# insert into OdiStats values ('Jonathan', 68, 2819, 51.25, 4, 22);
postgres=# insert into OdiStats values ('Kumara', 404, 14234, 41.99, 25, 93);
postgres=# insert into OdiStats values ('Virat', 239, 11520, 60.31, 43, 54);
postgres=# insert into OdiStats values ('Rohit', 218, 8686, 48.53, 24, 42);

Следующий оператор извлекает данные, объединяющие значения в этих двух таблицах -

postgres=# SELECT
   Cricketers.First_Name, Cricketers.Last_Name, Cricketers.Country,
   OdiStats.matches, OdiStats.runs, OdiStats.centuries, OdiStats.halfcenturies
   from Cricketers INNER JOIN OdiStats ON Cricketers.First_Name = OdiStats.First_Name;
 first_name | last_name  | country     | matches | runs  | centuries | halfcenturies
------------+------------+-------------+---------+-------+-----------+---------------
 Shikhar    | Dhawan     | India       | 133     | 5518  | 17        | 27
 Jonathan   | Trott      | SouthAfrica | 68      | 2819  | 4         | 22
 Kumara     | Sangakkara | Srilanka    | 404     | 14234 | 25        | 93
 Virat      | Kohli      | India       | 239     | 11520 | 43        | 54
 Rohit      | Sharma     | India       | 218     | 8686  | 24        | 42
(5 rows)
   
postgres=#

Присоединяется с использованием Python

Когда вы разделили данные на две таблицы, вы можете получить объединенные записи из этих двух таблиц с помощью объединений.

пример

Следующая программа python демонстрирует использование предложения JOIN -

import psycopg2
#establishing the connection
conn = psycopg2.connect(
   database="mydb", user='postgres', password='password', host='127.0.0.1', port= '5432'
)

#Setting auto commit false
conn.autocommit = True

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Retrieving single row
sql = '''SELECT * from EMP INNER JOIN CONTACT ON EMP.CONTACT = CONTACT.ID'''

#Executing the query
cursor.execute(sql)

#Fetching 1st row from the table
result = cursor.fetchall();
print(result)

#Commit your changes in the database
conn.commit()

#Closing the connection
conn.close()

Вывод

[
   ('Ramya', 'Rama priya', 27, 'F', 9000.0, 101, 101, '[email protected]', 'Hyderabad'), 
   ('Vinay', 'Battacharya', 20, 'M', 6000.0, 102, 102, '[email protected]', 'Vishakhapatnam'), 
   ('Sharukh', 'Sheik', 25, 'M', 8300.0, 103, 103, '[email protected] ', 'Pune'), 
   ('Sarmista', 'Sharma', 26, 'F', 10000.0, 104, 104, '[email protected]', 'Mumbai')
]

Класс Cursor библиотеки psycopg предоставляет методы для выполнения команд PostgreSQL в базе данных с использованием кода Python.

Используя его методы, вы можете выполнять операторы SQL, извлекать данные из наборов результатов, вызывать процедуры.

Вы можете создать Cursor объект с помощью метода cursor () объекта / класса Connection.

пример

import psycopg2
#establishing the connection
conn = psycopg2.connect(
   database="mydb", user='postgres', password='password', host='127.0.0.1', port= '5432'
)

#Setting auto commit false
conn.autocommit = True

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

Методы

Ниже приведены различные методы, предоставляемые классом / объектом Cursor.

Sr.No. Методы и описание
1

callproc()

Этот метод используется для вызова существующих процедур базы данных PostgreSQL.

2

close()

Этот метод используется для закрытия текущего объекта курсора.

3

executemany()

Этот метод принимает серию списков параметров list. Подготавливает запрос MySQL и выполняет его со всеми параметрами.

4

execute()

Этот метод принимает запрос MySQL в качестве параметра и выполняет данный запрос.

5

fetchall()

Этот метод извлекает все строки в наборе результатов запроса и возвращает их как список кортежей. (Если мы выполним это после получения нескольких строк, он вернет оставшиеся)

6

fetchone()

Этот метод выбирает следующую строку в результате запроса и возвращает ее как кортеж.

7

fetchmany()

Этот метод похож на fetchone (), но он извлекает следующий набор строк в результирующем наборе запроса вместо одной строки.

Свойства

Ниже приведены свойства класса Cursor -

Sr.No. Описание недвижимости
1

description

Это свойство только для чтения, которое возвращает список, содержащий описание столбцов в наборе результатов.

2

lastrowid

Это свойство только для чтения, если в таблице есть какие-либо автоматически увеличивающиеся столбцы, оно возвращает значение, сгенерированное для этого столбца в последней операции INSERT или UPDATE.

3

rowcount

Это возвращает количество возвращенных / обновленных строк в случае операций SELECT и UPDATE.

4

closed

Это свойство указывает, закрыт ли курсор или нет, если да, то возвращает true, иначе false.

5

connection

Это возвращает ссылку на объект соединения, с помощью которого был создан этот курсор.

6

name

Это свойство возвращает имя курсора.

7

scrollable

Это свойство указывает, можно ли прокручивать конкретный курсор.