[sql/ru] Fix translation

This commit is contained in:
Andre Polykanine 2019-10-05 19:09:59 +03:00
parent 790bedf429
commit cdf90f01be

View File

@ -5,25 +5,41 @@ contributors:
- ["Bob DuCharme", "http://bobdc.com/"] - ["Bob DuCharme", "http://bobdc.com/"]
translators: translators:
- ["Shaltaev", "https://github.com/shaltaev"] - ["Shaltaev", "https://github.com/shaltaev"]
- ["Andre Polykanine", "https://github.com/Menelion"]
lang: ru-ru lang: ru-ru
--- ---
Язык структурированных запросов (SQL) - это стандартный язык ISO для создания и работы с базами данных, хранящимися в наборе таблиц. Реализации обычно добавляют свои собственные расширения к языку; [Сравнение различных реализаций SQL](http://troels.arvin.dk/db/rdbms/) хороший справочник по различиям в продуктах. Язык структурированных запросов (SQL) — это стандартный язык ISO для создания
и работы с базами данных, хранящимися в наборе таблиц. Реализации обычно
добавляют свои собственные расширения к языку;
[Сравнение различных реализаций SQL](http://troels.arvin.dk/db/rdbms/) — хороший справочник по различиям в продуктах.
Реализации обычно предоставляют приглашение командной строки, где вы можете вводить команды (описанные ниже) в интерактивном режиме, также есть способ выполнить серию этих команд, сохраненных в файле сценария. (Результат того, что вы сделали с помощью интерактивного режима, является хорошим примером того, что не стандартизировано - большинство реализаций SQL поддерживают ключевые слова QUIT, EXIT или оба.) Реализации обычно предоставляют приглашение командной строки, где вы можете
вводить команды, описанные ниже, в интерактивном режиме, также есть способ
выполнить серию таких команд, сохранённых в файле скрипта.
(Результат того, что вы сделали с помощью интерактивного режима, является
хорошим примером того, что не стандартизировано, — большинство реализаций SQL
поддерживают ключевые слова QUIT, EXIT или оба).
Некоторый команды ниже предполагают использование [демонстрационный образец базы данных сотрудников от MySQL](https://dev.mysql.com/doc/employee/en/) доступный на [github](https://github.com/datacharmer/test_db) следовательно для повторения команд в локальном окружении он должен быть загружен. Файлы и скрипты на github, схожи с командами ниже, которые манипулируют базами, таблицами и данными. Синтаксис для запуска этих сценариев будет зависеть от используемой вами реализации SQL. Способ запуска из командной строки обычный для вашей операционной системе. Некоторые команды ниже предполагают использование
[демонстрационного образца базы данных сотрудников от MySQL](https://dev.mysql.com/doc/employee/en/), доступного на [Github](https://github.com/datacharmer/test_db).
Следовательно, для повторения команд в локальном окружении он должен быть загружен.
Файлы на github — это скрипты с командами, которые схожи с командами ниже,
которые создают и манипулируют таблицами и данными о сотрудниках вымышленной
компании. Синтаксис для запуска этих скриптов будет зависеть от используемой
вами реализации SQL. Обычно используется утилита, запускаемая из командной
строки в вашей операционной системе.
```sql ```sql
-- Комментарии начинаются с двух дефисов. Завершите каждую команду -- Комментарии начинаются с двух дефисов. Завершайте каждую команду
-- точкой с запятой. -- точкой с запятой.
-- SQL не учитывает регистр ключевых слов. Образцы команд здесь -- SQL не учитывает регистр букв для ключевых слов. Примеры команд здесь
-- следуйте соглашению о написании их в верхнем регистре, потому что -- следуют соглашению о написании в верхнем регистре, потому что
-- это позволяет легче их отличить от имен баз, таблиц и колонок. -- это позволяет легче отличить их от имён баз, таблиц и колонок.
-- Создание и удаление базы данных. Имена базы и таблицы чувствительны -- Создание и удаление базы данных. Имена базы и таблицы чувствительны
-- к регистру. -- к регистру букв.
CREATE DATABASE someDatabase; CREATE DATABASE someDatabase;
DROP DATABASE someDatabase; DROP DATABASE someDatabase;
@ -33,71 +49,72 @@ SHOW DATABASES;
-- Выбор базы для работы. -- Выбор базы для работы.
USE employees; USE employees;
-- Выбрать все колонки и строки из таблицы текущей базы. -- Выбрать все строки и колонки из таблицы «departments» (отделы) текущей базы.
-- В интерактивном режиме обычно результат будет выведен на экран. -- В интерактивном режиме обыч но результат будет выведен на экран.
SELECT * FROM departments; SELECT * FROM departments;
-- Тот же запрос что и вышеБ но выбор только колонок dept_no и dept_name. -- Тот же запрос, что и выше, но выбор только колонок «dept_no» и «dept_name».
-- Разбиение команд на несколько строк допустимо. -- Разбиение команд на несколько строк допустимо.
SELECT dept_no, SELECT dept_no,
dept_name FROM departments; dept_name FROM departments;
-- В данном случае будут выбраны только первые 5 результатов. -- В данном случае будут выбраны все колонки, но только первые 5 строк.
SELECT * FROM departments LIMIT 5; SELECT * FROM departments LIMIT 5;
-- Выбор имен депортаментов где имена содержат в себе 'en'. -- Выбор названий отделов, содержащих подстроку «en».
SELECT dept_name FROM departments WHERE dept_name LIKE '%en%'; SELECT dept_name FROM departments WHERE dept_name LIKE '%en%';
-- Выбор всех колонок где имена начинаются 'S' и 4 любых символа после. -- Выбор всех колонок, где названия отделов начинаются на «S»,
-- после которой идёт ровно четыре символа.
SELECT * FROM departments WHERE dept_name LIKE 'S____'; SELECT * FROM departments WHERE dept_name LIKE 'S____';
-- Выбор всех должностей, но без повторений. -- Выбор всех должностей из таблицы «titles», но без повторений.
SELECT DISTINCT title FROM titles; SELECT DISTINCT title FROM titles;
-- В дополнение к предыдущему запросу результат будет отсортирован -- В дополнение к предыдущему запросу результат будет отсортирован
-- в алфавитном порядке (С учетом регистра). -- в алфавитном порядке (с учётом регистра).
SELECT DISTINCT title FROM titles ORDER BY title; SELECT DISTINCT title FROM titles ORDER BY title;
-- Вычислить количество строк в таблице депортамента. -- Показать число строк в таблице отделов.
SELECT COUNT(*) FROM departments; SELECT COUNT(*) FROM departments;
-- Вычислить количество строк где имя депортамента содержит 'en' -- Показать число строк, где название отдела содержит подстроку «en»
-- в любой части имени.
SELECT COUNT(*) FROM departments WHERE dept_name LIKE '%en%'; SELECT COUNT(*) FROM departments WHERE dept_name LIKE '%en%';
-- ОБЪЕДИНЕНИЕ информации из нескольких таблиц: должность, когда ее занимал, -- Объединение информации из нескольких таблиц:
-- имя и фамилия сотрудника, объединить по идентификатору сотрудника -- В таблице «titles» перечислены должности, кто их занимал по номеру сотрудника,
-- вывести только 10 строк. -- а также с какой даты по какую. Получим эту информацию, но используем номера
-- сотрудников как ссылку на таблицу «employees», чтобы получить имя и фамилию
-- каждого сотрудника. Выводим только 10 строк.
SELECT employees.first_name, employees.last_name, SELECT employees.first_name, employees.last_name,
titles.title, titles.from_date, titles.to_date titles.title, titles.from_date, titles.to_date
FROM titles INNER JOIN employees ON FROM titles INNER JOIN employees ON
employees.emp_no = titles.emp_no LIMIT 10; employees.emp_no = titles.emp_no LIMIT 10;
-- Список всех таблиц во всех базах. Реализации обычно предоставляют -- Список всех таблиц во всех базах. Реализации обычно предоставляют
-- их собственные сокращения чтобы сделать это для текущей базы. -- собственные сокращения, чтобы показать все таблицы текущей базы.
SELECT * FROM INFORMATION_SCHEMA.TABLES SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE='BASE TABLE'; WHERE TABLE_TYPE='BASE TABLE';
-- Создать таблицу с именем tablename1, с двумя колонками, для колонок -- Создать таблицу с именем tablename1 и двумя колонками в текущей базе.
-- доступно множество опций вроде типа и других, конкретнее уточняйте для -- Для колонок имеется множество параметров, таких как тип данных.
-- своей реализации.
CREATE TABLE tablename1 (fname VARCHAR(20), lname VARCHAR(20)); CREATE TABLE tablename1 (fname VARCHAR(20), lname VARCHAR(20));
-- Вставляем строку в таблице созданную в предыдущем запросе . -- Вставляем строку данных в таблицу «tablename1». Предполагаем, что таблица
-- настроена таким образом, чтобы принимать эти значения.
INSERT INTO tablename1 VALUES('Richard','Mutt'); INSERT INTO tablename1 VALUES('Richard','Mutt');
-- В tablename1, изменить значение fname на 'John' -- В таблице «tablename1» изменить значение fname на «John»
-- для каждой строки где lname имеет значение 'Mutt'. -- для каждой строки, где колонка lname равна «Mutt».
UPDATE tablename1 SET fname='John' WHERE lname='Mutt'; UPDATE tablename1 SET fname='John' WHERE lname='Mutt';
-- Удалить строки из таблицы tablename1 -- Удалить из таблицы «tablename1» строки,
-- где lname начинается с 'M'. -- где значение колонки lname начинается с «M».
DELETE FROM tablename1 WHERE lname like 'M%'; DELETE FROM tablename1 WHERE lname like 'M%';
-- Удалить все строки из таблицы tablename1, в итоге получим пустую таблицу. -- Удалить все строки из таблицы «tablename1». В итоге получим пустую таблицу.
DELETE FROM tablename1; DELETE FROM tablename1;
-- Удалить таблицу tablename1. -- Удалить таблицу «tablename1» полностью.
DROP TABLE tablename1; DROP TABLE tablename1;
``` ```