Python MySQL - Verileri Seç

SELECT sorgusunu kullanarak MySQL'deki bir tablodan veri alabilir / getirebilirsiniz. Bu sorgu / ifade, belirtilen tablonun içeriğini tablo biçiminde döndürür ve sonuç kümesi olarak adlandırılır.

Sözdizimi

SELECT sorgusunun sözdizimi aşağıdadır -

SELECT column1, column2, columnN FROM table_name;

Misal

MySQL'de cricketers_data adlı bir tablo oluşturduğumuzu varsayalım -

CREATE TABLE cricketers_data(
   First_Name VARCHAR(255),
   Last_Name VARCHAR(255),
   Date_Of_Birth date,
   Place_Of_Birth VARCHAR(255),
   Country VARCHAR(255)
);

Ve INSERT ifadelerini kullanarak 5 kayıt eklediysek -

insert into cricketers_data values('Shikhar', 'Dhawan', DATE('1981-12-05'), 'Delhi', 'India');
insert into cricketers_data values('Jonathan', 'Trott', DATE('1981-04-22'), 'CapeTown', 'SouthAfrica');
insert into cricketers_data values('Kumara', 'Sangakkara', DATE('1977-10-27'), 'Matale', 'Srilanka');
insert into cricketers_data values('Virat', 'Kohli', DATE('1988-11-05'), 'Delhi', 'India');
insert into cricketers_data values('Rohit', 'Sharma', DATE('1987-04-30'), 'Nagpur', 'India');

Aşağıdaki sorgu, tablodan FIRST_NAME ve Ülke değerlerini alır.

mysql> select FIRST_NAME, Country from cricketers_data;
+------------+-------------+
| FIRST_NAME | Country     | 
+------------+-------------+
| Shikhar    | India       |
| Jonathan   | SouthAfrica |
| Kumara     | Srilanka    |
| Virat      | India       |
| Rohit      | India       |
+------------+-------------+
5 rows in set (0.00 sec)

Ayrıca her kaydın tüm değerlerini, sütunların adının * örneğini kullanarak alabilirsiniz: -

mysql> SELECT * from cricketers_data;
+------------+------------+---------------+----------------+-------------+
| First_Name | Last_Name  | Date_Of_Birth | Place_Of_Birth | Country     |
+------------+------------+---------------+----------------+-------------+
| Shikhar    | Dhawan     | 1981-12-05    | Delhi          | India       |
| Jonathan   | Trott      | 1981-04-22    | CapeTown       | SouthAfrica |
| Kumara     | Sangakkara | 1977-10-27    | Matale         | Srilanka    |
| Virat      | Kohli      | 1988-11-05    | Delhi          | India       |
| Rohit      | Sharma     | 1987-04-30    | Nagpur         | India       |
+------------+------------+---------------+----------------+-------------+
5 rows in set (0.00 sec)

Python Kullanarak MYSQL Tablosundan Veri Okuma

Herhangi bir veritabanı üzerinde READ İşlemi, veritabanından bazı yararlı bilgileri almak anlamına gelir. Şunu kullanarak MYSQL'den veri alabilirsiniz.fetch() mysql-connector-python tarafından sağlanan yöntem.

Cursor.MySQLCursor sınıfı yani üç yöntem sağlarfetchall(), fetchmany() ve, fetchone() nerede,

  • fetchall()yöntem, bir sorgunun sonuç kümesindeki tüm satırları alır ve bunları tuple listesi olarak döndürür. (Bunu birkaç satırı aldıktan sonra yürütürsek, kalanları döndürür).

  • fetchone() yöntem, bir sorgunun sonucundaki sonraki satırı alır ve bir demet olarak döndürür.

  • fetchmany() yöntem fetchone () yöntemine benzer, ancak tek bir satır yerine bir sorgunun sonuç kümesindeki sonraki satır kümesini alır.

Note - Sonuç kümesi, bir tabloyu sorgulamak için bir imleç nesnesi kullanıldığında döndürülen bir nesnedir.

rowcount - Bu salt okunur bir özelliktir ve bir execute () yönteminden etkilenen satırların sayısını döndürür.

Misal

Aşağıdaki örnek, EMPLOYEE tablosunun tüm satırlarını SELECT sorgusunu kullanarak ve başlangıçta elde edilen sonuç kümesinden getirmektedir, ilk satırı fetchone () yöntemini kullanarak alıyoruz ve ardından fetchall () yöntemini kullanarak kalan satırları alıyoruz.

import mysql.connector
#establishing the connection
conn = mysql.connector.connect(
   user='root', password='password', host='127.0.0.1', database='mydb'
)

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

#Retrieving single row
sql = '''SELECT * from EMPLOYEE'''

#Executing the query
cursor.execute(sql)

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

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

#Closing the connection
conn.close()

Çıktı

('Krishna', 'Sharma', 19, 'M', 2000.0)
[('Raj', 'Kandukuri', 20, 'M', 7000.0), ('Ramya', 'Ramapriya', 25, 'M', 5000.0)]

Aşağıdaki örnek, EMPLOYEE tablosunun ilk iki satırını fetchmany () yöntemini kullanarak alır.

Misal

import mysql.connector
#establishing the connection
conn = mysql.connector.connect(
   user='root', password='password', host='127.0.0.1', database='mydb'
)

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

#Retrieving single row
sql = '''SELECT * from EMPLOYEE'''

#Executing the query
cursor.execute(sql)

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

#Closing the connection
conn.close()

Çıktı

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