====== Работа с базами данных ====== \\ * **CREATE DATABASE** - создание базы данных. ^ Ключевые слова ^ Значение ^ | **CHARACTER SET** | Указывает кодировку по умолчанию, в которой будут храниться данные | | **COLLATE** | Указывает способ сравнения данных | **Примеры.** \\ //Создание базы "db_name" с кодировкой utf8 и методом сравнения данных utf8_general_ci :// CREATE DATABASE db_name CHARACTER SET utf8 COLLATE utf8_general_ci; ---- \\ * **DROP DATABASE** - удаление базы данных. ^ Ключевые слова ^ Значение ^ | **IF EXISTS** | Проверяет, создана ли база данных | **Примеры.** \\ //Удаление базы "db_name", если она существует:// DROP DATABASE IF EXISTS db_name; ---- \\ * **SHOW DATABASES** - получить список всех баз данных. \\ **Пример:** SHOW DATABASES; ---- \\ * **USE** - выбор базы данных. \\ **Примеры.** \\ //Выбор базы "db_name":// USE db_name; ---- \\ ====== Работа с таблицами ====== \\ * **SHOW TABLES** - список всех таблиц в выбранной базе данных.\\ **Пример:** \\ SHOW TABLES; ---- \\ * **CREATE TABLE** - создание таблицы. \\ ^ Ключевые слова ^ Значение ^ | **PRIMARY KEY** | Указывает первичный ключ | | **ENGINE** | Определяет тип таблицы | | **CHARACTER SET** | Определяет кодировку по умолчанию для таблицы | **Примеры.** \\ //Создание таблицы "Customers":// CREATE TABLE Customers (id SERIAL, name VARCHAR(100), phone VARCHAR(20), address VARCHAR(150), rating INT, PRIMARY KEY (id)) ENGINE InnoDB CHARACTER SET utf8; ---- \\ * **DROP TABLE** - .удаление таблицы. \\ ^ Ключевые слова ^ Значение ^ | **IF EXISTS** | Проверяет, создана ли база данных | **Примеры.** \\ //Удаление таблицы "Customers"// DROP TABLE Customers; //Удаление таблиц Persons, Artifacts, test, если они существуют:// DROP TABLE IF EXISTS Persons, Artifacts, test; ---- \\ **ALTER TABLE** - //обеспечивает возможность изменять структуру существующей таблицы.// * **Добавить столбец в таблицу:** ALTER TABLE Products ADD store VARCHAR(100) AFTER details; Можно определить место нового столбца среди уже существующих: добавляемый столбец может стать первым ( **FIRST** ) или следовать после указанного предшествующего столбца ( **AFTER** ). Если место столбца не задано, он становится послед- ним столбцом таблицы. * **Удалить столбец из таблицы:** ALTER TABLE table_name DROP COLUMN column_name * **Переименовать столбец** из store в warehouse с типом CHAR(100): ALTER TABLE Products CHANGE store warehouse CHAR(100); * **Изменения типа данных столбца:** ALTER TABLE table_name ALTER COLUMN column_name datatype ---- ====== Работа с данными. ====== **SELECT** - //выборка данных из таблиц.// \\ Операторы SELECT должны содержать слова SELECT и FROM; другие ключевые слова, такие как WHERE или ORDER BY, являются необязательными. ^ Ключевые слова ^ Значение ^ Присутствие ^ | **FROM** | //Указывает имена таблиц, по которым выполняется выборка// | //Обязательно// | | **WHERE** | //Фильтрует результаты, возвращаемые оператором SELECT// | //Необязательно// | | **ORDER BY** | //Сортирует результаты, возвращаемые оператором SELECT// | //Необязательно// | **Примеры:** \\ выбрать из таблицы Persons все данные, для которых поле first_name имеет значение 'Александр': SELECT * FROM Persons WHERE first_name='Александр'; Выбрать название и описание (title, description) артефакта под номером 10: SELECT title,description FROM Artifacts WHERE id=10; ---- ====== Специальные операторы сравнения ====== ^ Оператор ^ Значение ^ | **ALL** | //применяется совместно с операторами сравнения при сравнении со списком значений;// | |**ANY** | //применяется совместно с операторами сравнения при сравнении со списком значений;// | |**BETWEEN** | //применяется при проверке нахождения значения внутри заданного интервала (включая его границы);// | |**IN** | //применяется для проверки наличия значения в списке;// | |**LIKE** | //применяется при проверке соответствия значения заданной маске.// | ====== Операторы сравнения. ====== ^ Оператор ^ Описание ^ | ** < ** | //Меньше// | | ** %%<=%% ** | //Меньше или равно// | | ** <> ** | //Не равно// | | ** = ** | //Равно// | | ** > ** | //Больше// | | ** >= ** | //Больше или равно// |