Очень простой SQL

Для работы с реляционными базами данных придуман специальный структурированный язык запросов — Structured Query Language (сокращенно SQL). Иногда в шутку его называют Simple Query Language — «простой язык запросов»: SQL — это одна из самых сложных технологий, с которыми программистам приходится постоянно работать.
Любое взаимодействие с базой данных происходит посредством запросов на языке SQL. Запрос — это команда: «база данных, сделай то-то и то-то».
Например:
В течении этого урока мы очень поверхностно затронем практические возможности баз данных, потому что документация по каждой из популярных баз занимает тысячи страниц.
Запрос — это текст, команда, которая отправляется к базе данных.
Пример запроса:
Скопировать кодSQL
SELECT * FROM author;
Пример ответа:
Скопировать кодSQL
id name birth_year ----- -------------------- ------------ 1 Человек без селезенки 1860 2 Владимир Набоков 1899 3 Лев Толстой 1828 4 Насон Грядущий 3019
Можно отправить запросы на чтение, изменение и добавление данных. Также существуют служебные запросы, например — запрос на создание новой таблицы.
Каждый запрос обязательно заканчивается точкой с запятой ;. Ключевые слова запросов пишут заглавными буквами. Можно писать и строчными, но обычно так не делают: читаемость кода ухудшается.

Создание таблицы

Синтаксис для создания таблицы выглядит так:
Скопировать кодSQL
CREATE TABLE <имя таблицы> ( <имя столбца1> <тип столбца> [дополнительные условия], <имя столбца2> <тип столбца> [дополнительные условия], );
Вот настоящий запрос на создание таблицы:
Скопировать кодSQL
-- СОЗДАТЬ ТАБЛИЦУ с названием author CREATE TABLE author( id INTEGER PRIMARY KEY, -- создать колонку с названием id, в ней будут ЦЕЛЫЕ ЧИСЛА, -- в этой колонке будут храниться УНИКАЛЬНЫЕ КЛЮЧИ записей name TEXT NOT NULL, -- создать колонку с названием name, в ней будет ТЕКСТ -- и НЕ МОЖЕТ БЫТЬ ПУСТОЙ birth_year INTEGER -- создать колонку с названием birth_year, в ней будут ЦЕЛЫЕ ЧИСЛА );
Эта команда создаёт новую таблицу author со столбцами id, name и birth_year. У id и birth_year тип допустимых значений — integer, целое число.
Для столбца id указано условие: это primary key, первичный ключ. Это значит, что каждой записи в таблице будет присвоен уникальный номер, по которому потом можно будет её найти.
Уникальный номер налогоплательщика, номер паспорта, заводской VIN-код автомобиля, государственный номер автомобиля — всё это уникальные, не повторяющиеся идентификаторы. Такой же уникальный идентификатор есть и у каждой записи в БД.
Особые правила для числовых первичных ключей:
Для хранения цитат писателей создадим новую таблицу quote с полями id (уникальный идентификатор записи), author_id (связь с таблицей авторов) и citation (текст цитаты). Выберите, какой код будет правильно работать.