Основные операции SQL
Ни один крупных сайт не обходится без базы данных. Вывод статей, заголовков, ключевых слов — всё это осуществляется из базы данных. В этой статье мы рассмотрим основные операции SQL.
От разработчика требуются навыки составлять правильные запросы к базе (или базам), так как от его умения зависит быстродействие данных операций.
Основные операции SQL:
- SELECT (выборка) — берёт данные из соответствующей таблицы (таблиц) базы данных.
Выбор всех полей из таблицы (* не рекомендуется к использованию, влияет на общее время выполнения запроса):
Выбор определённых полей из таблицы:
Операторы
Можно изменить порядок полей в выборке и тогда результат также будет в другой последовательности:
Оператор DISTINCT убирает повторяющиеся значения в выборке:
Оператор WHERE добавляет ограничение на выборку:
Операторы сравнения:
Правило. Порядок при сравнении: цифры, латинские буквы в верхнем регистре, латинские буквы в нижнем регистре, кириллические символы! (использование не рекомендуется)
- Оператор =
- Оператор >
- Оператор >=
- Оператор <> или != (неравенство)
Все перечисленные операции могут быть объединены: AND, OR, NOT (изменение результата с true на false и наоборот)
Арифметические операции:
В языке sql могут быть использованы (), +, -, *, /.
Специальные операторы
Оператор IN — перечисление значений:
Оператор BETWEEN — диапазон значений:
Оператор IS NULL — выбор поля без значения:
NULL — это поле без значения (пустое поле).
Оператор LIKE — поиск по таблицам, используется для коротких полей (например VARCHAR):
Полнотекстовый поиск — необходимо поставить текстовый индекс для данного поля (полей) таблицы по которым будет производиться поиск.
Агрегатные функции
- COUNT() — количество значений или количество строк
- SUMM() — суммирует значения полей
- AVG() — среднее значение
- MIN() — минимальный элемент
- MAX() — максимальный элемент
- GROUP BY — используется для объединения результатов выборки по одному или нескольким столбцам.
- HAVING() — сортировка групп
Сортировки
Возможна сортировка не только по числовым данным, но и для текстовых полей (сначала цифры, потом латинские буквы, потом кириллические буквы)
- ORDER BY ASC — сортировка по возрастанию.
ASC можно не писать, подставляется по умолчанию.
Пример сортировки сразу по нескольким полям:
Ограничение выборки LIMIT
Псевдонимы MySQL
Это именование некоторого выражения каким-то своим именем и оперирование уже с этим именем. Псевдонимы используются исключительно для удобства.
Для сокращения имён таблиц используется следующая запись:
Источник
Русские Блоги
MYSQL (концепция базы данных, основные операции с таблицами)
Во-первых, концепция базы данных
База данных (База данных: БД): База данных — это хранилище, которое организует, хранит и управляет данными в соответствии со структурой данных —> база данных на самом деле является файлом в системе управления диском +
Система управления базами данных (СУБД) — это компьютерная система, предназначенная для управления базами данных.
Программное обеспечение . Система управления базой данных может обеспечить базу данных операционными функциями, такими как определение данных, создание, обслуживание, запросы и статистика. И закончить
Функции для контроля целостности и безопасности данных
Во-вторых, SQL: язык структурированных запросов (язык структурированных запросов)
Стандартный язык реляционных баз данных, особенности: простой, гибкий и мощный
SQL состоит из 6 частей (знак * означает обычно используемый):
1. Язык запросов данных (запрос DQL) *
Это предложение также называется «язык поиска данных», используется для получения данных из таблицы, определения способа вывода данных в приложении, ключевое слово SELECT (запрос) — DQL (также все SQL ) Наиболее часто используемые глаголы, другие часто используемые ключевые слова в DQL: WHERE (используется для ограничения абзаца), ORDER BY (сортировка),
GROUP BY (группировка) и HAVING (сортировка после группировки). Эти ключевые слова DQL часто используются с другими типами операторов SQL.
2. Язык манипулирования данными (манипулирование DML) *
Предложение включает глаголы INSERT, UPDATE и DELETE, которые используются для добавления, изменения и удаления строк в таблице.
Также известен как язык запросов действий (В чем разница между запросом SELECT и запросом INSERT?)
3. Язык обработки транзакций (TCL)
Его оператор может гарантировать, что все строки таблицы, затронутые оператором DML, обновляются вовремя. Оператор TPL включает в себя BEGIN TRANSACTION,
COMMIT (фиксация транзакции) и ROLLBACK (откат транзакции)
4. Язык управления данными (DCL)
Его заявлениям предоставляется разрешение через GRANT и REVOKE определять доступ отдельных пользователей и групп пользователей к объектам базы данных, некоторым СУБД
Вы можете использовать GRANT и REVOKE для управления доступом к одному столбцу таблицы.
5. Язык определения данных (определение DDL) *
Его операторы включают глаголы CREATE (создать) и DROP (удалить), создавать новые таблицы и удалять таблицы в базе данных, добавлять индексы в таблицу и т. д.
DDL включает в себя множество ключевых слов, связанных с получением данных в каталоге базы данных пользователей, также является частью запроса действия
6. Язык управления указателями (CCL)
Его операторы, такие как DECLARE CURSOR, FETCH INTO и UPDATE WHERE CURRENT, используются для
Операции с несколькими таблицами или отдельные операции
Три правила написания SQL:
1. В базе данных операторы SQL не чувствительны к регистру
2. Операторы SQL могут быть записаны в одну или несколько строк
3. В операторе SQL ключевые слова не могут состоять из нескольких строк или сокращений.
4. Для улучшения читаемости ключевые слова обычно пишутся с большой буквы, другие строчные
5. Пробелы и отступы делают программу легко читаемой
6. SQL не требует точки с запятой, но для программистов полезно добавлять точку с запятой после оператора
4. Что такое часы?
Мы говорим, что MySQL — это реляционная база данных. Наиболее важной концепцией реляционной базы данных является таблица. Таблица имеет фиксированное количество столбцов и произвольное количество строк. Математически называется «отношение». Двумерная таблица — это множество атрибутов похожих объектов. Коллекция, каждая сущность соответствует строке в таблице, называемой кортежем в отношении, которая эквивалентна обычной записи, а атрибут столбца в таблице, называемый полем, эквивалентен элементу данных в обычной записи, также называемой Колонны, поля.
Объектно-ориентированные классы, аналогичные концепции таблиц в реляционных базах данных
Идея ORM: объектно-реляционное отображение
категория | таблица |
---|---|
собственности | ряд |
объекты | Одна строка данных |
Пять, работа с базой данных и механизм хранения
Объекты базы данных: различные структурные формы для хранения, управления и использования данных, такие как: таблицы, представления, хранимые процедуры, функции,
Триггеры, события и т. д. База данных: контейнер для хранения объектов базы данных
Существует два вида баз данных: система поставляется с базой данных, определенной пользователем.
Общие команды базы данных:
показать базы данных; ?? ?? ?? ?? ?? ?? ?? ??
use dName; использование имени; использование базы данных
показывать таблицы; � � � � � � � � � � ��
создать базу данных dName создать базу данных
удалить базу данных базы данных dName удалить базу данных
6. Распространенные типы данных Mysql
MySQL расширяет стандарт SQL в форме необязательного индикатора ширины экрана, так что когда база данных получает значение, вы можете увеличить значение до указанной длины. Обратите внимание, что использование индикатора ширины не влияет на размер поля и его Диапазон значений, которые могут быть сохранены, как правило, не нужно указывать ширину в битах
INT | int/Integer |
BIGINT | long/Long |
int (2), при поиске длина будет увеличена до 2, не представляет максимальный объем памяти 99, при запросе используются только два заполнителя 0
FLOAT | float/Float |
DOUBLE | double/Double |
money (5,2): всего 5 цифр для целых и десятичных знаков, включая два знака после запятой, максимум 999,99 и минимум -999,99
CHAR | Тип символа фиксированной длины, 0-255 байт | String/StringBuid |
VARCHAR | Символ переменной длины | StringBuffer |
TEXT | Простой текст |
Фиксированная длина и переменная длина: проблема занятости количества байтов CHAR (5), VARCHAR (5), сохранение «1», пять байтов CHAR, байт VARCHAR1
DATE | 0000:00:00 | Date/Calender |
TIME | 00:00:00 | |
DATETIME | 0000:00:00 00:00:00 | |
TIMESTAMP | Отметка времени (1970-01-01 00:00:00 разница) |
Бинарный тип (редко используется)
BINARY \ VARBINARY \ TINYBLOB \ BLOB \ MEDIUMBLOB \ LONGBLOB Хранит графику, звук, влияние, двоичные объекты *: обычно сохраняют путь хранения двоичных файлов в данных
BIT | boolean |
Семь, операция за столом
Создать таблицу
имя таблицы CREATE TABLE (
colName1 type1 [ограничение]
colName2 type2,
colName3 type3
);
ex: Создать форму информации о студенте
create table t_student(
id int;
name varchar(20);
age int;
);
Чтобы избежать использования ключевых слов, мы также можем обвести имя с помощью «
create table `t_student`(
`id` int;
`name` varchar(20);
`age` int;
);
Просмотр структуры таблицы
desc tName;
Просмотр подробного определения таблицы (просмотр оператора SQL определения таблицы)
show create table tName;
удалить таблицу
drop table tName;
Табличные ограничения (для столбца)
1. Ненулевое ограничение: NOT NULL, содержимое поля не может быть пустым
2. Установите значение по умолчанию для столбца: DEFAULT
3. Уникальное ограничение: UNIQUE, в этой таблице содержимое этого столбца должно быть уникальным
4. Ограничение первичного ключа: первичный ключ, непустой и уникальный
Конструкция первичного ключа однозначно идентифицирует строку данных
5. Саморазвитие первичного ключа: AUTO_INCREMENT, начиная с 1, с размером шага 1
6. Ограничение внешнего ключа: FOREIGNKEY, столбец внешнего ключа в таблице A, значение столбца внешнего ключа в таблице A должно ссылаться на столбец в таблице B (первичный ключ в таблице B)
* Примечание. Структура первичного ключа
1. Первичный ключ для одного поля: один столбец в качестве первичного ключа, рекомендуется использовать
Составной первичный ключ: использовать несколько столбцов в качестве первичного ключа, не рекомендуется
2. Типы первичных ключей:
1). Естественный первичный ключ: используйте столбцы с бизнес-значением в качестве первичного ключа (не рекомендуется), например, идентификационный номер
2). Первичный ключ прокси: в качестве первичного ключа используйте столбцы без значения для бизнеса.
CREATE TABLE `t_student`(
`id` INT ПЕРВИЧНЫЙ КЛЮЧ; • Основной ключ не пустой и уникальный.
`name` VARCHAR (20) UNIQUE NOT NULL; // непустое и уникальное значение
AGE DEINTULT 100; AGE DEINTULT 100;
);
8. Резюме MYSQL
1. Установка и настройка MySQL (механизм хранения, кодировка символов, пароль)
2. Общие команды
1) Проверьте, какие базы данных доступны
2) Использовать определенную базу данных
3) Проверьте, какие таблицы находятся в базе данных
4) Создать и удалить базу данных
5) Создание и удаление таблиц
create table tName(
colName1 type1 [ограничение],
colName2 type2 [ограничение],
——————— Эта статья взята из блога BigDodo в CSDN. Для получения полного текстового адреса, пожалуйста, нажмите: https://blog.csdn.net/qq_38741971/article/details/80575835 ? utm_source = copy
Интеллектуальная рекомендация
Возникли проблемы с Maven
основное содержание 1. Описание проблемы 2. Решение 2.1 Удалить _remote.repositories 2.2 Единый источник загрузки 1. Описание проблемы Поскольку рабочая среда не подключена к внешней сети, каждый раз.
Решите проблему, что запросы установлены, но не могут быть импортированы
У меня есть запросы на установку pip, но я не могу импортировать запросы позже в pycharm, Было исключено, что это не проблема конфигурации переменной среды. Запросы на импорт в консоли Python, Traceba.
Сводка ExceptionMappingInterceptor
This interceptor forms the core functionality of the exception handling feature. Exception handling allows you to map an exception to a result code, just as if the action returned a result code instea.
codeforces E. Orac and Game of Life
тема Значение: Для каждого сиденья, если есть одна из этой решетки с тем же цветом, то после переворачивания, то окружающий цвет может перевернуть, дать вам t t tЗапрос, у каждого есть i , j , p i,j,p.
hdu5414 (поисковый набор объединений + минимальное остовное дерево)
ack likes to travel around the world, but he doesn’t like to wait. Now, he is traveling in the Undirected Kingdom. There are nn cities and mm bidirectional roads connecting t.
Вам также может понравиться
sqlmap
оглавление Sqlmap Простое использование Sqlmap Определить, существует ли указанный URL в WAF, и обойти Определить, есть ли уязвимость SQL-инъекций в указанном URL Просмотр всех пользователей базы данн.
Конфигурация IP ядра Xilinx, пошаговая проверка Xilinx Serdes GTX до 8,0 Гбит / с
Конфигурация IP ядра Xilinx, пошаговая проверка Xilinx Serdes GTX до 8,0 Гбит / с Раньше я использовал serdes для запуска относительно низкоскоростных приложений, 3,125 Гбит / с. Согласно официальным .
spring-boot-data-jdbc
pom.xml application.properties department.sql HelloController.
Как получить случайные числа, которые не повторяются в определенном диапазоне
Краткое введение Генерация случайного числа часто требуется, и часто используется функция rand, как показано ниже. Этот метод прямого использования функции rand для получения случайного числа использу.
Источник
Русские Блоги
MYSQL (концепция базы данных, основные операции с таблицами)
Во-первых, концепция базы данных
База данных (База данных: БД): База данных — это хранилище, которое организует, хранит и управляет данными в соответствии со структурой данных —> база данных на самом деле является файлом в системе управления диском +
Система управления базами данных (СУБД) — это компьютерная система, предназначенная для управления базами данных.
Программное обеспечение . Система управления базой данных может обеспечить базу данных операционными функциями, такими как определение данных, создание, обслуживание, запросы и статистика. И закончить
Функции для контроля целостности и безопасности данных
Во-вторых, SQL: язык структурированных запросов (язык структурированных запросов)
Стандартный язык реляционных баз данных, особенности: простой, гибкий и мощный
SQL состоит из 6 частей (знак * означает обычно используемый):
1. Язык запросов данных (запрос DQL) *
Это предложение также называется «язык поиска данных», используется для получения данных из таблицы, определения способа вывода данных в приложении, ключевое слово SELECT (запрос) — DQL (также все SQL ) Наиболее часто используемые глаголы, другие часто используемые ключевые слова в DQL: WHERE (используется для ограничения абзаца), ORDER BY (сортировка),
GROUP BY (группировка) и HAVING (сортировка после группировки). Эти ключевые слова DQL часто используются с другими типами операторов SQL.
2. Язык манипулирования данными (манипулирование DML) *
Предложение включает глаголы INSERT, UPDATE и DELETE, которые используются для добавления, изменения и удаления строк в таблице.
Также известен как язык запросов действий (В чем разница между запросом SELECT и запросом INSERT?)
3. Язык обработки транзакций (TCL)
Его оператор может гарантировать, что все строки таблицы, затронутые оператором DML, обновляются вовремя. Оператор TPL включает в себя BEGIN TRANSACTION,
COMMIT (фиксация транзакции) и ROLLBACK (откат транзакции)
4. Язык управления данными (DCL)
Его заявлениям предоставляется разрешение через GRANT и REVOKE определять доступ отдельных пользователей и групп пользователей к объектам базы данных, некоторым СУБД
Вы можете использовать GRANT и REVOKE для управления доступом к одному столбцу таблицы.
5. Язык определения данных (определение DDL) *
Его операторы включают глаголы CREATE (создать) и DROP (удалить), создавать новые таблицы и удалять таблицы в базе данных, добавлять индексы в таблицу и т. д.
DDL включает в себя множество ключевых слов, связанных с получением данных в каталоге базы данных пользователей, также является частью запроса действия
6. Язык управления указателями (CCL)
Его операторы, такие как DECLARE CURSOR, FETCH INTO и UPDATE WHERE CURRENT, используются для
Операции с несколькими таблицами или отдельные операции
Три правила написания SQL:
1. В базе данных операторы SQL не чувствительны к регистру
2. Операторы SQL могут быть записаны в одну или несколько строк
3. В операторе SQL ключевые слова не могут состоять из нескольких строк или сокращений.
4. Для улучшения читаемости ключевые слова обычно пишутся с большой буквы, другие строчные
5. Пробелы и отступы делают программу легко читаемой
6. SQL не требует точки с запятой, но для программистов полезно добавлять точку с запятой после оператора
4. Что такое часы?
Мы говорим, что MySQL — это реляционная база данных. Наиболее важной концепцией реляционной базы данных является таблица. Таблица имеет фиксированное количество столбцов и произвольное количество строк. Математически называется «отношение». Двумерная таблица — это множество атрибутов похожих объектов. Коллекция, каждая сущность соответствует строке в таблице, называемой кортежем в отношении, которая эквивалентна обычной записи, а атрибут столбца в таблице, называемый полем, эквивалентен элементу данных в обычной записи, также называемой Колонны, поля.
Объектно-ориентированные классы, аналогичные концепции таблиц в реляционных базах данных
Идея ORM: объектно-реляционное отображение
категория | таблица |
---|---|
собственности | ряд |
объекты | Одна строка данных |
Пять, работа с базой данных и механизм хранения
Объекты базы данных: различные структурные формы для хранения, управления и использования данных, такие как: таблицы, представления, хранимые процедуры, функции,
Триггеры, события и т. д. База данных: контейнер для хранения объектов базы данных
Существует два вида баз данных: система поставляется с базой данных, определенной пользователем.
Общие команды базы данных:
показать базы данных; ?? ?? ?? ?? ?? ?? ?? ??
use dName; использование имени; использование базы данных
показывать таблицы; � � � � � � � � � � ��
создать базу данных dName создать базу данных
удалить базу данных базы данных dName удалить базу данных
6. Распространенные типы данных Mysql
MySQL расширяет стандарт SQL в форме необязательного индикатора ширины экрана, так что когда база данных получает значение, вы можете увеличить значение до указанной длины. Обратите внимание, что использование индикатора ширины не влияет на размер поля и его Диапазон значений, которые могут быть сохранены, как правило, не нужно указывать ширину в битах
INT | int/Integer |
BIGINT | long/Long |
int (2), при поиске длина будет увеличена до 2, не представляет максимальный объем памяти 99, при запросе используются только два заполнителя 0
FLOAT | float/Float |
DOUBLE | double/Double |
money (5,2): всего 5 цифр для целых и десятичных знаков, включая два знака после запятой, максимум 999,99 и минимум -999,99
CHAR | Тип символа фиксированной длины, 0-255 байт | String/StringBuid |
VARCHAR | Символ переменной длины | StringBuffer |
TEXT | Простой текст |
Фиксированная длина и переменная длина: проблема занятости количества байтов CHAR (5), VARCHAR (5), сохранение «1», пять байтов CHAR, байт VARCHAR1
DATE | 0000:00:00 | Date/Calender |
TIME | 00:00:00 | |
DATETIME | 0000:00:00 00:00:00 | |
TIMESTAMP | Отметка времени (1970-01-01 00:00:00 разница) |
Бинарный тип (редко используется)
BINARY \ VARBINARY \ TINYBLOB \ BLOB \ MEDIUMBLOB \ LONGBLOB Хранит графику, звук, влияние, двоичные объекты *: обычно сохраняют путь хранения двоичных файлов в данных
BIT | boolean |
Семь, операция за столом
Создать таблицу
имя таблицы CREATE TABLE (
colName1 type1 [ограничение]
colName2 type2,
colName3 type3
);
ex: Создать форму информации о студенте
create table t_student(
id int;
name varchar(20);
age int;
);
Чтобы избежать использования ключевых слов, мы также можем обвести имя с помощью «
create table `t_student`(
`id` int;
`name` varchar(20);
`age` int;
);
Просмотр структуры таблицы
desc tName;
Просмотр подробного определения таблицы (просмотр оператора SQL определения таблицы)
show create table tName;
удалить таблицу
drop table tName;
Табличные ограничения (для столбца)
1. Ненулевое ограничение: NOT NULL, содержимое поля не может быть пустым
2. Установите значение по умолчанию для столбца: DEFAULT
3. Уникальное ограничение: UNIQUE, в этой таблице содержимое этого столбца должно быть уникальным
4. Ограничение первичного ключа: первичный ключ, непустой и уникальный
Конструкция первичного ключа однозначно идентифицирует строку данных
5. Саморазвитие первичного ключа: AUTO_INCREMENT, начиная с 1, с размером шага 1
6. Ограничение внешнего ключа: FOREIGNKEY, столбец внешнего ключа в таблице A, значение столбца внешнего ключа в таблице A должно ссылаться на столбец в таблице B (первичный ключ в таблице B)
* Примечание. Структура первичного ключа
1. Первичный ключ для одного поля: один столбец в качестве первичного ключа, рекомендуется использовать
Составной первичный ключ: использовать несколько столбцов в качестве первичного ключа, не рекомендуется
2. Типы первичных ключей:
1). Естественный первичный ключ: используйте столбцы с бизнес-значением в качестве первичного ключа (не рекомендуется), например, идентификационный номер
2). Первичный ключ прокси: в качестве первичного ключа используйте столбцы без значения для бизнеса.
CREATE TABLE `t_student`(
`id` INT ПЕРВИЧНЫЙ КЛЮЧ; • Основной ключ не пустой и уникальный.
`name` VARCHAR (20) UNIQUE NOT NULL; // непустое и уникальное значение
AGE DEINTULT 100; AGE DEINTULT 100;
);
8. Резюме MYSQL
1. Установка и настройка MySQL (механизм хранения, кодировка символов, пароль)
2. Общие команды
1) Проверьте, какие базы данных доступны
2) Использовать определенную базу данных
3) Проверьте, какие таблицы находятся в базе данных
4) Создать и удалить базу данных
5) Создание и удаление таблиц
create table tName(
colName1 type1 [ограничение],
colName2 type2 [ограничение],
——————— Эта статья взята из блога BigDodo в CSDN. Для получения полного текстового адреса, пожалуйста, нажмите: https://blog.csdn.net/qq_38741971/article/details/80575835 ? utm_source = copy
Интеллектуальная рекомендация
Возникли проблемы с Maven
основное содержание 1. Описание проблемы 2. Решение 2.1 Удалить _remote.repositories 2.2 Единый источник загрузки 1. Описание проблемы Поскольку рабочая среда не подключена к внешней сети, каждый раз.
Решите проблему, что запросы установлены, но не могут быть импортированы
У меня есть запросы на установку pip, но я не могу импортировать запросы позже в pycharm, Было исключено, что это не проблема конфигурации переменной среды. Запросы на импорт в консоли Python, Traceba.
Сводка ExceptionMappingInterceptor
This interceptor forms the core functionality of the exception handling feature. Exception handling allows you to map an exception to a result code, just as if the action returned a result code instea.
codeforces E. Orac and Game of Life
тема Значение: Для каждого сиденья, если есть одна из этой решетки с тем же цветом, то после переворачивания, то окружающий цвет может перевернуть, дать вам t t tЗапрос, у каждого есть i , j , p i,j,p.
hdu5414 (поисковый набор объединений + минимальное остовное дерево)
ack likes to travel around the world, but he doesn’t like to wait. Now, he is traveling in the Undirected Kingdom. There are nn cities and mm bidirectional roads connecting t.
Вам также может понравиться
sqlmap
оглавление Sqlmap Простое использование Sqlmap Определить, существует ли указанный URL в WAF, и обойти Определить, есть ли уязвимость SQL-инъекций в указанном URL Просмотр всех пользователей базы данн.
Конфигурация IP ядра Xilinx, пошаговая проверка Xilinx Serdes GTX до 8,0 Гбит / с
Конфигурация IP ядра Xilinx, пошаговая проверка Xilinx Serdes GTX до 8,0 Гбит / с Раньше я использовал serdes для запуска относительно низкоскоростных приложений, 3,125 Гбит / с. Согласно официальным .
spring-boot-data-jdbc
pom.xml application.properties department.sql HelloController.
Как получить случайные числа, которые не повторяются в определенном диапазоне
Краткое введение Генерация случайного числа часто требуется, и часто используется функция rand, как показано ниже. Этот метод прямого использования функции rand для получения случайного числа использу.
Источник
Команды MySQL
Консоль MySQL позволяет вводить как инструкции SQL, так и служебные команды MySQL, предназначеные для администрирования и использования таблиц в базах данных MySQL. К основным командам относятся SHOW, USE и CREATE.
Рассмотрим каждую из них отдельно.
Эта команда предназначена для просмотра доступных баз данных и таблиц в конкретных базах данных. Для просмотра списка баз данных необходимо ввести такую команду:
Если, например, существуют две базы данных — mysql и test (эти две базы как правило создаются автоматически при инсталляции сервера), то MySQL ответит примерно так:
Для просмотра списка таблиц используется эта же команда в таком виде:
Эта команда выдаст список таблиц в текущей базе данных:
Замечание: вы можете работать только с одной базой данных в одно и то же время, поэтому в приведенном выше примере нет нужды указывать название базы данных, список таблиц которой стоит вывести, поскольку производится поиск в активной на данный момент базе.
CREATE
Эта команда позволяет создавать новые базы данных. Как было сказано выше, по умолчанию сервер создает две базы данных — mysql и test. Для удобства стоит создавать новую базу данных для каждой отдельной задачи, потому что легче работать с набором таблиц, которые связаны между собой (даже если эта связь только смысловая). Создадим новую базу данных при помощи этой команды:
После этой операции будет создана новая база данных не содержащая никаких таблиц, а команда SHOW DATABASES выдаст следующее:
Как уже было сказано выше, в один и тот же момент только одна база данных может быть активна. Команда USE служит для выбора этой активной базы. Для перехода к некоторой базе данных необходимо выполнить следующую операцию:
Стоит отметить, что при создании новой базы данных (см. выше), новая база не становится активной автоматически — для ее использования необходимо сделать это самостоятельно.
Нижеследующее ознакомит вас с методами извлечения и занесения данных в таблицы при помощи языка SQL.
Наипростейшей командой является следующая:
Эта команда подразумевает, что в активной базе данных существует таблица mysql, из которой она просто извлекает все данные и выводит их на экран.
Замечание: На SQL-команды распространяется одно ограничение, которое не имеет отношения к командам MySQL — инструкции SQL обязательно должны заканчиваться точкой с запятой. Это позволяет вводит многострочные запросы к бызе данных, что не требуется для MySQL-команд, которые как правило лаконичные и короткие.
Как вы уже наверное поняли, команда SELECT служит для просмотра данных таблиц. Ее упрощенный синтаксис таков:
В списке поля может быть как один элемент, так и несколько; кроме того возможно указание символа «*» (), который говорит, что следует показать все поля таблицы.
Часть WHERE … является необязательной и позволяет выбрать из таблицы строки, удовлетворяющие определенному(ым) условию(ям). Раздел ORDER BY … служит для сортировки полученных данных по определенным полям.
Вот пример более сложного запроса, демонстрирующий сказанное выше. Допустим таблица staff содержит информацию о сотрудниках некоторой организации. Этот запрос находит записи о тех из них, кто работает больше двух лет и кого не зовут Иваном.
Рассмотрим этот запрос
Первая строка велит MySQL показать содержимое только полей name, project и works_since. Вторая строка указывает на таблицу, в которой следует искать эти данные. Оставшаяся часть запроса указывает критерии выбора — имя не должно быть ‘Иван’, а дата быть более ранней, чем 26-е апреля 1998-го года. Вот пример вывода после такой операции:
Для показа данных одного поля может использоваться такой запрос:
Как видите, этот запрос просто выбирает значения из нужного поля из каждой строки и выводит их, заодно сортируя по (единственному) полю project, поэтому в результатах встречаются повторения. Для устранения их используется инструкция DISTINCT:
SQL позволяет производить некоторые вычисления и получать некоторую описательную информацию при помощи агрегатных функций. Среди этих функций — COUNT, SUM, MAX, MIN и AVG:
COUNT — вычисляет количество найденых строк;
SUM — находит сумму значений в найденых строках;
MAX — находит найбольшее среди найденых значений;
MIN — находит наименьшее среди найденых значений;
AVG — находит среднее значение от найденых .
Используются эти функции как элементы списка таблиц в запросе с аргументом — названием поля. Вот несколько примеров.
Эти запросы находят количество выполняемых проектов, наибольшее количество проектов, выполняемое одним человеком и среднее количество проектов, в которых участвуют работники соответственно.
SQL также располагает средствами работы с регулярными выражениями (работе с которыми в Perl вы можете ознакомиться, прочтя соответствующую статью на нашем сайте).
Для сравнения значения с регулярным выражением используется оператор LIKE, а для конструирования простеших выражений — символы ‘_’ (произвольный символ) и ‘%’ (произвольное количество произвольных символов). Пример. Этот запрос находит все имена, которые начинаются с ‘Jo’:
MySQL также позволяет производить более развитое сравнение с шаблоном при помощи оператора REGEXP и средств построения шаблона теми же методами, что используются в Perl (см. Регулярные выражения в Perl).
Этот запрос выведет все строки, в которых название проекта содержит букву ‘b’ вне зависимости от регистра.
И последнее по порядку, но не по значению — использование более чем одной таблицы. Особенность заключается в том, что используемые таблицы могут иметь общие поля, которыми они связаны.
Для того, чтобы точно указывать, о поле какой таблицы идет речь, используется запись типа staff.project, где перед точкой стоит название таблицы, а после нее — название поля. Второй вариант — назначения псевдонимов (алиасов) таблицам для большего удобства. Для этого в списке таблиц название каждой таблицы указывается вместе с псевдонимом — например stuff x, projects y.
В этом примере объединяются таблицы staff и projects, причем выводятся имя сотрудника, проект над которым он работает и описание этого проекта.
Объединив все это в один запрос получим следующее:
Этот запрос показывает названия проектов, описания их и количество сотрудников, которые заняты в них для тех проектов, которые не являются секретными и описания которых начинаются с ‘Wo’, следом за которыми идут еще два символа, после чего — ‘d’ и дальше что угодно, и сортирует единственное значение по полю project_name.
Редактирование данных
Редактирование данных — это добавление, удаление и изменение их. Для выполнения этих операций используются команды INSERT, DELETE и UPDATE соответственно.
Команда INSERT служит для вставки строк в таблицы. Вот как может выглядеть такой запрос:
Возможна также вставка отдельных значений. В таком случае необходимо указать, в какие поля стоит вставлять данные, причем оставшиеся поля будут незаполнены — при выполнении запросов SELECT они будут представлены как NULL — специальное начение, означающее, что данное отсутствует.
Удаление данных производится командой DELETE. Для этого нужно указать таблицу и (необязательно) условия, которым должны удовлетворять строки, которые следует удалить. Если условия опущены, эта команда, как и SELECT, проделает эту операцию надо всеми строками — то есть очистит таблицу.
Изменение данных производится при помощи команды UPDATE. Необходимо указать, значения каких полей следует изменить, а также (опять же необязательно) условия, которым должны удовлетворять строки, которые следует обновить.
Этот запрос устанавливает дату принятия на работу, зарплату и название проекта всем Джекам, которые находятся в базе данных.
Это небольшая часть языка SQL, необходимая для работы с MySQL, в частности при программировании для Web. Для более полной информации обратитесь к официальным спецификациям SQL или к документации MySQL.
Примечание для тех, кто знаком со стандартом ANSI SQL 92: на данный момент MySQL поддерживает укороченную версию этого стандарта, в которую не входит выполнения подзапросов а также некоторые другие функции.
Источник
Основные команды SQL, которые должен знать каждый программист
Основные команды SQL, которые должен знать каждый программист
Основные команды SQL не ограничиваются стандартными CREATE , UPDATE и DELETE . Данная статья будет полезна тем, кто хочет освежить свои знания по SQL перед собеседованием на работу.
Обратите внимание, что в примерах используется MySQL, поэтому в конце каждого оператора ставится точка с запятой.
Примечание Вы читаете улучшенную версию некогда выпущенной нами статьи.
Настройка базы данных
Перед началом создайте БД с тестовыми данными. Для работы вам понадобится скачать два файла: DLL.sql и InsertStatements.sql. После установите MySQL, откройте терминал и войдите в консоль MySQL с помощью команды:
Затем введите пароль и выполните следующую команду. Назовём базу данных «university»:
SHOW DATABASES
SQL-команда, которая отвечает за просмотр доступных баз данных.
CREATE DATABASE
Команда для создания новой базы данных.
С помощью этой SQL-команды USE выбирается база данных, необходимая для дальнейшей работы с ней.
SOURCE
А SOURCE позволит выполнить сразу несколько SQL-команд, содержащихся в файле с расширением .sql.
DROP DATABASE
Стандартная SQL-команда для удаления целой базы данных.
SHOW TABLES
С помощью этой несложной команды можно увидеть все таблицы, которые доступны в базе данных.
CREATE TABLE
SQL-команда для создания новой таблицы:
Ограничения целостности при использовании CREATE TABLE
Может понадобиться создать ограничения для определённых столбцов в таблице. При создании таблицы можно задать следующие ограничения:
- ячейка таблицы не может иметь значение NULL ;
- первичный ключ — PRIMARY KEY(col_name1, col_name2, …) ;
- внешний ключ — FOREIGN KEY(col_namex1, …, col_namexn) REFERENCES table_name(col_namex1, …, col_namexn) .
Можно задать больше одного первичного ключа. В этом случае получится составной первичный ключ.
Пример
Создайте таблицу «instructor»:
DESCRIBE
С помощью DESCRIBE
INSERT
Команда INSERT INTO
При добавлении данных в каждый столбец таблицы не требуется указывать названия столбцов.
UPDATE
SQL-команда для обновления данных таблицы:
DELETE
SQL-команда DELETE FROM
DROP TABLE
А так можно удалить всю таблицу целиком.
SELECT
Далее мы рассмотрим основные команды SQL, которые позволяют работать непосредственно с данными. К одной из таких SQL-команд относится SELECT для получения данных из выбранной таблицы:
Следующей командой можно вывести все данные из таблицы:
SELECT DISTINCT
В столбцах таблицы могут содержаться повторяющиеся данные. Используйте SELECT DISTINCT для получения только неповторяющихся данных.
WHERE
Можно использовать ключевое слово WHERE в SELECT для указания условий в запросе:
В запросе можно задавать следующие условия:
- сравнение текста;
- сравнение численных значений;
- логические операции AND (и), OR (или) и NOT (отрицание).
Пример
Попробуйте выполнить следующие команды. Обратите внимание на условия, заданные в WHERE :
GROUP BY
Оператор GROUP BY часто используется с агрегатными функциями, такими как COUNT , MAX , MIN , SUM и AVG , для группировки выходных значений.
Пример
Выведем количество курсов для каждого факультета:
HAVING
Ключевое слово HAVING было добавлено в SQL по той причине, что WHERE не может использоваться для работы с агрегатными функциями.
Пример
Выведем список факультетов, у которых более одного курса:
ORDER BY
ORDER BY используется для сортировки результатов запроса по убыванию или возрастанию. ORDER BY отсортирует по возрастанию, если не будет указан способ сортировки ASC или DESC .
Пример
Выведем список курсов по возрастанию и убыванию количества кредитов:
BETWEEN
BETWEEN используется для выбора значений данных из определённого промежутка. Могут быть использованы числовые и текстовые значения, а также даты.
Пример
Выведем список инструкторов, чья зарплата больше 50 000, но меньше 100 000:
Оператор LIKE используется в WHERE , чтобы задать шаблон поиска похожего значения.
Есть два свободных оператора, которые используются в LIKE :
- % (ни одного, один или несколько символов);
- _ (один символ).
Пример
Выведем список курсов, в имени которых содержится «to» , и список курсов, название которых начинается с «CS-» :
С помощью IN можно указать несколько значений для оператора WHERE :
Пример
Выведем список студентов с направлений Comp. Sci., Physics и Elec. Eng.:
JOIN используется для связи двух или более таблиц с помощью общих атрибутов внутри них. На изображении ниже показаны различные способы объединения в SQL. Обратите внимание на разницу между левым внешним объединением и правым внешним объединением:
Пример
Выведем список всех обязательных курсов и детали о них:
VIEW — это виртуальная таблица SQL, созданная в результате выполнения выражения. Она содержит строки и столбцы и очень похожа на обычную SQL-таблицу. VIEW всегда показывает самую свежую информацию из базы данных.
Создание
Удаление
Агрегатные функции
Это не совсем основные команды SQL, однако знать их тоже желательно. Агрегатные функции используются для получения совокупного результата, относящегося к рассматриваемым данным:
- COUNT(col_name) — возвращает количество строк;
- SUM(col_name) — возвращает сумму значений в данном столбце;
- AVG(col_name) — возвращает среднее значение данного столбца;
- MIN(col_name) — возвращает наименьшее значение данного столбца;
- MAX(col_name) — возвращает наибольшее значение данного столбца.
Вложенные подзапросы
Вложенные подзапросы — это SQL-запросы, которые включают выражения SELECT , FROM и WHERE , вложенные в другой запрос.
Пример
Найдём курсы, которые преподавались осенью 2009 и весной 2010 годов:
Источник