I’m using python to load data into mysql database, the connection and loading is success but the data is not appear in database. I’m also got a return how many row is insertd into table but when I go to the table and check again. It wasn’t show anything.
import mysql.connector
import pandas as pd
from sqlalchemy import create_engine
# Replace the placeholders with your actual MySQL server details
connection = mysql.connector.connect(
host="localhost",
user="root",
password="CamRanh19@",
database="king",
port='3306'
)
# Check if the connection is successful
if connection.is_connected():
print("Connected to MySQL!")
else:
print("Failed to connect to MySQL")
cur=connection.cursor()
cur.execute("""
CREATE TABLE IF NOT EXISTS ChicagoCrimeData (
ID INT,
CASE_NUMBER VARCHAR(255),
DATE DATE,
BLOCK VARCHAR(255),
IUCR VARCHAR(255),
PRIMARY_TYPE VARCHAR(255),
DESCRIPTION VARCHAR(255),
LOCATION_DESCRIPTION VARCHAR(255),
ARREST BOOLEAN,
DOMESTIC BOOLEAN,
BEAT INT,
DISTRICT INT,
WARD FLOAT,
COMMUNITY_AREA_NUMBER FLOAT,
FBICODE VARCHAR(255),
X_COORDINATE FLOAT,
Y_COORDINATE FLOAT,
YEAR INT,
LATITUDE FLOAT,
LONGITUDE FLOAT,
LOCATION VARCHAR(255)
);
""")
df=pd.read_csv('ChicagoCrimeData.csv')
engine = create_engine('sqlite:///king.db')
df.to_sql('ChicagoCrimeData',con=engine, if_exists='replace', index= False)