SQL — это предметно-ориентированный язык, который инженеры используют для обработки данных, хранящихся в реляционных базах данных, или для потоковой обработки в системах управления реляционными потоками данных. Вы можете хранить данные в реляционной базе данных через таблицы. Первое, что нужно сделать в этом процессе, — создать базу данных, с которой вы хотите работать. Затем мы создаем таблицы, в которых будут храниться актуальные данные. Таблица в такой базе данных будет иметь как строки, так и столбцы.
С каждым столбцом будет связан определенный тип данных, который определяет тип данных, которые он может хранить. При создании таблицы мы должны указать имя и тип данных каждого столбца. Вы можете создать таблицу с помощью команды SQL CREATE TABLE в базах данных MySQL и PostgreSQL.
Давайте более подробно рассмотрим инструкцию CREATE TABLE SQL.
Как создать таблицу с помощью SQL?
Вы можете создать таблицу в MySQL со следующим синтаксисом:
СОЗДАТЬ ТАБЛИЦУ table_name(
column_1 data_type значение по умолчанию column_constraint ,
column_2 data_type значение по умолчанию column_constraint ,
...,
…,
table_constraint
);
Основные вещи, которые вы должны иметь при создании таблицы, — это ее имя и по крайней мере одно имя столбца. Должна быть только одна таблица базы данных с определенным именем таблицы . База данных покажет вам сообщение об ошибке, если вы попытаетесь создать две таблицы с одинаковым именем.
Внутри скобок мы указываем имена столбцов, которые мы хотим сделать в таблице, а также тип данных, которые будут в нее внесены. Запятые будут разделять имена этих столбцов. Имя, тип данных, значение столбца по умолчанию и одно или несколько ограничений столбца составляют каждый столбец.
Ограничения столбца определяют фактическое значение данных, которое может быть сохранено в столбце. Например, ограничение NOT NULL гарантирует, что в этом конкретном столбце не существует значений NULL . Вы можете иметь более одного ограничения для одного столбца. Например, столбец может содержать ограничения NOT NULL и UNIQUE .
Если вы хотите применить ограничения ко всем столбцам в таблице, вы можете использовать ограничения таблицы. Некоторые примеры одного и того же: FOREIGN KEY , CHECK и UNIQUE . Каждая таблица может иметь первичный ключ, состоящий из одного или нескольких столбцов. Этот первичный ключ используется для уникальной идентификации каждой записи таблицы. Обычно вы сначала перечисляете столбец первичного ключа, а затем остальные. Вы должны объявить ограничение PRIMARY KEY как ограничение таблицы, если оно состоит из двух или более столбцов.
Давайте посмотрим на пример:
СОЗДАТЬ ТАБЛИЦУ КЛИЕНТОВ(
ID INT NOT NULL,
ИМЯ VARCHAR (20) НЕ НУЛЕВОЕ,
ВОЗРАСТ INT NOT NULL,
ЗАРПЛАТА ДЕСЯТИЧНАЯ (18, 2),
ПЕРВИЧНЫЙ КЛЮЧ (ID)
);
Здесь имя таблицы — «CUSTOMERS», а ее первичный ключ — ID. Столбцы ID, NAME и AGE имеют ограничение NOT NULL . Длина имени не должна превышать 20 символов. Теперь мы создали таблицу с помощью команды SQL CREATE TABLE и можем вставить в нее и в базу данных соответствующие данные.
Можете ли вы иметь таблицу внутри таблицы в MySQL/PostgreSQL?
Наличие таблицы внутри таблицы будет называться вложением таблиц. Для этого нам пришлось бы создать таблицу внутри другой таблицы с помощью команды SQL CREATE TABLE. Это концепция, которой нет в MySQL. Однако мы можем добиться того же результата, что и при наличии вложенных таблиц, используя первичный ключ и внешний ключ. Это создает отношение родитель-потомок между двумя таблицами.
Поле или группа полей в одной таблице, которые ссылаются на ПЕРВИЧНЫЙ КЛЮЧ другой таблицы, называются ВНЕШНИМИ КЛЮЧАМИ . Таблица с основным первичным ключом называется родительской таблицей, а таблица с внешним ключом — дочерней.
Например, предположим, что у нас есть родительская таблица Vehicle, первичным ключом которой является VehId. У нас есть еще две таблицы: Car с первичным ключом CarId и Truck с первичным ключом TruckId соответственно. Если мы поместим VehId в качестве внешнего ключа как в Car, так и в Truck, то Vehicle станет его родительской таблицей, тем самым создав отношение родитель-потомок.
Родительская таблица Vehicle {VehId}
Дочерние таблицы
1. Автомобиль {VehId,CarId}
2. Грузовик {VehId,TruckId}
Можно ли выбрать таблицу SQL без ее предварительного создания?
Чтобы выбрать данные из базы данных, мы используем оператор SELECT. Данные из этого хранятся в таблице результатов, называемой набором результатов. Это используется для выбора части таблицы или всей таблицы целиком. Когда вы программируете и создали таблицу с помощью команды SQL CREATE TABLE, вы можете использовать команду SELECT для просмотра созданных вами таблиц.
Его синтаксис такой:
ВЫБЕРИТЕ столбец_1, столбец_2, …
ОТ имя_таблицы;
Например, следующая команда выбирает всю таблицу.
SELECT * FROM имя_таблицы;
ВЫБЕРИТЕ В
Данные из одной таблицы переносятся в другую с помощью оператора SELECT INTO. Он может копировать все столбцы одной таблицы в другую. Обычно это используется, когда таблица, в которую копируются данные, уже существует.
Чтобы выбрать все столбцы таблицы:
ВЫБРАТЬ *
INTO новая_таблица [во внешней базе данных]
ОТ old_table
ГДЕ условие;
Чтобы выбрать только несколько столбцов в новую таблицу:
ВЫБЕРИТЕ столбец_1, столбец_2, столбец_3,...
INTO новая_таблица [во внешней базе данных]
ОТ old_table
ГДЕ условие;
Итак, можем ли мы выбрать таблицу, если мы еще не создали ее с помощью SQL CREATE TABLE?
Логично, что ответ должен быть отрицательным. Но это не так, и мы можем выбрать в таблицу, даже если мы ее еще не создали. Когда необходимо сформировать таблицу и данные из одной таблицы необходимо перенести во вновь созданную таблицу, используется этот подход. Для создания новой таблицы используются те же типы данных, что и для выбранных столбцов.
Как создать таблицу продуктов в SQL?
Таблица продуктов в SQL может быть создана различными способами. Использование инструкции SQL CREATE TABLE является одним из вариантов. Информация о продукте будет содержаться в таблице, которую создаст этот оператор. Команду SELECT также можно использовать для просмотра и получения данных из таблицы. Синтаксис для обоих из них был упомянут выше.
Команду INSERT также можно использовать для вставки новых данных в таблицу. Благодаря оператору INSERT данные будут вставлены в таблицу в указанном месте. Данные также можно извлечь из таблицы с помощью запроса SELECT, а затем добавить в другую таблицу с помощью оператора INSERT.
ВСТАВИТЬ В
Мы используем оператор INSERT INTO для добавления новых записей в таблицу. Синтаксис оператора INSERT:
ВСТАВИТЬ В имя_таблицы (столбец_1, столбец_2, ...)
ЗНАЧЕНИЯ (значение_1, значение_2, ...);
Что отличает таблицу продуктов, так это только аспект дизайна. Название продукта, модель, класс, модельный год и прейскурантная цена хранятся в базе данных продуктов. Каждый товар является частью бренда, идентифицируемого столбцом идентификатора бренда. Следовательно, бренд может иметь один или несколько продуктов. Каждый продукт является членом категории, которая идентифицируется идентификатором категории в таблице.
Какие типы данных подходят для баз данных SQL?
При использовании команды SQL CREATE TABLE мы должны указать типы данных столбцов. Данные, которые может включать столбец, зависят от этого типа данных. Примеры включают целые, символьные, двоичные, дату и время и многое другое. Таблица базы данных должна иметь имя, а также тип данных для каждого столбца.
При построении таблицы программист SQL должен определить, какие данные будут содержаться в каждом столбце. Тип данных указывает, как SQL будет взаимодействовать с хранимыми данными. Это помогает определить, какие данные ожидаются внутри каждого столбца. Тремя основными типами данных в MySQL 8.0 являются строки, числа и дата и время.
Строковые типы данных
Строковые типы данных обычно представляют собой набор символов, принадлежащих английскому алфавиту. Основные типы строковых данных:
- СИМВОЛ(размер)
- VARCHAR(размер)
- ДВОИЧНЫЙ (размер)
- VARBINARY(размер)
- МАЛЕНЬКИЙБЛОБ
- TINYTEXT
- Размер текста)
- BLOB(размер)
- СРЕДНЕТЕКСТ
- СРЕДНИЙБЛОБ
- ДЛИННЫЙ ТЕКСТ
- LONGBLOB
- ENUM(значение_1, значение_2, значение_3, ...)
- SET(значение_1, значение_2, значение_3, ...)
Здесь SIZE означает максимальный размер, который могут занимать хранимые данные. CHAR — это строка фиксированной длины, а VARCHAR — строка переменной длины. Это наиболее часто используемые строковые типы данных. BLOB — это большой двоичный объект.
Числовые типы данных
Переменные числового типа данных используются для хранения числовых данных. Кроме того, они делятся на два типа типов данных — точные и приблизительные. Точные типы данных используются для хранения значения данных в его буквальной форме. Хотя действительные числа содержатся в приблизительных типах данных, информация не сохраняется буквально как копия истинных значений. Основные типы числовых данных:
- БИТ(размер)\
- TINYINT(размер)
- BOOL
- логическое значение
- МАЛЕНЬКИЙ(размер)
- СРЕДНИЙ(размер)
- INT(размер)
- ЦЕЛОЕ(размер)
- БОЛЬШОЙ(размер)
- FLOAT(размер, d)
- ПЛАВАЮЩАЯ(p)
- ДВОЙНОЙ(размер, d)
- ДВОЙНАЯ ТОЧНОСТЬ(размер, d)
- ДЕСЯТИЧНЫЙ(размер, d)
- DEC(размер, д)
Наиболее часто используемый числовой тип данных — INT . Он используется для хранения недесятичных чисел, а переменные с типами данных FLOAT используются для хранения десятичных чисел. В типе данных BOOL ноль считается FALSE , а ненулевые значения считаются TRUE .
Дата и время
Типы данных даты и времени используются для хранения данных даты. Основные типы данных даты и времени:
- СВИДАНИЕ
- ДАТАВРЕМЯ(fsp)
- TIMESTAMP(fsp)
- ВРЕМЯ (fsp)
- ГОД
Типы данных SQL-сервера аналогичны указанным выше типам данных, но с небольшими синтаксическими отличиями.
Какие существуют типы переменных в SQL-сервере?
На сервере MS SQL существуют две категории переменных:
Локальная переменная
Пользователь объявляет локальную переменную. Он всегда начинается с @. Область действия каждой локальной переменной ограничена пакетом или процессом, который сейчас выполняется в рамках определенного сеанса. Локальная переменная Transact-SQL — это своего рода объект, который может хранить только один конкретный тип значения данных. Скрипты и пакеты часто используют переменные:
- в качестве счетчика либо для управления частотой повторения цикла, либо для отслеживания того, сколько раз он выполняется.
- для хранения значения данных, которое будет подвергнуто проверке управления потоком.
- для хранения значения данных, которое возвращает функция.
Глобальная переменная
Система поддерживает глобальную переменную. Пользователи не могут сделать их общедоступными. @@ — это место, где начинается глобальная переменная. Он хранит данные о сессиях.
Объявление переменной
Было бы полезно, если бы вы определили какую-либо переменную до ее использования в пакете или процессе. Переменная замены области памяти объявляется с помощью команды DECLARE. Переменная может быть использована только после того, как она была объявлена в последующем шаге пакета или процедуры.
Синтаксис TSQL для объявления переменной выглядит следующим образом:
DECLARE { @LOCAL_VARIABLE[AS] data_type [= значение] }
Программист также может определить значение определенной переменной:
- В процессе объявления переменной с ключевым словом DECLARE
- Использование набора
- Использование ВЫБОР
Почему типы данных важны в SQL?
Тип данных является одним из основных компонентов любого языка программирования, будь то язык программирования, такой как C, или язык обработки данных, такой как SQL. На самом деле SQL поддерживает более 30 типов данных, которые могут хранить различные формы фактических данных. Было бы лучше, если бы вы хорошо разбирались в различных типах данных SQL, прежде чем приступить к работе с данными.
Типы информации, которая может храниться в объектах базы данных, таких как таблицы, определяются типами данных SQL. У каждого столбца в таблице есть имя и тип данных, и у каждой таблицы есть столбцы. Они составляют основу любого языка, поскольку вы не можете манипулировать данными, не используя их.
Вы должны знать, что не все типы данных поддерживаются системами баз данных. Поэтому вы должны проверить, прежде чем использовать какой-либо конкретный тип данных. Например, вы не можете использовать DateTime в Oracle, так как он не поддерживает этот тип данных.
Точно так же MySQL не использует Unicode в качестве типа данных. Вы можете использовать дополнительные типы данных, которые есть в некоторых базах данных. Например, «деньги» и «маленькие деньги» в Microsoft SQL Server могут быть заменены на «плавающие» и «реальные», но эти термины зависят от базы данных и отсутствуют в других системах баз данных. Иногда в некоторых базах данных упоминаются определенные типы данных, имеющие разные имена. Oracle, например, называет «десятичное число» «числом», а «блоб» — «необработанным».
Могут ли несколько таблиц иметь один и тот же первичный ключ?
Да. В нескольких таблицах первичный ключ может иметь одно и то же имя столбца. Внутри таблицы имена столбцов должны быть разными. Поскольку он определяет целостность сущностей, таблица может содержать только один первичный ключ. Каждая таблица может содержать первичный ключ, но это не обязательно. Никакие две строки не могут иметь один и тот же первичный ключ благодаря столбцу или столбцам, назначенным в качестве первичного ключа. Первичный ключ одной таблицы может использоваться для идентификации записей другой таблицы и быть частью первичного ключа второй.
Как использовать «упорядочить по» для первичного ключа?
Команду ORDER BY можно использовать для сортировки результирующего набора. Это может быть как в порядке возрастания, так и в порядке убывания. Записи обычно сортируются по ключевому слову ORDER BY в порядке возрастания. Вы можете использовать ключевое слово DESC, чтобы упорядочить записи в порядке убывания.
Синтаксис заказа выглядит так:
ВЫБЕРИТЕ столбец_1, столбец_2,...
ОТ имя_таблицы
ORDER BY столбец_1, столбец_2, ... ASC|DESC;
Например, предположим, что есть таблица Users; вы можете отсортировать его в порядке возрастания или убывания в зависимости от города пользователей.
ВЫБЕРИТЕ * ОТ пользователей
ЗАКАЗАТЬ ПО ГОРОДУ;
Чтобы отсортировать то же самое в порядке убывания:
ВЫБЕРИТЕ * ОТ пользователей
ЗАКАЗАТЬ ПО ГОРОДУ DESC;
ORDER BY по первичному ключу
Просто используйте ORDER BY, как обычно, для имени первичного ключа, например "RollID":
SELECT * FROM my_table WHERE col_1 < 5 ORDER BY RollID;
Оптимизатор запросов может решить использовать или не использовать структуру индекса первичного ключа для анализа сортировки, а не выполнять активную сортировку набора результатов запроса для обработки ORDER BY на основе того, как он решает оценить запрос.
Большинство запросов к одной таблице без предложения ORDER BY будут возвращать результаты в порядке первичного ключа, поскольку MySQL InnoDB хранит таблицы в том порядке, в котором они приближаются к собственному порядку первичного ключа. Однако вы по-прежнему можете использовать ORDER BY, если ваше приложение действительно требует упорядочения первичного ключа.
Нет разработки кода
Методология разработки без кода является одним из основных факторов, способствующих демократизации кодирования. В наши дни все больше людей имеют доступ к компьютерам в принципе, не зная программирования. Это облегчает создание адаптивных веб-сайтов, а также мобильных приложений.
AppMaster может помочь вам автоматически генерировать исходный код. Код всегда доступен для просмотра и проверки. У вас есть возможность изменить детали проекта с помощью языка программирования с помощью AppMaster. Мы также предоставляем пользователям возможность экспортировать код. Это обещание, что программное обеспечение, которое вы разрабатываете с помощью AppMaster, находится полностью под вашим контролем и собственностью.
Вывод
У SQL есть несколько приложений, которые делают его очень привлекательным. Создание сценариев интеграции данных, проектирование и выполнение аналитических запросов, а также доступ к подмножествам данных из базы данных для понимания и обработки транзакций — вот некоторые из его наиболее важных целей. Его также можно использовать для вставки, изменения и удаления строк и столбцов данных в базе данных.
Прежде чем углубляться в SQL, нам нужно ознакомиться с его основными командами и синтаксисом. Изучив приведенную выше статью, мы можем узнать больше об основных операторах, используемых в SQL, таких как CREATE TABLE, INSERT INTO, SELECT и других.