SQL – это стандартный язык для доступа к базам данных и манипулирования ими.
- Что такое SQL?
- База данных
- Элементы MySQL
- Литералы
- Типы данных
- Данные и время
- Строка/Текст
- Значения NULL
- Комментарии
- Простые вычисления в MySQL
- Сложение
- Вычитание
- Умножение
- Деление
- Доступ к базе данных
- Команда Show
- Использовать команду
- Создание таблиц
- Команда Создать таблицу
- Команда Вставить
- Вставка значений NULL
- Вставка дат
- Команда Select
- Выбор всех данных
- Выбор определенных строк
- Выбор отдельных столбцов
- Ключевое слово DISTINCT
- Ключевое слово ALL
- Псевдонимы столбцов
- Условие на основе диапазона
- Условие на основе списка
- Условие на основе совпадения шаблона
- Поиск NULL
- Ограничения SQL
- NOT NULL
- DEFAULT
- UNIQUE
- CHECK
- Первичный ключ
- Внешний ключ
- Просмотр структуры таблицы
- Команда Desc или Описать
- Изменение данных
- Команда Обновить
- Удаление данных или команда Delete
- Упорядочивание записей
- упорядочить по условию
- Упорядочивание данных по нескольким столбцам
- Результат группировки
- Пункт “Группировать по
- Имеющий пункт
- Изменение таблицы
- Добавить новый столбец
- Изменить старый столбец
- Изменить имя столбца
- Удаление таблицы или команда DROP
- Функции MySQL:
- Текстовые/Строковые функции
- Функция Char
- Функция Concat
- Нижний/Прописной
- Верхний/Прописной
- Substr
- Trim
- Instr
- Длина
- Числовые функции
- MOD
- Мощность
- Округлить
- Sqrt
- Truncate
- Функции даты/времени
- Функция Curdate
- Функция Date
- Функция месяца
- Функция дня
- Функция года
- Сейчас Функция
- Функция Sysdate
- Агрегатные функции
- Функция AVG
- Функция COUNT
- Функция MAX
- Функция MIN
- Функция SUM
- Соединения MySQL
- ВНУТРЕННЕЕ ОБЪЕДИНЕНИЕ
- ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ
- ПРАВОЕ ВНЕШНЕЕ ОБЪЕДИНЕНИЕ
- ПОЛНОЕ ОБЪЕДИНЕНИЕ
- САМОСТОЯТЕЛЬНОЕ ОБЪЕДИНЕНИЕ
- Примечание:
Что такое SQL?
- SQL расшифровывается как язык структурированных запросов
- SQL позволяет вам получать доступ к базам данных и манипулировать ими.
-
SQL стал стандартом Американского национального института стандартов (ANSI) в 1986 году, а Международной организации по стандартизации (ISO) – в 1987 году.
-
Каждая таблица разбита на более мелкие объекты, называемые полями. Поля в таблице Customers состоят из CustomerID, CustomerName, ContactName, Address, City, PostalCode и Country. Поле – это столбец в таблице, предназначенный для хранения конкретной информации о каждой записи в таблице.
-
Запись, также называемая строкой, – это каждая отдельная запись, существующая в таблице. Например, в приведенной выше таблице “Клиенты” имеется 91 запись. Запись – это горизонтальная сущность в таблице.
-
Столбец – это вертикальный элемент таблицы, который содержит всю информацию, связанную с определенным полем таблицы.
База данных
Определяется как набор взаимосвязанных данных, хранящихся вместе для обслуживания нескольких приложений.
Элементы MySQL
MySQL имеет определенные элементы, которые играют важную роль в запросах к базе данных.
Литералы
Литералы относятся к фиксированному значению данных
17 #It is a numeric literal
"abc" #It is a text literal
12.5 #It is a real literal
Типы данных
Типы данных – это средства для определения типа данных.
#Numeric
INT -- Integer data type
TINYINT
SMALLINT
MEDIUMINT
BIGINT
FLOAT(M,D) -- Floating point data type
DOUBLE(M,D) -- Double data type also stores decimal values
DECIMAL(M,D) -- Decimal data type
Данные и время
#Data and Time
DATE -- Date data type (YYYY-MM-DD)
DATETIME -- It's a date and time combination (YYYY-MM-DD HH:MM:SS)
TIME -- It stores time (HH:MM:SS)
Строка/Текст
#String/Text
CHAR(M) -- Character data type
VARCHAR(M) -- Variable character data type
BLOB or TEXT
Значения NULL
Если столбец не имеет значения, то говорят, что это NULL.
Комментарии
Комментарий – это текст, который не выполняется.
/* This is a multi-line
comment in MySQL */
# It is a single-line commend
-- It is also a single-line comment
Простые вычисления в MySQL
Вы можете выполнять простые вычисления в MySQL, просто используя команду Select, нет необходимости выбирать какую-либо конкретную базу данных для выполнения этих команд.
Сложение
Сложит два числа
Select 5+8;
Вычитание
Вычитание: вычитание второго числа из первого
Select 15-5;
Умножение
Выдает произведение заданных чисел
Select 5*5;
Деление
Выполняется деление числа.
Select 24/4;
- SQL не является языком, чувствительным к регистру
Доступ к базе данных
Эти команды позволяют проверить все базы данных и таблицы
Команда Show
Покажет все базы данных в системе.
Show databases;
Покажет все таблицы в выбранной базе данных.
show tables;
Использовать команду
Начнется использование указанной базы данных, т.е. теперь вы можете создавать таблицы в выбранной базе данных.
use database_name;
Создание таблиц
Эти команды позволяют создать таблицу в MySQL.
Команда Создать таблицу
Этот запрос используется для создания таблицы в выбранной базе данных.
Create table <table-name>
(<column_name> <data_type>,
<column_name> <data_type>,
<column_name> <data_type>);
Команда Вставить
Добавляет данные в выбранную таблицу
Insert into <table_name> [<column-list>]
Values (<value1>,<value2>...);
Вставка значений NULL
Этот запрос добавит значение NULL в col3 выбранной таблицы.
Inset into <table-name> (col1, col2,col3)
Values (val1,val2,NULL);
Вставка дат
Этот запрос добавит следующие данные в выбранный столбец таблицы
Insert into <table_name> (<col_name>)
Values ('2022-05-10');
Команда Select
Запрос select используется для получения данных из базы данных
Выбор всех данных
Будет получены все данные выбранной таблицы
Select * From <table_name>;
Выбор определенных строк
Будут получены все данные строки, которая удовлетворяет условию.
Select * from <table_name>
Where <condition_to_satisfy>;
Выбор отдельных столбцов
Будет получена информация о выбранных столбцах, которые удовлетворяют условию
Select column1, column2 from <table_name>
Where <condition_to_satisfy>;
Ключевое слово DISTINCT
Будет получены только отдельные данные, т.е. дублирующиеся строки данных будут исключены
Select DISTINCT <column_name> from <table_name>;
Ключевое слово ALL
Будет получена информация обо всех данных выбранного столбца
Select ALL <column_name> from <table_name>;
Псевдонимы столбцов
Используется для присвоения временного имени таблице или столбцу в таблице для целей конкретного запроса
Select <column1>,<column2> AS <new_name>
From <table_name>;
Условие на основе диапазона
Будет получены данные только из тех столбцов, значения которых находятся между значениями value1 и value2 (оба включительно)
Select <co11>, <col2>
From <table_name>
Where <value1> Between <value2>;
Условие на основе списка
Select * from <table_name>
Where <column_name> IN (<val1>,<val2>,<val3>);
"Select * from <table_name>
Where <column_name> NOT IN (<val1>,<val2>,<val3>);"
Условие на основе совпадения шаблона
Select <col1>,<col2>
From <table_name>
Where <column> LIKE 'Ha%';
Select <col1>,<col2>
From <table_name>
Where <column> LIKE 'Ha__y%';
Поиск NULL
Возвращает данные, содержащие в себе значение NULL
Select <column1>, <column2>
From <table_name> Where <Val> IS NULL;
Ограничения SQL
Ограничения SQL – это правила или проверки, применяемые к столбцам данных таблицы
NOT NULL
Создается таблица с ограничением NOT NULL для ее первого столбца
Create table <table_name>
( <col1> <data_type> NOT NULL,
<col2> <data_type>,
<col3> <data_type>);
DEFAULT
Ограничение DEFAULT предоставляет столбцу значение по умолчанию
Create table <table_name>
( <col1> <data_type> DEFAULT 50,
<col2> <data_type>,
<col3> <data_type>);
UNIQUE
Ограничение UNIQUE гарантирует, что все значения в столбце различны
Create table <table_name>
( <col1> <data_type> UNIQUE,
<col2> <data_type>,
<col3> <data_type>);
CHECK
Ограничение CHECK гарантирует, что все значения в столбце удовлетворяют определенным условиям
Create table <table_name>
( <col1> <data_type> CHECK (condition),
<col2> <data_type>,
<col3> <data_type>);
Первичный ключ
Первичный ключ используется для уникальной идентификации каждой строки в таблице
Create table <table_name>
( <col1> <data_type> Primary Key,
<col2> <data_type>,
<col3> <data_type>);
Внешний ключ
CREATE TABLE Orders (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);
Просмотр структуры таблицы
Команда Desc или Описать
Позволяет просмотреть структуру таблицы
Desc <table_name>;
Изменение данных
Команда Обновить
Обновляет значения выбранных столбцов
Update <table_name>
SET <col1> = <new_value>, <col2> = <new_value>
Where <condition>;
Удаление данных или команда Delete
Удалит всю строку, которая удовлетворяет условию
Delete From <table_name>
Where <condition>;
Упорядочивание записей
Пункт order by используется для сортировки данных в порядке возрастания или убывания по указанному столбцу
упорядочить по условию
Возвращает записи в порядке возрастания данных указанного столбца
Select * from <table_name> order by <column_name>;
Возвращает записи в порядке убывания данных указанного столбца
Select * from <table_name> order by <column_name> DESC;
Упорядочивание данных по нескольким столбцам
Возвращает записи в порядке возрастания по столбцу1 и в порядке убывания по столбцу2
Select * From <table_name> order by <column1> ASC, <column2> DESC;
Результат группировки
Используется для объединения одинаковых данных в группы, чтобы над ними могли работать агрегатные функции
Пункт “Группировать по
Позволяет сгруппировать два или более столбцов, а затем выполнить над ними агрегатную функцию
Select <column>, Count(*) from <table_name> group by <column>;
Имеющий пункт
Оговорка Having используется для наложения условий на группы
Select avg(<column>), sum(<column>) from <table_name> group by <column_name> having <condition_to_satisfy>;
Изменение таблицы
Эти команды позволяют изменить структуру таблицы
Добавить новый столбец
Добавляет новый столбец в таблицу
Alter Table <table_name>
Add <new_column>;
Изменить старый столбец
Обновление типа данных или размера старого столбца
Alter Table <table_name>
Modify <old_column_name> [<new_data_type><size>];
Изменить имя столбца
Изменит название старого столбца в таблице
Alter Table Change <old_column_name> <new_column_name><data_type>;
Удаление таблицы или команда DROP
Это приведет к удалению всей таблицы из базы данных
Drop table <table_name>;
Функции MySQL:
В MySQL существует множество функций, которые выполняют некоторую задачу или операцию и возвращают одно значение
Текстовые/Строковые функции
Текстовые функции работают со строками
Функция Char
Возвращает символ для каждого переданного целого числа
Select Char(72,97,114,114,121);
Функция Concat
Конкатенирует две строки
Select Concat("My","Database");
Нижний/Прописной
Преобразует строку в строчный регистр
Select Lower("My Database");
Верхний/Прописной
Преобразование строки в верхний регистр
Select Upper("mydatabase");
Substr
Извлекает подстроку из заданной строки
Select Substr(string,m,n);
Trim
Удаляет ведущие и последующие пробелы из заданной строки
Select Trim(leading ' ' FROM ' My Data');
Instr
Выполняет поиск заданной второй строки в заданной первой строке
Select Instr(String1,String2);
Длина
Возвращает длину заданной строки в байтах
Select Length(String)
Числовые функции
Числовая функция работает с числовыми данными и возвращает один выходной результат
MOD
Возвращает модуль двух чисел
Select MOD(11,4);
Мощность
Возвращает число m, возведенное в n-ю степень
Select Power(m,n);
Округлить
Возвращает округленное число
Select Round(15.193,1);
Sqrt
Возвращает квадратный корень из заданного числа
Select Sqrt(69);
Truncate
Возвращает число с усеченными цифрами.
Select Truncate(15.75,1);
Функции даты/времени
Они используются для получения текущей даты и времени и позволяют выполнять несколько операций над ними
Функция Curdate
Возвращает текущую дату
Select Curdate();
Функция Date
Извлекает часть выражения, содержащую дату
Select Date('2021-12-10 12:00:00');
Функция месяца
Возвращает месяц из переданной даты
Select Month(date);
Функция дня
Возвращает дневную часть даты
Select Day(date);
Функция года
Возвращает годовую часть даты
Select Year(date);
Сейчас Функция
Возвращает текущую дату и время
Select now();
Функция Sysdate
Возвращает время, в которое выполняется функция
Select sysdate();
Агрегатные функции
Агрегатные функции или функции нескольких строк работают с несколькими данными и возвращают один результат
Функция AVG
Вычисляет среднее значение заданных данных
Select AVG(<column_name>) "Alias Name" from <table_name>;
Функция COUNT
Подсчитывает количество строк в заданном столбце
Select Count(<column_name>) "Alias Name" from <table_name>;
Функция MAX
Возвращает максимальное значение из заданного столбца
Select Max(<column_name>) "Alias Name" from <table_name>;
Функция MIN
Возвращает минимальное значение из заданного столбца
Select Min(<column_name>) "Alias Name" from <table_name>;
Функция SUM
Возвращает сумму значений в заданном столбце
Select Sum(<column_name>) "Alias Name" from <table_name>;
Соединения MySQL
Предложение Join используется для объединения или слияния строк из двух или более таблиц на основе связанного атрибута
ВНУТРЕННЕЕ ОБЪЕДИНЕНИЕ
Возвращает все строки из нескольких таблиц, для которых выполняется условие объединения. Это наиболее распространенный тип объединения.
SELECT columns FROM table1 INNER JOIN table2 ON table1.column = table2.column;
ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ
Возвращает все строки из левой таблицы, указанной в условии ON, и только те строки из другой таблицы, для которых выполняется условие присоединения.
SELECT columns FROM table1 LEFT [OUTER] JOIN table2 ON table1.column = table2.column;
ПРАВОЕ ВНЕШНЕЕ ОБЪЕДИНЕНИЕ
Возвращает все строки из таблицы RIGHT, указанной в условии ON, и только те строки из другой таблицы, для которых выполняется условие объединения.
SELECT columns FROM table1 RIGHT [OUTER] JOIN table2 ON table1.column = table2.column;
ПОЛНОЕ ОБЪЕДИНЕНИЕ
Объединяет результаты как левого, так и правого внешних объединений
SELECT column_name FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name WHERE condition;
САМОСТОЯТЕЛЬНОЕ ОБЪЕДИНЕНИЕ
В этом соединении таблица соединяется сама с собой
SELECT column_name FROM table1 T1, table1 T2 WHERE condition;
Примечание:
В Windows
Если вы хотите скачать эту шпаргалку, просто нажмите кнопку contol & p (crtl+p) и в пункте назначения выберите сохранить как pdf