Added mysql connectivity.
This commit is contained in:
parent
51a7f8cb49
commit
bc04babb8d
102
Practical/Practical Exam/Connectivity/C2 - MySQL Connectivity.md
Normal file
102
Practical/Practical Exam/Connectivity/C2 - MySQL Connectivity.md
Normal 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.
|
||||
|
||||
---
|
@ -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
|
||||
|
||||
---
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user