Added mysql connectivity.

This commit is contained in:
K 2024-11-10 15:44:08 +05:30
parent 51a7f8cb49
commit bc04babb8d
Signed by: notkshitij
GPG Key ID: C5B8BC7530F8F43F
2 changed files with 103 additions and 1 deletions

View File

@ -0,0 +1,102 @@
# C1 - MySQL Connectivity
**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.
---

View File

@ -10,7 +10,7 @@ This folder contains all the problem statements expected for practical examinati
- [SQL](https://git.kska.io/sppu-te-comp-content/DatabaseManagementSystems/src/branch/main/Practical/Practical%20Exam/SQL) // 9 problem statements
- [PL-SQL](https://git.kska.io/sppu-te-comp-content/DatabaseManagementSystems/src/branch/main/Practical/Practical%20Exam/PL-SQL) // 10 problem statements
- [MongoDB](https://git.kska.io/sppu-te-comp-content/DatabaseManagementSystems/src/branch/main/Practical/Practical%20Exam/MongoDB) // 6 problem statements
- [Connectivity]() // coming soon
- [Connectivity](https://git.kska.io/sppu-te-comp-content/DatabaseManagementSystems/src/branch/main/Practical/Practical%20Exam/Connectivity) // 2 problem statements
---