DatabaseManagementSystems/Practical/Practical Exam/Connectivity/C2 - MySQL Connectivity.md

103 lines
2.8 KiB
Markdown
Raw Normal View History

2024-11-10 15:44:59 +05:30
# C2 - MySQL Connectivity
2024-11-10 15:44:08 +05:30
**Problem Statement:** Implement MYSQL/Oracle database connectivity with PHP /python /Java Implement Database navigation operations (add, delete, edit,).
---
## Pre-requisites (with installation command for Ubuntu):
1. Python3 - `sudo apt install python3`
2. pip - `sudo apt install pip`
3. mysql-connector - `pip3 install mysql-connector` OR `pip3 install mysql-connector --break-system-packages` (installs it system-wide)
## Instructions
1. First, open the Terminal and log in to MySQL:
```shell
mysql -u root -p
```
> [!NOTE]
> Usually the password in our labs is `root`. If you don't know the password, try running `sudo mysql`. This will run the `mysql` command as root.
2. Whether you logged in as root or not, run this command to set the password for `root` user in mysql which is required for connecting to the database:
```sql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
FLUSH PRIVILEGES;
```
3. Now, in MySQL we need to initialize the database and tables:
```sql
-- Creating the database
CREATE DATABASE connectMe;
USE connectMe;
-- Creating a table
CREATE TABLE students (
roll INT,
name VARCHAR(255)
);
-- Exit
exit
```
> We need to `exit` from MySQL shell since the work there is done for now.
5. Create a new file `connectSQL.py` with the following contents:
```python
import mysql.connector
# Connecting to MySQL database
db = mysql.connector.connect(
host="localhost",
user="root",
password="root", # Password of root user we set in step 2
database="connectMe" # Name of the database we created in step 3
)
Cursor = db.cursor()
sqlInsert = "INSERT INTO students (roll, name) VALUES (21, 'Stewie')" # insert operation
Cursor.execute(sqlInsert)
print(Cursor.rowcount, "record added to database.")
Cursor.execute(sqlInsert)
sqlInsert = "INSERT INTO students (roll, name) VALUES (22, 'Foxy')" # insert operation
print(Cursor.rowcount, "record added to database.")
sqlUpdate = "UPDATE students SET roll = 21 WHERE roll = 20"
Cursor.execute(sqlUpdate)
print(Cursor.rowcount, "record updated.")
sqlDelete = "DELETE FROM students WHERE roll = 20"
Cursor.execute(sqlDelete)
print(Cursor.rowcount, "record deleted.")
db.commit()
Cursor.close()
db.close()
```
6. Open Terminal and run the above program:
```shell
python3 connectSQL.py
```
> [!NOTE]
> This step assume you have stored the file in home directory or you know how to change the current working directory.
7. That's it! You can view the changes in MySQL by logging in using `mysql -u root -p` (Password: `root`) and viewing the table:
```sql
USE connectMe;
SELECT * FROM students;
```
> [!WARNING]
> Never use `root` as password in production. Use a strong password. This guide uses `root` as password for simplicity and educational purposes.
---