logo
5 модуль

17.3. Язык запросов sql

В то время, когда реляционные базы данных и СУБД только начинали развиваться, практически каждая СУБД предлагала свой язык для работы с базами данных, но со временем был стандартизирован один язык для работы с БД — структурированный язык запросов (Structured Query Language, SQL), который был принят как международный стандарт (ANSI SQL-92).

Хотя многие программные продукты сейчас поддерживают SQL, программный код редко можно перенести с одной СУБД на другую без модификаций, так как разработчики расширяют язык новыми командами, типами данных или не полностью реализуют стандарт.

Язык SQL включает:

В качестве примера рассмотрим несколько SQL-выражений на диалекте СУБД MySQL:

CREATE TABLE STUDENT (

id INT NOT NULL AUTO_INCREMENT,

first_name VARCHAR(25) NULL,

last_name VARCHAR(45) NULL,

faculty_id INT NULL,

PRIMARY KEY (id)

)

INSERT INTO STUDENT (first_name, last_name) VALUES ('Иван', 'Иванов')

SELECT id, first_name, last_name

FROM STUDENT

WHERE last_name='Иванов'

SELECT s.id, s.last_name, s.first_name, f.name

FROM STUDENT s LEFT JOIN FACULTY f ON s.faculty_id = f.id

UPDATE STUDENT SET first_name='Петр' WHERE id=1

DELETE FROM STUDENT WHERE id=1

DROP TABLE STUDENT