0% found this document useful (0 votes)
6 views5 pages

mysql_guide

The document provides a comprehensive guide on managing a database for a mini e-commerce store using SQL. It covers database and table management, data manipulation, user management, stored procedures, functions, indexing, joins, transactions, and backup/restore procedures. Each section includes SQL code examples for practical implementation.

Uploaded by

simotravail1173
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views5 pages

mysql_guide

The document provides a comprehensive guide on managing a database for a mini e-commerce store using SQL. It covers database and table management, data manipulation, user management, stored procedures, functions, indexing, joins, transactions, and backup/restore procedures. Each section includes SQL code examples for practical implementation.

Uploaded by

simotravail1173
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 5

1.

Database Management

Show databases:
```sql
SHOW DATABASES;
```

Create a database (e.g., for your store):


```sql
CREATE DATABASE mini_ecommerce;
```

Use a database:
```sql
USE mini_ecommerce;
```

Drop a database (careful!):


```sql
DROP DATABASE mini_ecommerce;
```

2. Table Management

Creating a Table

For products in your store:


```sql
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
price DECIMAL(10, 2) NOT NULL,
stock INT DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```

Altering a Table

- Add a column (e.g., category):


```sql
ALTER TABLE products ADD COLUMN category VARCHAR(50);
```

- Modify a column:
```sql
ALTER TABLE products MODIFY COLUMN price DECIMAL(12, 2);
```

- Drop a column:
```sql
ALTER TABLE products DROP COLUMN category;
```

Dropping a Table
```sql
DROP TABLE products;
```
3. Data Manipulation

Inserting Data

- Add a product:
```sql
INSERT INTO products (name, price, stock)
VALUES ('Cool T-Shirt', 19.99, 50);
```

- Multiple rows:
```sql
INSERT INTO products (name, price, stock)
VALUES ('Jeans', 49.99, 30), ('Sneakers', 79.99, 20);
```

Querying Data

- All products:
```sql
SELECT * FROM products;
```

- Specific columns:
```sql
SELECT name, price FROM products;
```

- With conditions:
```sql
SELECT * FROM products WHERE stock > 10;
```

- Sorted:
```sql
SELECT * FROM products ORDER BY price DESC;
```

- Limited:
```sql
SELECT * FROM products LIMIT 2;
```

Updating Data

- Update stock:
```sql
UPDATE products SET stock = 45 WHERE name = 'Cool T-Shirt';
```

- Increase all prices by 10%:


```sql
UPDATE products SET price = price * 1.10;
```

Deleting Data

- Delete a product:
```sql
DELETE FROM products WHERE id = 1;
```

- Clear table:
```sql
TRUNCATE TABLE products;
```

4. User Management

Creating a User

- For your dev work:


```sql
CREATE USER 'simoxdev'@'localhost' IDENTIFIED BY 'your_password';
```

- Grant privileges:
```sql
GRANT ALL PRIVILEGES ON mini_ecommerce.* TO 'simoxdev'@'localhost';
FLUSH PRIVILEGES;
```

- Dropping a User
```sql
DROP USER 'simoxdev'@'localhost';
```

5. Stored Procedures

Example: Reduce stock when an item’s sold:


```sql
DELIMITER //
CREATE PROCEDURE UpdateStock(IN product_id INT, IN qty INT)
BEGIN
UPDATE products
SET stock = stock - qty
WHERE id = product_id AND stock >= qty;
IF ROW_COUNT() = 0 THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Not enough stock!';
END IF;
END //
DELIMITER ;
```

Calling a Procedure
```sql
CALL UpdateStock(1, 5);
```

Dropping a Procedure
```sql
DROP PROCEDURE UpdateStock;
```

6. Functions

Example: Calculate discounted price:


```sql
DELIMITER //
CREATE FUNCTION GetDiscountedPrice(price DECIMAL(10, 2), discount DECIMAL(5, 2))
RETURNS DECIMAL(10, 2)
DETERMINISTIC
BEGIN
RETURN price * (1 - discount / 100);
END //
DELIMITER ;
```

Using a Function
```sql
SELECT name, GetDiscountedPrice(price, 20) AS discounted_price
FROM products;
```

Dropping a Function
```sql
DROP FUNCTION GetDiscountedPrice;
```

7. Indexes and Performance

- Creating an Index
```sql
CREATE INDEX idx_name ON products(name);
```

- Dropping an Index
```sql
DROP INDEX idx_name ON products;
```

8. Joins

Join products and orders:


```sql
SELECT p.name, o.quantity
FROM products p
INNER JOIN orders o ON p.id = o.product_id;
```

9. Transactions

```sql
START TRANSACTION;
INSERT INTO orders (product_id, quantity) VALUES (1, 3);
CALL UpdateStock(1, 3);
COMMIT; -- Or ROLLBACK if something fails
```

10. Backup and Restore

- Backup
```bash
mysqldump -u root -p mini_ecommerce > mini_ecommerce_backup.sql
```
- Restore
```bash
mysql -u root -p mini_ecommerce < mini_ecommerce_backup.sql
```

You might also like