После авторизации Вы получите доступ к файлам, скрытым материалам сайта, исходным кодам
возможность комментировать и т.д.

Вы можете авторизоваться на сайте всего одним кликом:

2016-07-20
SQL → Введение в SQL
SQL, Виды запросов, Послать запрос, Добавить запись, Вывести строки

В этом уроке я познакомлю Вас с языком общения с Базами Данных. Вы научитесь объяснять ей, чего Вы от нее хотите и она будет это выполнять...

ПЕРВАЯ ЧАСТЬ ЭТОГО УРОКА: Здесь

Язык SQL

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

Проще говоря, SQL — это язык, на котором можно общаться с базой данных. Любую операцию, от создания таблицы до выборки данных, возможно осуществить только посредством запроса на языке SQL. Запрос, как правило, отправляется внешней программой к СУБД. Та в свою очередь выполняет его, производя необходимые операции над базой данных, и возвращает результат.

Запросы делятся на два вида:

  1. DDL;
  2. DML

К DDL (Data Definition Language, язык описания данных) относятся запросы, меняющие структуру базы данных. Например, создание таблицы, удаление таблицы, добавление столбца к существующей таблице.

К DML (Data Modification Language, язык модификации данных) относятся запросы, меняющие содержимое базы данных, т. е. операции над строками таблиц. Сюда относятся вставка, удаление, изменение и выборка строк.

Вернемся к базе данных отделов и сотрудников.

С помощью такого запроса можно создать таблицу depts:

CREATE TABLE depts
(
   id_dept INT NOT NULL,
   name VARCHAR(32) NOT NULL,
   PRIMARY KEY (id_dept)
)

А таким запросом — таблицу emps:

CREATE TABLE emps
(
   id_emp INT NOT NULL,
   id_dept INT NOT NULL,
   first_name VARCHAR(32) NOT NULL,
   middle_name VARCHAR(32),
   last_name VARCHAR(32) NOT NULL,
   PRIMARY KEY (id_emp),
   FOREIGN KEY (id_dept) REFERENCES depts (id_dept)
)

Обычно DML-операции приходится производить один раз — при создании базы данных. Их чаще выполняют не вручную, а с помощью специальных утилит. Для MySQL такой утилитой является phpMyAdmin. С помощью ее графического интерфейса можно создать таблицы, не задумываясь о синтаксисе оператора CREATE TABLE .

Сценарий, как правило, работает со строками таблиц, не меняя структуру базы данных, т. е. производит только DML-операции: вставку, удаление, изменение и выборку строк.

Вставка строк

Для вставки строк в языке SQL служит оператор INSERT. Вот так можно наполнить базу данных сотрудников и отделов:

INSERT INTO depts (id_dept, name) VALUES ('1', 'Бухгалтерия');
INSERT INTO depts (id_dept, name) VALUES ('2', 'Маркетинг');

INSERT INTO emps (id_emp, id_dept, last_name, first_name, middle_name)
   VALUES ('1', '1', 'Иванов', 'Иван', 'Иванович');

INSERT INTO emps (id_emp, id_dept, last_name, first_name, middle_name)
   VALUES ('2', '1', 'Петров', 'Петр', 'Петрович');

INSERT INTO emps (id_emp, id_dept, last_name, first_name, middle_name)
   VALUES ('3', '2', 'Ушаков', 'Павел', 'Павлович');

INSERT INTO emps (id_emp, id_dept, last_name, first_name, middle_name)
   VALUES ('4', '2', 'Ефремов', 'Илья', 'Викторович');

INSERT INTO emps (id_emp, id_dept, last_name, first_name, middle_name)
   VALUES ('5', '1', 'Сидорова', 'Елена', 'Николаевна');

Удаление строк

Предположим, руководство решило уволить всех сотрудников отдела маркетинга. В этом случае поможет оператор DELETE, удаляющий строки из таблицы:

DELETE FROM emps WHERE id_dept = '2'

Изменение строк

Елена Николаевна вышла замуж за Ивана Ивановича и поменяла фамилию. Для изменения строк таблицы служит оператор UPDATE. Воспользуемся им:

UPDATE emps
   SET last_name = 'Иванова'
   WHERE id_emp = '5'

Выборка строк

Для выборки строк служит оператор SELECT. С его помощью можно составлять сложнейшие запросы, выбирающие данные сразу из множества таблиц. В рамках текущего урока рассмотрим лишь самые простые примеры.

Все сотрудники:

SELECT *
   FROM emps

Сотрудники отдела бухгалтерии:

SELECT *
   FROM emps
   WHERE id_dept = '1'

Сотрудники отдела бухгалтерии, отсортированные по фамилии, имени, отчеству:

SELECT *
   FROM emps
   WHERE id_dept = '1'
   ORDER BY last_name, first_name, middle_name

Как зовут сотрудника No 1?

SELECT last_name, first_name, middle_name
   FROM emps
   WHERE id_emp = '1'

Сколько всего в компании работает человек?

SELECT count(*)
   FROM emps;
1541
0
Пожалуйста, авторизируйтесь, чтобы скачать архив с файлами урока