mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-11-23 06:03:07 +03:00
[ru-ru] SQL full translate
This commit is contained in:
parent
67ffd4172c
commit
cedb7eca42
103
ru-ru/sql-ru.html.markdown
Normal file
103
ru-ru/sql-ru.html.markdown
Normal file
@ -0,0 +1,103 @@
|
||||
---
|
||||
language: SQL
|
||||
filename: learnsql.sql
|
||||
contributors:
|
||||
- ["Bob DuCharme", "http://bobdc.com/"]
|
||||
translators:
|
||||
- ["Shaltaev", "https://github.com/shaltaev"]
|
||||
lang: ru-ru
|
||||
---
|
||||
|
||||
Язык структурированных запросов (SQL) - это стандартный язык ISO для создания и работы с базами данных, хранящимися в наборе таблиц. Реализации обычно добавляют свои собственные расширения к языку; [Сравнение различных реализаций SQL](http://troels.arvin.dk/db/rdbms/) хороший справочник по различиям в продуктах.
|
||||
|
||||
Реализации обычно предоставляют приглашение командной строки, где вы можете вводить команды (описанные ниже) в интерактивном режиме, также есть способ выполнить серию этих команд, сохраненных в файле сценария. (Результат того, что вы сделали с помощью интерактивного режима, является хорошим примером того, что не стандартизировано - большинство реализаций SQL поддерживают ключевые слова QUIT, EXIT или оба.)
|
||||
|
||||
Некоторый команды ниже предполагают использование [демонстрационный образец базы данных сотрудников от MySQL](https://dev.mysql.com/doc/employee/en/) доступный на [github](https://github.com/datacharmer/test_db) следовательно для повторения команд в локальном окружении он должен быть загружен. Файлы и скрипты на github, схожи с командами ниже, которые манипулируют базами, таблицами и данными. Синтаксис для запуска этих сценариев будет зависеть от используемой вами реализации SQL. Способ запуска из командной строки обычный для вашей операционной системе.
|
||||
|
||||
```sql
|
||||
-- Комментарии начинаются с двух дефисов. Завершите каждую команду
|
||||
-- точкой с запятой.
|
||||
|
||||
-- SQL не учитывает регистр ключевых слов. Образцы команд здесь
|
||||
-- следуйте соглашению о написании их в верхнем регистре, потому что
|
||||
-- это позволяет легче их отличить от имен баз, таблиц и колонок.
|
||||
|
||||
-- Создание и удаление базы данных. Имена базы и таблицы чувствительны
|
||||
-- к регистру.
|
||||
CREATE DATABASE someDatabase;
|
||||
DROP DATABASE someDatabase;
|
||||
|
||||
-- Список доступных баз.
|
||||
SHOW DATABASES;
|
||||
|
||||
-- Выбор базы для работы.
|
||||
USE employees;
|
||||
|
||||
-- Выбрать все колонки и строки из таблицы текущей базы.
|
||||
-- В интерактивном режиме обычно результат будет выведен на экран.
|
||||
SELECT * FROM departments;
|
||||
|
||||
-- Тот же запрос что и вышеБ но выбор только колонок dept_no и dept_name.
|
||||
-- Разбиение команд на несколько строк допустимо.
|
||||
SELECT dept_no,
|
||||
dept_name FROM departments;
|
||||
|
||||
-- В данном случае будут выбраны только первые 5 результатов.
|
||||
SELECT * FROM departments LIMIT 5;
|
||||
|
||||
-- Выбор имен депортаментов где имена содержат в себе 'en'.
|
||||
SELECT dept_name FROM departments WHERE dept_name LIKE '%en%';
|
||||
|
||||
-- Выбор всех колонок где имена начинаются 'S' и 4 любых символа после.
|
||||
SELECT * FROM departments WHERE dept_name LIKE 'S____';
|
||||
|
||||
-- Выбор всех должностей, но без повторений.
|
||||
SELECT DISTINCT title FROM titles;
|
||||
|
||||
-- В дополнение к предыдущему запросу результат будет отсортирован
|
||||
-- в алфавитном порядке (С учетом регистра).
|
||||
SELECT DISTINCT title FROM titles ORDER BY title;
|
||||
|
||||
-- Вычислить количество строк в таблице депортамента.
|
||||
SELECT COUNT(*) FROM departments;
|
||||
|
||||
-- Вычислить количество строк где имя депортамента содержит 'en'
|
||||
-- в любой части имени.
|
||||
SELECT COUNT(*) FROM departments WHERE dept_name LIKE '%en%';
|
||||
|
||||
-- ОБЪЕДИНЕНИЕ информации из нескольких таблиц: должность, когда ее занимал,
|
||||
-- имя и фамилия сотрудника, объединить по идентификатору сотрудника
|
||||
-- вывести только 10 строк.
|
||||
|
||||
SELECT employees.first_name, employees.last_name,
|
||||
titles.title, titles.from_date, titles.to_date
|
||||
FROM titles INNER JOIN employees ON
|
||||
employees.emp_no = titles.emp_no LIMIT 10;
|
||||
|
||||
-- Список всех таблиц во всех базах. Реализации обычно предоставляют
|
||||
-- их собственные сокращения чтобы сделать это для текущей базы.
|
||||
SELECT * FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE TABLE_TYPE='BASE TABLE';
|
||||
|
||||
-- Создать таблицу с именем tablename1, с двумя колонками, для колонок
|
||||
-- доступно множество опций вроде типа и других, конкретнее уточняйте для
|
||||
-- своей реализации.
|
||||
CREATE TABLE tablename1 (fname VARCHAR(20), lname VARCHAR(20));
|
||||
|
||||
-- Вставляем строку в таблице созданную в предыдущем запросе .
|
||||
INSERT INTO tablename1 VALUES('Richard','Mutt');
|
||||
|
||||
-- В tablename1, изменить значение fname на 'John'
|
||||
-- для каждой строки где lname имеет значение 'Mutt'.
|
||||
UPDATE tablename1 SET fname='John' WHERE lname='Mutt';
|
||||
|
||||
-- Удалить строки из таблицы tablename1
|
||||
-- где lname начинается с 'M'.
|
||||
DELETE FROM tablename1 WHERE lname like 'M%';
|
||||
|
||||
-- Удалить все строки из таблицы tablename1, в итоге получим пустую таблицу.
|
||||
DELETE FROM tablename1;
|
||||
|
||||
-- Удалить таблицу tablename1.
|
||||
DROP TABLE tablename1;
|
||||
```
|
Loading…
Reference in New Issue
Block a user