Основы SQL

·

3 min read

SQL (Structured Query Language) — это язык структурированных запросов, предназначенный для управления данными в реляционных базах данных. Он позволяет создавать, изменять, удалять данные и управлять структурой базы данных.

Основные команды SQL

1. DDL (Data Definition Language) — Операторы определения данных

Эти команды используются для создания и изменения структуры базы данных.

  • CREATE TABLE — создание таблицы:

      CREATE TABLE users (
          id INT PRIMARY KEY AUTO_INCREMENT,
          name VARCHAR(100) NOT NULL,
          email VARCHAR(255) UNIQUE NOT NULL
      );
    
  • ALTER TABLE — изменение структуры таблицы:

      ALTER TABLE users ADD COLUMN age INT;
    
  • DROP TABLE — удаление таблицы:

      DROP TABLE users;
    

2. DML (Data Manipulation Language) — Операторы манипуляции данными

Используются для работы с данными в таблицах.

  • INSERT — добавление данных:

      INSERT INTO users (name, email) VALUES ('Иван', 'ivan@example.com');
    
  • UPDATE — обновление данных:

      UPDATE users SET name = 'Иван Иванов' WHERE id = 1;
    
  • DELETE — удаление данных:

      DELETE FROM users WHERE id = 1;
    

3. DQL (Data Query Language) — Операторы выборки данных

Используются для извлечения информации из базы данных.

  • SELECT — получение данных:

      SELECT * FROM users;
    
  • Фильтрация данных с WHERE:

      SELECT * FROM users WHERE age > 18;
    
  • Сортировка с ORDER BY:

      SELECT * FROM users ORDER BY name ASC;
    
  • Ограничение числа записей с LIMIT:

      SELECT * FROM users LIMIT 5;
    

4. DCL (Data Control Language) — Операторы управления доступом

Используются для управления правами пользователей.

  • GRANT — предоставление прав:

      GRANT SELECT, INSERT ON users TO 'user'@'localhost';
    
  • REVOKE — отзыв прав:

      REVOKE INSERT ON users FROM 'user'@'localhost';
    

Виды соединений (JOIN)

SQL позволяет объединять данные из нескольких таблиц с помощью операторов JOIN.

  • INNER JOIN — возвращает записи, имеющие совпадения в обеих таблицах:

      SELECT users.name, orders.amount FROM users
      INNER JOIN orders ON users.id = orders.user_id;
    
  • LEFT JOIN — возвращает все записи из левой таблицы и совпадающие записи из правой:

      SELECT users.name, orders.amount FROM users
      LEFT JOIN orders ON users.id = orders.user_id;
    
  • RIGHT JOIN — аналогично LEFT JOIN, но возвращает все записи из правой таблицы:

      SELECT users.name, orders.amount FROM users
      RIGHT JOIN orders ON users.id = orders.user_id;
    

Группировка данных

SQL позволяет агрегировать данные с помощью GROUP BY и функций агрегирования:

  • COUNT — подсчет количества записей:

      SELECT COUNT(*) FROM users;
    
  • SUM — сумма значений:

      SELECT SUM(amount) FROM orders;
    
  • AVG — среднее значение:

      SELECT AVG(age) FROM users;
    
  • GROUP BY используется для группировки данных:

      SELECT age, COUNT(*) FROM users GROUP BY age;
    

Вывод

SQL — это мощный язык для работы с базами данных, позволяющий эффективно управлять и анализировать данные. Изучение его основ необходимо для работы с реляционными базами данных.