ОСНОВЫ SQL: КРАТКОЕ ВВЕДЕНИЕ В SQL.

Много раз вы слышали аббревиатуру SQL от своих друзей, коллег или преподавателей, но что такое SQL на самом деле? SQL расшифровывается как «язык структурированных запросов», и это лингва-франка, который используется для управления, создания, обработки и извлечения информации/данных из баз данных. Он был разработан в 1970-х годах учеными-компьютерщиками IBM.

Теперь, когда вы знаете, что такое SQL, что он на самом деле делает? SQL выполняет различные задачи в базе данных, некоторые из этих задач включают в себя:

  • выполнять запросы к базам данных.
  • создавать новые таблицы в базах данных.
  • вставлять записи в базы данных.
  • обновить записи в базе данных.
  • Создание и поддержка пользователей базы данных.
  • удалить записи.
  • извлекать данные из баз данных и т. д.

SQL — очень эффективный, простой в изучении и использовании язык. Он также считается функционально полным из-за того, что позволяет пользователям определять, извлекать и манипулировать данными в таблицах.

В этой статье мы рассмотрим основы SQL. Давайте катить ...

Выражения SQL

Операторы в SQL представляют собой набор инструкций, состоящий из идентификаторов, параметров, переменных, типов данных и зарезервированных ключевых слов SQL. Оператор SQL должен быть успешно скомпилирован. например DELETE TABLE Users.

Существуют разные типы операторов SQL, давайте обсудим их ниже.

  1. Язык управления данными (DML)

Операторы DML обращаются к данным в существующих объектах схемы и манипулируют ими. Эти инструкции не неявно фиксируют текущую транзакцию. Операторы языка манипулирования данными:

SELECT- Извлекает определенные записи из одной или нескольких таблиц.

INSERT- Создает новую запись.

UPDATE- Изменяет существующую запись.

DELETE- Удаляет определенные записи.

MERGE — объединяет отдельные операторы INSERT, UPDATE и DELETE в один SQL-запрос.

2. Язык определения данных (DDL)

Операторы языка определения данных позволяют выполнять такие задачи, как:

  • создавать, изменять и удалять объекты схемы.
  • Анализировать информацию о таблице, индексе или кластере.
  • Добавьте комментарии к словарю данных.

Операторы DDL включают:

CREATE- Создает новую таблицу, представление таблицы или другой объект в базе данных.

ALTER — изменяет существующий объект базы данных.

DROP — удаляет всю таблицу, представление таблицы или другие объекты в базе данных.

RENAME- Используется вместе с ALTER для изменения объектов в базе данных.

TRUNCATE- Удаляет все данные из таблицы.

COMMENT - Начинается с /* и заканчивается */, эта часть кода не выполняется.

3. Язык управления данными (DCL)

Операторы DCL позволяют вам предоставлять и отзывать привилегии и роли, а именно:

GRANT — Дает привилегию пользователям.

REVOKE- Отменяет привилегии, которые ранее были предоставлены пользователю.

4. Язык управления транзакциями (TCL)

Операторы управления транзакциями управляют изменениями, сделанными операторами DML. Операторы управления транзакциями:

COMMIT — сохраняет изменения, вызванные транзакцией в базе данных.

ROLLBACK- Отменяет все изменения, сделанные с момента последнего COMMIT.

SAVEPOINT- Используется вместе с Rollback для получения определенной транзакции в определенный момент.

Написание операторов SQL.

При написании операторов SQL следует помнить, что:

я. Операторы SQL не чувствительны к регистру.

II. SQL можно вводить во многих строках.

III. Ключевые слова нельзя разбивать по строкам.

IV. Пункты обычно помещаются в отдельные строки для удобства чтения и редактирования.

v. Отступы делают его более читабельным.

ви. Ключевые слова можно вводить заглавными буквами, а все остальные строчными.

Зачем изучать SQL?

Если вы профессионал в области разработки программного обеспечения или студент, который хочет стать инженером-программистом, SQL — очень важный язык запросов, которым вы должны вооружиться. В большинстве прикладных программ разработчики, как правило, используют SQL для хранения данных и управления ими. Кроме того, большинство систем управления реляционными базами данных (RDBMS), таких как MYSQL, Oracle, Postgres, Sybase, MS Access, используют SQL в качестве стандартного языка баз данных.

Как работает SQL?

Допустим, вы выполняете команды SQL для любой заданной задачи SQL, система, в которой вы запускаете код, определяет, как лучше всего выполнить ваш запрос, в то время как механизм SQL интерпретирует код. Звучит как сложный процесс, но это не так.

Теперь давайте посмотрим на этапы обработки запросов (этот процесс включает в себя преобразование высокоуровневых SQL-запросов в низкоуровневые выражения, которые используются на физическом уровне файловой системы, а также при оптимизации запросов и, конечно же, в реальном времени). выполнение запроса).

Шаг 1: Парсер

На этом этапе база данных выполняет следующие проверки: проверку синтаксиса и проверку семантики после преобразования запроса в реляционную алгебру.

Проверка синтаксиса:

Включает проверку того, были ли соблюдены / соблюдены правила написания команды SQL (эти правила мы называем синтаксисом).

e.g SELECT * FORM students

Вышеупомянутая команда не может быть выполнена и, таким образом, приведет к ошибке из-за неправильного написания ключевого слова FROM.

Семантическая проверка:

Во время этой проверки синтаксический анализатор определяет, имеет ли оператор смысл или нет.

Пример. Допустим, вы запросили таблицу с именем Students из базы данных, но еще не создали ее, что технически означает, что ее не существует. Ошибка, которую вы получите, будет связана с проверкой семантики

Шаг 2: Оптимизатор

На этапе оптимизации база данных должна выполнить жесткий синтаксический анализ (это когда команды SQL повторно загружаются в общий пул) по крайней мере для одного уникального оператора языка манипулирования данными. В конце концов, синтаксический анализ выполняет оптимизацию команд.

Шаг 3: Механизм выполнения:

Наконец, запрос выполняется, и отображаются выходные данные.

Практический SQL.

Теперь приступим к практической части SQL.

Создание таблиц

В SQL вы создаете таблицы с помощью оператора CREATE TABLE. При создании таблиц вы должны обеспечить три основных элемента:

  • Имя таблицы.
  • Имена столбцов.
  • Типы данных для каждого столбца.

Рекомендации по созданию таблиц.

Правила именования таблиц и столбцов:

  • Должен начинаться с буквы, за которой следует последовательность букв, цифр, _, #, 0r $.
  • Должно быть от 1 до 30 символов.
  • Не должно быть зарезервированным словом SQL.

типы данных:

SQL поддерживает разные типы данных, в том числе:

  • VARCHAR2(n): Строка символов переменной длины до n символов.
  • CHAR(n): символьная строка фиксированной длины из n символов.
  • NUMBER(n): целое число, содержащее до n цифр.
  • ЧИСЛО(точность, масштаб): десятичное число с фиксированной точкой. «точность» — общее количество цифр; «Масштаб» — это количество цифр справа от запятой. Десятичная точка не считается.
  • ЧИСЛО: десятичное число с плавающей запятой.
  • ДАТА: ДД-ПЕС-ГГ (или ГГГГ) ЧЧ:ММ:СС A.M. (или P.M.) форма даты-времени.
  • LONG: строка символов переменной длины до 2 ГБ.
  • NCHAR: LONG для международных наборов символов (2 байта на символ).
  • CLOB: однобайтовые данные символов ASCII размером до 4 ГБ.
  • BLOB: двоичные данные (например, программа, изображение или звук) размером до 4 ГБ.
  • BFILE: ссылка на двоичный файл, который является внешним по отношению к базе данных (файл ОС).
  • RAW(размер) или LONG_RAW: необработанные двоичные данные.
  • ROWID: уникальный адрес строки в шестнадцатеричном формате.

Пример:

CREATE TABLE employees(
employee_id number(7) not null,
first_name varchar2(20),
last_name varchar2(20),
cellphone varchar2(12),
email varchar2(20),
hire_date date,
job_id varchar2(5),
salary number(12,2),
manager_id number(6),
department_id number(4)
);

Добавление данных в таблицы.

Вы используете ключевое слово INSERT для добавления данных в любую таблицу SQL.

Пример:

INSERT INTO employees 
VALUES(1000,'Simon','Otieno','0722456789','[email protected]','01-jan-90','5500',32000,5000,10);

INSERT INTO employees 
VALUES(1001,'Alice','Mwangi','0720766659','[email protected]','02-feb-80,'5600',42000, 5000,10);

Получение данных из объектов базы данных с помощью оператора SELECT

Как упоминалось ранее, SELECT используется для извлечения данных из базы данных. С оператором SELECT вы можете получить следующие возможности.

  • Проекция — выбор столбцов/полей из таблицы через запрос.
  • Selection- выбор строк в таблице.
  • Объединение — объединение данных, хранящихся в разных таблицах, путем указания связи между ними.

Примеры:

SELECT * FROM employees; /*selects everything*/

SELECT employee_id,first_name,last_name, email , job_id, salary 
FROM employees; /*selects only the specified columns*/

Арифметические выражения в SQL

Арифметические выражения в SQL выполняют арифметические операции над числовыми операдами/значениями, хранящимися в таблицах базы данных. Используемые выражения включают: -

+ - для Дополнения.

- - для операций вычитания.

* - для умножения.

/ - для деления.

% - для модуля.

Пример:

SELECT employee_id, first_name,last_name, salary, salary + 3000 
FROM employees;

SELECT employee_id, first_name,last_name, salary, 12* salary + 700
FROM employees;

SELECT employee_id, first_name,last_name, salary, 12* (salary + 700) 
FROM employees;

SELECT employee_id, first_name,last_name, salary, 12* (salary - 2000) 
FROM employees;

Ограничение и сортировка данных с помощью оператора SELECT.

использование пункта WHERE.

Предложение WHERE используется для фильтрации записей. Он извлекает только те записи, которые соответствуют заданному условию.

Условия сравнения

= -Равно.

> -Больше чем.

>=-Больше или равно.

< -Меньше.

<=-Меньше или равно.

<>-Не равно.

IS Null - нулевое значение.

IN (set) -Соответствует любому из списка.

Примеры:

SELECT employee_id "Employee ID",first_name "First Name",last_name "Last Name", email "Email" , job_id "Job ID",salary " Monthly Pay " 
FROM employees 
WHERE employee_id=1000;

SELECT employee_id "Employee ID",first_name "First Name" ,last_name "Last Name", email "Email" , job_id "Job ID",salary " Monthly Pay " 
FROM employees 
WHERE salary > 10000;

SELECT employee_id "Employee ID",first_name "First Name" ,last_name "Last Name", email "Email" , job_id "Job ID",salary " Monthly Pay " 
FROM employees 
WHERE salary IN(10000,20000,30000);

Логические условия

AND- Возвращает истину, если оба верны

OR- Возвращает истину, если она верна

NOT- Вернуть true, если условие ложно

Примеры:

SELECT employee_id,last_name 
FROM employees 
WHERE salary >=10000 AND manager_id=5000;

SELECT employee_id,last_name 
FROM employees 
WHERE department_id NOT IN(90,60,30);

Использование пункта ORDER BY.

Это ключевое слово сортирует записи в определенном порядке. По умолчанию он сортирует записи в порядке возрастания.

Пример:

SELECT last_name,job_id, department_id 
FROM employees 
ORDER BY hire_date DESC;

SELECT last_name,job_id, department_id 
FROM employees 
ORDER BY hire_date ASC;

PS: asc=по возрастанию, desc=по убыванию.

UPDATE Команда

Как упоминалось ранее в статье, эта команда используется для обновления данных в заданных таблицах.

Пример:

UPDATE employees 
SET salary= 50000 
WHERE employee_id=1001;

UPDATE employees 
SET last_name='Opiyo' 
WHERE employee_id=1000;

DELETE Команда.

Используется для удаления или удаления записей из таблиц в базе данных.

пример:

DELETE FROM employees 
WHERE employee_id=1000;

ROLLBACK Команда.

Эта команда используется для отмены любых изменений, сделанных с момента последнего оператора фиксации в транзакции SQL. При выполнении команды отката все изменения, внесенные в базу данных с момента последней фиксации, отменяются, и база данных возвращается в свое предыдущее состояние.

пример:

ROLLBACK;

COMMIT Команда.

Обеспечивает постоянное сохранение записей. Эта команда может использоваться внутри транзакции для фиксации изменений, сделанных транзакцией. После выполнения команды фиксации изменения сохраняются навсегда и не могут быть отменены.

пример:

COMMIT;

Ограничения SQL

Ограничения — это правила, которые определяют допустимые значения и отношения для данных в таблице базы данных. Ограничения могут помочь обеспечить целостность данных, предотвратить вставку или обновление неверных или несогласованных данных, а также предоставить способ обеспечения соблюдения бизнес-правил или политик. Они включают:-

  • Ограничение NOT NULL

Это ограничение используется для указания того, что столбец в таблице должен содержать значение и не может оставаться пустым или нулевым.

Пример:

CREATE TABLE Sales ( 
Sale_Id int NOT NULL, 
Sale_Amount int NOT NULL, 
Vendor_Name varchar(255) NOT NULL, 
Sale_Date date, 
Profit int
);
  • УНИКАЛЬНОЕ ограничение

Ограничение «UNIQUE» используется для обеспечения того, чтобы значения в столбце или группе столбцов были уникальными и не могли повторяться в одной и той же таблице.

Пример:

CREATE TABLE employees2( 
employee_id number(6), 
last_name varchar2(20) NOT NULL, 
email varchar2(20), 
salary number(10,2), 
hire_date date NOT NULL, 
CONSTRAINT emp_email_uk UNIQUE(email)
);
  • Ограничение PRIMARY KEY.

Это ограничение используется для указания столбца или группы столбцов, которые однозначно определяют каждую строку в таблице. Ограничение первичного ключа гарантирует, что значения в указанном столбце или столбцах уникальны и не могут повторяться в одной и той же таблице.

Пример:

CREATE TABLE Sales (
Sale_Id int NOT NULL,
Sale_Amount int NOT NULL,
Vendor_Name varchar(255),
Sale_Date date,
Profit int,
PRIMARY KEY (Sale_Id)
);
  • Ограничение FOREIGN KEY.

Ограничение FOREIGN KEY используется для создания связи между двумя таблицами на основе значений в столбце или группе столбцов. Ограничение внешнего ключа гарантирует, что значения в указанном столбце или столбцах в одной таблице соответствуют значениям в столбце или столбцах первичного ключа в другой таблице.

Пример:

CREATE TABLE employees3 (
employee_id number(6) PRIMARY KEY,
last_name varchar2(20) NOT NULL,
first_name varchar2(20),
salary number(10,2),
hire_date date NOT NULL,
department_id number(4) CONSTRAINT emp_dept_fk 
FOREIGN KEY(department_id) REFERENCES department (department_id)
);

CREATE TABLE department(
  department_id int PRIMARY KEY,
  last_name varchar2(20) NOT NULL,
  first_name varchar2(20)
);
  • ПРОВЕРИТЬ ограничение.

Это ограничение используется для указания условия, которое должно выполняться для каждой строки в таблице. Ограничение проверки гарантирует, что значения в столбце или группе столбцов соответствуют определенному условию или набору условий.

Пример:

CREATE TABLE Sales( 
Sale_Id int NOT NULL UNIQUE, 
Sale_Amount int NOT NULL, 
Vendor_Name varchar(255) 
CHECK (Sale_Amount >= 100 AND Vendor_Name<> 'John'), 
Sale_Date date, 
Profit int
);
  • Когда у вас есть ограничения, возвращается ошибка, если вы пытаетесь нарушить правило ограничения.

ALTER TABLE Заявление.

Это утверждение используется для:

я. Добавить новый столбец в таблицу.

II. Изменить существующий столбец.

III. Определите значение по умолчанию для нового столбца.

IV. Удаление столбца из таблицы.

Пример:

ALTER TABLE employees 
ADD CONSTRAINT emp_id_pk PRIMARY KEY;

ALTER TABLE employees2 
DROP CONSTRAINT emp_dept_fk;

Обратите внимание на команды ограничений ADD и DROP: первая используется для создания ограничений UNIQUE, PRIMARY KEY, FOREIGN KEY или CHECK, а вторая используется для их удаления. Это можно сделать только в том случае, если таблица уже существует.

ОБЪЕКТЫ ДАННЫХ

В SQL объекты используются в базах данных для хранения или ссылки на данные. Доступ к объекту возможен только с использованием его идентификатора. В SQL есть различные объекты данных, в том числе:

  • Стол — основная единица хранения.
  • Представление — логически представляет подмножества данных из одной или нескольких таблиц.
  • Sequence — генерирует числовые значения.
  • Индекс — повышает производительность некоторых запросов.
  • Синонимы — дает альтернативные имена объектам.

Давайте посмотрим на VIEW.

ПОСМОТРЕТЬ

Представление — это виртуальная таблица, которая на самом деле не хранит данные, а предоставляет способ доступа и управления данными из одной или нескольких таблиц. Представление можно рассматривать как хранимую инструкцию SELECT, которая определяет набор столбцов и строк на основе запроса.

Зачем использовать VIEW?

  1. Чтобы ограничить доступ к данным.
  2. Для упрощения сложных запросов.
  3. Обеспечить независимость данных.
  4. Для представления различных представлений одних и тех же данных.

создание представления:

CREATE VIEW emp1 AS 
SELECT * 
FROM employees;

Чтобы удалить представление, используйте оператор DROP VIEW .

e.g

DROP VIEW emp1

Первоначально опубликовано на https://github.com.