Skip to main content

Extracting Data in a Database Using Python

Extracting data in a database using python.

Using Python to extract data in a MySQL table


first we need to pip install pymysql
  1. Create table along with connection to the mysql server using python
import pymysql

connection=pymysql.connect(host='host',port=port,user='user',password='password',db='schema')

#creating cursor

cursor= connection.cursor()

#query for create Table

TABLES={}

TABLES['employees'] = (
"CREATE TABLE employees ("
"PersonID int,"
"LastName varchar(255),"
"FirstName varchar(255),"
"Address varchar(255),"
"City varchar(255)"
")")

for name, ddl in TABLES.items():
cursor.execute(ddl)
connection.commit()
connection.close()




Insert Data into the MySQL Table using Python
import pymysql

# Data set to insert

insert_people=[("8","Perera","L.D","123","CMB"),
("9","Rathnayake","S.S","123","HMB"),
("10","Guptha","C.K","123","MUM"),]
connection=pymysql.connect(host='host',port=port,user='user',password='password',db='schema')
cursor= connection.cursor()

#Insert each employee loop

for person in insert_people:
for element in person:
data=element.strip().split(',')
print (data[0])
insert_query="INSERT INTO employees(PersonId,LastName,FirstName,Address,City)VALUES('{0}','{1}','{2}','{3}','{4}');".format(data[0],data[1],data[2],data[3],data[4])

cursor.execute(insert_query,insert_people)
connection.commit()
connection.close()



Retrieve data which we insert

import pymysql

connection=pymysql.connect(host='host',port=port,user='user',password='password',db='schema')
cursor=connection.cursor()
query="SELECT * FROM employees"
cursor.execute(query)
result=cursor.fetchall()

#fetch data into a for loop and print them
for row in result:
print(row)
connection.close()


Comments

Post a Comment

Popular posts from this blog

Insert script with multiple cursors and condition check

DECLARE CURSOR C1 IS   SELECT ID FROM TABLE_NAME_1 WHERE COLUMN IN ('');   CURSOR C2     IS       SELECT ID FROM TABLE_NAME_2 WHERE COLUMN IN ('');              CURSOR C3 (CP_TABLE_01_ID NUMBER,CP_TABLE_02_ID NUMBER)         IS           SELECT COUNT(*) AS COUNT_UP           FROM TABLE_NAME_3           WHERE COLUMN_CONDITION_01=CP_TABLE_02_ID           AND COLUMN_CONDITION_02=CP_TABLE_01_ID; COUNT_UP NUMBER; BEGIN FOR R1 IN C1 LOOP     FOR R2 IN C2     LOOP          OPEN C3(R1.ID,R2.ID);        FETCH C3 INTO COUNT_UP;        CLOSE C3;               IF (COUNT_UP=0) THEN           INSERT           INTO TABL...

REF Cursor

REF CURSOR WILL BE DYNAMICALLY OPENS OR OPEN BASED ON A LOGIC. DECLARE TYPE C1 IS REF CURSOR ; CURSOR C IS SELECT * FROM DUAL; REF_CURSOR RC; BEGIN IF (TO_CHAR(SYSDATE, 'DD' ) = 30 ) THEN OPEN REF_CURSOR FOR 'SELECT * FROM TABLE1' ; ELSIF ( TO_CHAR(SYSDATE, 'DD' ) = 29 ) THEN OPEN REF_CURSOR FOR SELECT * FROM TABLE2; ELSE OPEN REF_CURSOR FOR SELECT * FROM DUAL; END IF ; OPEN C; END ;