Понимание и изучение SQL может легко стать сложным и непосильным. В этом блоге я раскрою концепции SQL в понятные фрагменты, которые помогут вам быстрее освоить SQL менее чем за 5 минут.
SQL, как следует из названия, представляет собой язык структурированных запросов, который позволяет нам взаимодействовать с сервером базы данных. Однако, прежде чем мы углубимся в SQL, давайте разберемся, как SQL вписывается в науку о данных и почему стоит потратить на него время.
В основе любого проекта по науке о данных лежат данные и возможность работы с большими наборами данных. Вот где SQL помогает. Большая часть сложных данных на предприятиях находится в реляционных базах данных. И хотя есть более новые альтернативы, большинство предприятий сегодня продолжают использовать SQL. SQL используется в качестве внешнего интерфейса для многих баз данных, таких как MySQL, PostgreSQL, Oracle, Sybase.
С помощью SQL мы создаем, поддерживаем и извлекаем данные из этих баз данных. Кроме того, мы можем интегрировать SQL с такими языками, как Python и R, для анализа данных и создания нужных моделей.
Теперь, когда мы понимаем, какое место SQL занимает в более широком ландшафте науки о данных, давайте углубимся в понимание конструкции и команд, которые мы можем использовать для создания баз данных и работы с ними.
Команды SQL можно разделить на следующие категории. Это помогает нам создавать базы данных, получать информацию из нескольких источников и извлекать полезные данные.
- Язык определения данных (DDL) — эти команды помогают нам создать базу данных SQL и построить логические отношения на основе выбранной нами схемы. В основном это одноразовые действия, но хорошо знать эти команды.
- Язык манипулирования данными (DML) — они помогают нам изменять сами данные, которые находятся в базе данных.
- Язык управления данными (DCL) — мы используем его для предоставления и отзыва доступа к базе данных и ее содержимому.
Теперь давайте подробно рассмотрим каждый из них.
Язык определения данных (DDL)
Это набор команд, которые используются для создания и изменения баз данных.
- СОЗДАТЬ команду
Создать базу данных:
Например, чтобы создать базу данных компании, используйте приведенную ниже команду.
create database company;
Создать таблицу — для создания таблиц в базе данных.
Синтаксис:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,….]);
Чтобы создать таблицу сотрудников, мы можем использовать следующий запрос
CREATE TABLE `employees` ( `employeeNumber` varchar(5) NOT NULL, `lastName` varchar(12) DEFAULT NULL, `firstName` varchar(12) DEFAULT NULL, `reportsTo` varchar(5) DEFAULT NULL, `jobTitle` varchar(25) DEFAULT NULL, PRIMARY KEY (`employeeNumber`) );
Как вы можете видеть в приведенном выше примере, мы определили каждый столбец в таблице с типом данных.
Ниже приведены типы данных, которые поддерживает SQL.
Числовой
INTEGER, SMALLINT, BIGINT NUMERIC(w,d), DECIMAL(w,d) — numbers with width w and d decimal places REAL, DOUBLE PRECISION — machine and database dependent FLOAT(n) — floating-point number with n binary digits of precision
Персонаж
CHARACTER(L) — a fixed-length character of length L CHARACTER VARYING(L) or VARCHAR(L) — supports the maximum length of L
Двоичный
BIT(L), BIT VARYING(L) — like corresponding characters BINARY LARGE OBJECT(L) or BLOB(L)
Временный
DATE TIME TIMESTAMP
2. Команда ИЗМЕНИТЬ
Команды Alter используются для добавления/обновления/удаления столбцов из таблицы.
Добавление столбцов
Синтаксис:
ALTER TABLE table_name ADD column_name COLUMN-definition;
Например: если мы хотим добавить столбец адреса электронной почты в таблицу сотрудников:
ALTER table employees add column email varchar(50);
Изменение столбцов
Синтаксис:
ALTER TABLE MODIFY(COLUMN DEFINITION….);
Например: если мы хотим изменить тип данных столбца электронной почты на varchar (255)
ALTER table employees add column email varchar(50);
Удаление столбцов
Синтаксис:
ALTER TABLE table_name DROP COLUMN column_name;
Например: если мы хотим удалить столбец электронной почты
ALTER table employees drop column email
3. Команда УДАЛИТЬ
Команда Drop используется для удаления таблиц из базы данных.
Syntax : DROP TABLE table_name;
Например, чтобы удалить таблицу сотрудников
DROP TABLE employees
Язык манипулирования данными (DML)
Команды DML отвечают за выполнение всех типов модификации данных в базе данных.
1.Команда ВСТАВИТЬ
Операторы вставки используются для вставки данных в таблицы.
Синтаксис:
INSERT INTO table_name (col1, col2, col3,…. col N) VALUES (value1, value2, value3, …. valueN);
альтернативно,
INSERT INTO table_name VALUES (value1, value2, value3, …. valueN);
Например, чтобы вставить данные в таблицу сотрудников:
insert into employees values (1102, ‘Alex’, ‘Gerard’, ‘1056’, ‘Sales Manager’), (1103, ‘Mary’, ‘Thomas’, ‘1102’, ‘Sales Executive’);
2. ОБНОВИТЬ команду
Операторы обновления используются для обновления или изменения значения столбца в таблице.
Синтаксис:
UPDATE table_name SET [column_name1= value1,…column_nameN = valueN] [WHERE CONDITION]
Например, чтобы обновить jobTitle сотрудника, мы можем использовать следующий запрос:
UPDATE employees SET jobTitle=’Senior Sales Manager’ WHERE employeeNumber=1102;
3. УДАЛИТЬ команду
Удалить используется для удаления одной или нескольких строк из таблицы.
Синтаксис:
DELETE FROM table_name [WHERE condition];
Например:
DELETE FROM employees WHERE employeeNumber=1102;
4. Команда SELECT
Команда select используется для извлечения данных из таблиц.
Синтаксис:
select (attributes) from (table) where (filter_condition) group by (attributes_to_be_grouped_upon) having (filter_condition_on_grouped_values) order by (values) limit (no_of_values_to_display);
Давайте рассмотрим несколько примеров:
- Чтобы отобразить всю таблицу
select * from employees
- Отображать только имя сотрудника
select firstName from employees
- Чтобы отобразить сведения о сотруднике, номер сотрудника которого равен 1102
select * from employees where employeeNumber=1102;
- Мы также можем агрегировать значения, выполнять групповые и упорядоченные операции в запросах Select.
select firstName from employees order by firstName; select country, count(customerNumber) from customers group by country;
Язык управления данными (DCL)
Команды DCL используются для предоставления прав и разрешений системе баз данных. Команды DCL:
1.Grant — команда Grant предоставляет пользователю право доступа к базе данных.
Синтаксис:
GRANT <privileges> ON <database>.<object> TO ‘<user>’@’<host>’;
2.Revoke — команда отзыва отменяет права доступа, предоставленные командой предоставления.
Синтаксис:
REVOKE <privileges> ON <database>.<object> FROM’<user>’@’<host>’;
Заключение
Хотя SQL восходит к 1970-м годам, когда Эдгар Кодд писал об организации данных в базы данных, язык продолжает оставаться актуальным. Он прошел проверку временем, и почти каждая организация использует SQL или его производные. Этот блог призван помочь вам начать изучение SQL. Чтобы преуспеть в мире данных, убедитесь, что в вашем арсенале навыков работы с данными также есть SQL.