Настройка среды SQL
Шаг 1: Установите MySQL Server
Скачайте MySQL Server с официального сайта
Посетите сайт MySQL Downloads
Запустите программу установки
Выберите тип установки (Typical, Complete или Custom)
Следуйте инструкциям по установке для завершения установки
Шаг 2: Установите MySQL Workbench
Скачайте MySQL Workbench
Посетите сайт MySQL Workbench Downloads
Запустите программу установки
Следуйте инструкциям по установке для завершения установки
Шаг 3: Настройка сервера MySQL
Откройте MySQL Workbench
Подключитесь к серверу MySQL
Нажмите на значок + для создания нового соединения
Введите имя соединения, имя хоста (localhost), порт (по умолчанию 3306), имя пользователя (root) и пароль
Проверьте соединение
Нажмите Test Connection для проверки соединения
Шаг 4: Настройка начальной базы данных и таблицы
1. Создайте базу данных
CREATE DATABASE sample_db;2. Используйте базу данных
USE sample_db;3. Создайте таблицу
CREATE TABLE employees ( id INT AUTO_INCREMENT PRIMARY KEY, first_name VARCHAR(50), last_name VARCHAR(50), department VARCHAR(50), salary DECIMAL(10, 2));4. Вставьте выборочные данные
INSERT INTO employees (first_name, last_name, department, salary) VALUES('John', 'Doe', 'Engineering', 60000.00),('Jane', 'Smith', 'Sales', 55000.00),('Sam', 'Brown', 'HR', 50000.00);
- ПОКАЖЕМ, КАК РАЗВЕРНУТЬ МОДЕЛЬ нейросети DEEPSEEK R1 ПРЯМО НА СВОЁМ КОМПЬЮТЕРЕ
- Где и как применять? Потестируем модель после установки на разных задачах
- Как дообучить модель под себя?
Верификация
Выполните базовый запрос
SELECT * FROM employees;Заключение
Эта настройка позволит вам продолжить работу над проектом, фильтруя таблицы данных с помощью SQL. Убедитесь, что MySQL Server и Workbench работают правильно, и проверьте начальную настройку данных с помощью предоставленных команд SQL.
Простой пример SELECT-запроса с использованием WHERE
-- Select specific columns from a table
SELECT first_name, last_name, email
FROM customers;
-- Select all columns from a table
SELECT *
FROM orders;
-- Filter rows based on a condition
SELECT order_id, order_date, customer_id
FROM orders
WHERE order_date = '2023-10-01';
-- Filter rows with multiple conditions using AND
SELECT product_id, product_name, price
FROM products
WHERE price > 100 AND category = 'Electronics';
-- Filter rows with multiple conditions using OR
SELECT employee_id, first_name, department
FROM employees
WHERE department = 'Sales' OR department = 'Marketing';
-- Using a NOT condition
SELECT customer_id, first_name, last_name
FROM customers
WHERE NOT country = 'USA';
-- Using LIKE for pattern matching
SELECT product_id, product_name
FROM products
WHERE product_name LIKE 'A%'; -- Products that start with 'A'
-- Using IN for filtering specific values
SELECT customer_id, first_name, last_name
FROM customers
WHERE country IN ('USA', 'Canada', 'UK');
-- Using BETWEEN for range filtering
SELECT order_id, order_date, total_amount
FROM orders
WHERE total_amount BETWEEN 500 AND 1000;
-- Combining multiple clauses
SELECT employee_id, first_name, last_name, department
FROM employees
WHERE department = 'Engineering' AND hire_date BETWEEN '2020-01-01' AND '2023-10-01';
Каждый SQL-запрос должен помочь вам отработать навыки эффективного извлечения и фильтрации данных из таблиц базы данных. Вы можете запустить эти запросы в своей среде SQL.
-- Filtering records from a 'customers' table
-- Assuming we have a 'customers' table structured as follows:
-- customers (customer_id INT, name VARCHAR, age INT, country VARCHAR, active BOOLEAN)
-- Filtering customers who are active AND from the USA
SELECT *
FROM customers
WHERE active = true
AND country = 'USA';
-- Filtering customers who are either from the USA OR older than 30
SELECT *
FROM customers
WHERE country = 'USA'
OR age > 30;
-- Filtering customers who are active AND (from the USA OR older than 30)
SELECT *
FROM customers
WHERE active = true
AND (country = 'USA' OR age > 30);
-- Filtering customers who are not active OR are younger than 25
SELECT *
FROM customers
WHERE active = false
OR age < 25;
-- Filtering customers who are not from the USA and are older than 40 or inactive
SELECT *
FROM customers
WHERE country 'USA'
AND (age > 40 OR active = false);
-- Let's assume we have a table named 'employees' with columns 'id', 'name', and 'email'
-- Pattern Matching with LIKE
-- Fetch employees whose names start with 'A'
SELECT * FROM employees
WHERE name LIKE 'A%';
-- Fetch employees whose email contains 'example'
SELECT * FROM employees
WHERE email LIKE '%example%';
-- Regular Expressions with PostgreSQL
-- Fetch employees whose name contains exactly 5 letters
SELECT * FROM employees
WHERE name ~ '^\w{5}#39;; -- Fetch employees whose email ends with '.com' SELECT * FROM employees WHERE email ~ '\.com#39;; -- MySQL REGEXP examples -- Fetch employees whose name starts with 'A' and ends with 'n' SELECT * FROM employees WHERE name REGEXP '^A.*n#39;; -- Fetch employees whose email contains a digit SELECT * FROM employees WHERE email REGEXP '[0-9]'; Примечания
В этих примерах LIKE использует % в качестве подстановочного знака для любой последовательности символов.
Оператор ~ в PostgreSQL используется для регулярных выражений. REGEXP используется для регулярных выражений в MySQL.
Примените эти запросы для фильтрации данных в вашей собственной среде баз данных SQL.
Работа с NULL-значениями в SQL
1. Выборка строк с NULL-значениями
-- Select rows where 'column_name' is NULL
SELECT *
FROM your_table
WHERE column_name IS NULL;
2. Выбор строк без NULL-значений
-- Select rows where 'column_name' is NOT NULL
SELECT *
FROM your_table
WHERE column_name IS NOT NULL;3. Обработка NULL с помощью COALESCE
-- Replace NULL with a default value
SELECT COALESCE(column_name, 'default_value') AS column_name
FROM your_table;
4. Использование NULLIF
-- Return NULL if two expressions are equal
SELECT NULLIF(column1, column2) AS result
FROM your_table;
5. Условный подсчет с игнорированием NULL
-- Count rows ignoring NULLs in 'column_name'
SELECT COUNT(column_name) AS non_null_count
FROM your_table
WHERE column_name IS NOT NULL;
6. SUM Игнорирование NULL-значений
-- Calculate sum ignoring NULLs
SELECT SUM(column_name) AS total_sum
FROM your_table;
7. Обновление NULL-значений
-- Update NULL values to a specified default value
UPDATE your_table
SET column_name = 'default_value'
WHERE column_name IS NULL;
8. Объединение таблиц с обработкой NULL
-- Left join, ensuring rows with NULL in 'column_b' are maintained
SELECT a.*, b.*
FROM table_a a
LEFT JOIN table_b b ON a.id = b.a_id
WHERE b.column_b IS NULL OR b.column_b IS NOT NULL;
Эти SQL-сниппеты могут быть непосредственно использованы в реальных проектах для эффективной работы со значениями NULL в задачах Data Engineering.
Фильтрация по дате и диапазонные запросы в SQL
Фильтрация по дате
Сценарий: у вас есть таблица transactions со столбцом transaction_date.
-- Filtering transactions on a specific date
SELECT *
FROM transactions
WHERE transaction_date = '2023-10-01';
Сценарий: фильтрация транзакций за определенный месяц.
-- Using the MONTH() and YEAR() functions
SELECT *
FROM transactions
WHERE MONTH(transaction_date) = 10
AND YEAR(transaction_date) = 2023;
Запросы диапазона
Сценарий: вам нужно найти транзакции между двумя определенными датами.
-- Filtering transactions between two dates
SELECT *
FROM transactions
WHERE transaction_date BETWEEN '2023-10-01' AND '2023-10-31';
Сценарий: поиск транзакций до определенной даты или после определенной даты.
-- Filtering transactions before a specific date
SELECT *
FROM transactions
WHERE transaction_date '2023-10-01';
Сценарий: поиск транзакций за последние 7 дней.
-- Using DATE_SUB() to get transactions from the last 7 days
SELECT *
FROM transactions
WHERE transaction_date >= CURDATE() - INTERVAL 7 DAY;
Практическая комбинация запросов
Сценарий: сложный запрос, сочетающий фильтрацию по дате и запросы диапазона, для поиска транзакций за последний месяц на сумму более 1000 долларов.
-- Combining date range and amount filtering
SELECT *
FROM transactions
WHERE transaction_date >= CURDATE() - INTERVAL 1 MONTH
AND amount > 1000;
Эта реализация позволяет выполнять фильтрацию по конкретным датам, диапазонам и условиям, обеспечивая практическое использование выбора данных на основе даты в SQL.
- Выполним базовые задачи на российских нейросетях и посмотрим на результаты!
- Файл-инструкцию «Как сделать нейро-фотосессию из своего фото бесплатно, без иностранных карт и прочих сложностей»
- Покажем 10+ способов улучшить свою жизнь с ИИ каждому — от ребенка и пенсионера до управленца и предпринимателя
- Возможность получить Доступ в Нейроклуб на целый месяц
- Как ИИ ускоряет работу и приносит деньги
- За 2 часа вы получите четкий план, как начать работать с ИИ прямо сейчас!