LITVINOV
VIP user
Адміністратор
- 27.12.23
- 157
- 74
- Автор теми
- Адміністратор
- Модератор
- #1
MySQL є однією з найпопулярніших систем управління базами даних, і вивчення її основ допомагає покращити навички в розробці веб-додатків. У цій статті ми розглянемо основні операції в MySQL та надамо приклади коду для кращого розуміння.
1. Підключення до бази даних:
2. Створення таблиці:
3. Вставка даних:
4. Вибірка даних:
5. Оновлення даних:
6. Видалення даних:
7. Фільтрація та сортування:
8. Групування та обчислення:
9. З'єднання таблиць:
10. Використання підзапитів:
11. Використання індексів:
12. Транзакції:
13. Робота зі датами:
14. Використання обмежень:
15. Робота з JSON:
16. Використання функцій:
17. Робота з подіями (triggers):
18. Забезпечення безпеки:
19. Робота зі сховищами (stored procedures):
20. Використання оптимізаційних інструментів:
21. Робота з переглядами (views):
22. Використання індексів повнотекстового пошуку:
23. Робота з автоматичним збільшенням значення (auto-increment):
24. Використання тригерів для аудиту:
25. Робота з зовнішніми ключами:
Вивчення цих концепцій допомагає побудувати ефективні та надійні бази даних для ваших проектів. Продовжуйте розвивати свої навички та експериментуйте з різноманітними аспектами MySQL.
1. Підключення до бази даних:
Код:
-- Використання команди для підключення до MySQL сервера
mysql -u користувач -p пароль -h хост база_даних
2. Створення таблиці:
Код:
-- Приклад створення таблиці "users" з полями id, ім'я та електронна пошта
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(100)
);
3. Вставка даних:
Код:
-- Додавання нового користувача до таблиці
INSERT INTO users (id, name, email) VALUES (1, 'John Doe', 'john@example.com');
4. Вибірка даних:
Код:
-- Витягування всіх користувачів з таблиці
SELECT * FROM users;
5. Оновлення даних:
Код:
-- Оновлення імені користувача з id=1
UPDATE users SET name = 'Jane Doe' WHERE id = 1;
6. Видалення даних:
Код:
-- Видалення користувача з id=1
DELETE FROM users WHERE id = 1;
7. Фільтрація та сортування:
Код:
-- Витягування користувачів з іменем, починаючи з літери 'A', відсортованих за іменем
SELECT * FROM users WHERE name LIKE 'A%' ORDER BY name;
8. Групування та обчислення:
Код:
-- Отримання кількості користувачів за кожною електронною поштою
SELECT email, COUNT(*) FROM users GROUP BY email;
9. З'єднання таблиць:
Код:
-- Приклад вибірки даних з двох таблиць users та orders за спільним полем user_id
SELECT users.name, orders.order_id
FROM users
JOIN orders ON users.id = orders.user_id;
10. Використання підзапитів:
Код:
-- Вибірка користувачів з orders, які мають більше одного замовлення
SELECT name
FROM users
WHERE id IN (SELECT user_id FROM orders GROUP BY user_id HAVING COUNT(*) > 1);
11. Використання індексів:
Код:
-- Створення індексу на полі email для підвищення швидкості пошуку
CREATE INDEX idx_email ON users(email);
12. Транзакції:
Код:
-- Приклад транзакції для забезпечення атомарності операцій
START TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE user_id = 1;
UPDATE accounts SET balance = balance + 100 WHERE user_id = 2;
COMMIT;
13. Робота зі датами:
Код:
-- Вибірка користувачів, які зареєструвалися впродовж останнього місяця
SELECT * FROM users WHERE registration_date >= CURDATE() - INTERVAL 1 MONTH;
14. Використання обмежень:
Код:
-- Додавання обмеження на унікальність поля email в таблиці users
ALTER TABLE users ADD CONSTRAINT unique_email UNIQUE (email);
15. Робота з JSON:
Код:
-- Витягування даних з JSON-поля
SELECT user_data->'$.name' AS user_name
FROM user_profile;
16. Використання функцій:
Код:
-- Використання функції AVG для обчислення середнього значення
SELECT AVG(salary) AS average_salary
FROM employees;
17. Робота з подіями (triggers):
Код:
-- Створення тригера для автоматичного оновлення дати зміни запису
CREATE TRIGGER update_modified_date
BEFORE UPDATE ON table_name
FOR EACH ROW
SET NEW.modified_date = NOW();
18. Забезпечення безпеки:
Код:
-- Використання параметризованих запитів для запобігання SQL-ін'єкціям
SELECT * FROM users WHERE username = ? AND password = ?;
19. Робота зі сховищами (stored procedures):
Код:
-- Створення процедури для вибірки користувачів за певними умовами
DELIMITER //
CREATE PROCEDURE GetUsersByCondition(IN condition INT)
BEGIN
SELECT * FROM users WHERE age > condition;
END //
DELIMITER ;
20. Використання оптимізаційних інструментів:
Код:
-- Використання EXPLAIN для аналізу виконання запиту та оптимізації його швидкості
EXPLAIN SELECT * FROM products WHERE category_id = 1;
21. Робота з переглядами (views):
Код:
-- Створення перегляду для спрощення складних запитів
CREATE VIEW high_salary_employees AS
SELECT * FROM employees WHERE salary > 50000;
22. Використання індексів повнотекстового пошуку:
Код:
-- Створення повнотекстового індексу та пошук за словом в текстовому полі
CREATE FULLTEXT INDEX idx_content ON articles(content);
SELECT * FROM articles WHERE MATCH(content) AGAINST('MySQL' IN BOOLEAN MODE);
23. Робота з автоматичним збільшенням значення (auto-increment):
Код:
-- Створення таблиці з полем, яке автоматично збільшується
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50)
);
24. Використання тригерів для аудиту:
Код:
-- Створення тригера для реєстрації змін у таблиці
CREATE TRIGGER log_changes
AFTER UPDATE ON users
FOR EACH ROW
INSERT INTO audit_log (user_id, action, timestamp)
VALUES (OLD.id, 'update', NOW());
25. Робота з зовнішніми ключами:
Код:
-- Створення таблиці з зовнішнім ключем для забезпечення цілісності даних
CREATE TABLE orders (
order_id INT PRIMARY KEY,
user_id INT,
FOREIGN KEY (user_id) REFERENCES users(id)
);
Вивчення цих концепцій допомагає побудувати ефективні та надійні бази даних для ваших проектів. Продовжуйте розвивати свої навички та експериментуйте з різноманітними аспектами MySQL.