Python PostgreSQL - Veri Ekle

PostgreSQL'de mevcut bir tabloya kayıt ekleyebilirsiniz. INSERT INTOBeyan. Bunu yürütürken tablonun adını ve içindeki sütunların değerlerini belirtmeniz gerekir.

Sözdizimi

INSERT ifadesinin önerilen sözdizimi aşağıdadır -

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

Burada, sütun1, sütun2, sütun3, .. bir tablonun sütunlarının adlarıdır ve değer1, değer2, değer3, ... tabloya eklemeniz gereken değerlerdir.

Misal

Aşağıda gösterildiği gibi CREATE TABLE ifadesini kullanarak CRICKETERS adlı bir tablo oluşturduğumuzu varsayalım -

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=#

Aşağıdaki PostgreSQL ifadesi, yukarıda oluşturulan tabloya bir satır ekler -

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 deyimini kullanarak kayıt eklerken , herhangi bir sütun adını atlarsanız, kayıt atladığınız sütunlarda boşluk bırakılarak eklenir.

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

Ayrıca, ilettiğiniz değerlerin sırası tablodaki ilgili sütun adlarıyla aynıysa, sütun adlarını belirtmeden de tabloya kayıt ekleyebilirsiniz.

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=#

Kayıtları bir tabloya ekledikten sonra, aşağıda gösterildiği gibi SELECT deyimini kullanarak içeriğini doğrulayabilirsiniz -

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 kullanarak veri ekleme

Psycopg2'nin imleç sınıfı execute () adıyla bir yöntem sağlar. Bu yöntem, sorguyu bir parametre olarak kabul eder ve çalıştırır.

Bu nedenle, python kullanarak PostgreSQL'de bir tabloya veri eklemek -

  • İthalat psycopg2 paketi.

  • Kullanarak bir bağlantı nesnesi oluşturun connect() yöntem, kullanıcı adını, parolayı, ana bilgisayarı (isteğe bağlı varsayılan: localhost) ve veritabanını (isteğe bağlı) parametre olarak ona ileterek.

  • Özniteliğe değer olarak false değerini ayarlayarak otomatik kesinleştirme modunu kapatın autocommit.

  • cursor() yöntemi Connectionpsycopg2 kütüphanesinin sınıfı bir imleç nesnesi döndürür. Bu yöntemi kullanarak bir imleç nesnesi oluşturun.

  • Daha sonra INSERT deyimlerini execute () yöntemine bir parametre olarak ileterek yürütün.

Misal

Aşağıdaki Python programı, PostgreSQL veritabanında EMPLOYEE adlı bir tablo oluşturur ve execute () yöntemini kullanarak bu tabloya kayıtlar ekler -

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()

Çıktı

Records inserted........