====== Работа с базами данных ======
\\
* **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** | //применяется при проверке соответствия значения заданной маске.// |
====== Операторы сравнения. ======
^ Оператор ^ Описание ^
| ** < ** | //Меньше// |
| ** %%<=%% ** | //Меньше или равно// |
| ** <> ** | //Не равно// |
| ** = ** | //Равно// |
| ** > ** | //Больше// |
| ** >= ** | //Больше или равно// |