Введение в таблицу в SQL
В системе управления реляционной базой данных таблица используется для эффективного и действенного хранения данных, чтобы при необходимости их можно было легко найти. Таблица представляет собой набор связанных данных, и данные расположены в строках и столбцах. Кортеж или запись в таблице - это отдельная запись, где кортеж представляет собой набор связанных данных. В таблице в SQL первичный ключ используется для уникальной идентификации записей, тогда как внешний ключ используется для ссылки на данные из другой таблицы.
Как создать таблицу в SQL?
Синтаксис для создания таблицы такой:
CREATE TABLE table_name (
COLUMN1 datatype PRIMARY KEY,
COLUMN2 datatype,
COLUMN3 datatype,
……
);
Давайте создадим таблицу «СТУДЕНТЫ», как показано ниже:
CREATE TABLE STUDENTS (
ROLL INT PRIMARY KEY,
NAME VARCHAR (50),
AGE INT,
SUBJECT VARCHAR (50)
);
Мы можем вставить значения в таблицу «СТУДЕНТЫ», как показано ниже:
INSERT INTO STUDENTS VALUES (8, 'Ram', 12, 'ENG');
INSERT INTO STUDENTS VALUES (11, 'Priya', 11, 'MATH');
INSERT INTO STUDENTS VALUES (9, 'Rahul', 10, 'SCIENCE');
После вставки данных мы можем видеть данные, вставленные в таблицу, как показано ниже:
SELECT * FROM STUDENTS;
РУЛОН | ИМЯ | ВОЗРАСТ | ПРЕДМЕТ |
8 | ОЗУ | 12 | АНГЛИЙСКИЙ |
11 | Priya | 11 | МАТЕМАТИКА |
9 | Рахул | 10 | НАУКА |
Как удалить таблицу в SQL?
Синтаксис для удаления таблицы следующий:
DROP TABLE table_name;
DROP TABLE STUDENTS;
Приведенный выше запрос удалит таблицу 'STUDENTS', т.е. данные и определение таблицы для таблицы будут удалены. Поэтому мы должны быть осторожны перед выполнением оператора удаления, поскольку вся информация, связанная с таблицей, будет удалена из базы данных.
Как удалить таблицу в SQL?
Когда мы используем оператор DELETE без предложения WHERE, все строки таблицы должны быть удалены, но структура таблицы останется прежней. Синтаксис для того же, что и ниже:
DELETE FROM table_name;
Оператор delete используется в SQL для удаления записей, которые существуют в таблице в настоящее время. Всякий раз, когда возникает требование, и мы не хотим определенных записей, оператор удаления используется вместе с предложением Где, чтобы удалить эти записи. Синтаксис для того же, что и ниже:
DELETE FROM table_name WHERE (condition);
DELETE FROM STUDENTS WHERE SUBJECT= 'MATH';
Приведенный выше запрос даст следующий результат:
РУЛОН | ИМЯ | ВОЗРАСТ | ПРЕДМЕТ |
8 | ОЗУ | 12 | АНГЛИЙСКИЙ |
9 | Рахул | 10 | НАУКА |
Как переименовать таблицу в SQL?
Так получилось, что через некоторое время после того, как мы создали таблицу, мы хотим переименовать ее. Инструкция ALTER TABLE используется для переименования таблицы.
ALTER TABLE table_name RENAME TO table_name_new;
Если мы хотим изменить имя таблицы «STUDENTS», это можно сделать, как показано ниже.
ALTER TABLE STUDENTS RENAME TO STUDENT_NEW;
Как усечь таблицу в SQL?
Когда возникает необходимость удалить данные внутри таблицы, а структура таблицы, такая как столбцы и т. Д., Должна оставаться такой, как есть, мы можем использовать оператор TRUNCATE, который удаляет только данные из таблицы, но не таблицы.
Синтаксис для использования инструкции TRUNCATE такой:
TRUNCATE TABLE table_name;
TRUNCATE TABLE STUDENTS;
Приведенный выше запрос удалит данные из таблицы «СТУДЕНТЫ». Таблица будет выглядеть так, как показано ниже после операции TRUNCATE:
SELECT * FROM STUDENTS;
РУЛОН | ИМЯ | ВОЗРАСТ | ПРЕДМЕТ |
Также, другими словами, мы можем сказать, что оператор TRUNCATE выполняет ту же операцию, которую можно выполнить с помощью оператора DELETE, но без использования предложения WHERE.
Преимущество использования оператора TRUNCATE состоит в том, что нам не нужно удалять таблицу и заново создавать таблицу. Кроме того, это эффективный способ очистки записей из таблицы в тех случаях, когда нам не нужно беспокоиться об откате.
Как изменить таблицу в SQL?
Мы используем оператор таблицы ALTER для изменения столбцов, которые существуют в таблицах в настоящее время. Также с этим же оператором мы можем удалить или добавить различные ограничения на таблицу.
Ниже приведен синтаксис добавления нового столбца в существующую таблицу:
ALTER TABLE table_name ADD (column_name1 datatype, column_name2 datatype… column datatype);
Давайте добавим еще один столбец «АДРЕС» к существующей таблице «СТУДЕНТЫ».
ALTER TABLE STUDENTS ADD ADDRESS VARCHAR (50);
SELECT * FROM STUDENTS;
РУЛОН | ИМЯ | ВОЗРАСТ | ПРЕДМЕТ | АДРЕС |
8 | ОЗУ | 12 | АНГЛИЙСКИЙ | |
11 | Priya | 11 | МАТЕМАТИКА | |
9 | Рахул | 10 | НАУКА |
В приведенном выше запросе столбец ADDRESS добавляется в таблицу.
Если мы хотим удалить столбец, это можно сделать с помощью следующего синтаксиса:
ALTER TABLE table_name DROP COLUMN column_name;
Давайте посмотрим на приведенный ниже пример, опустив столбец ADDRESS.
ALTER TABLE table_name DROP COLUMN ADDRESS;
Приведенный выше запрос даст следующий результат.
РУЛОН | ИМЯ | ВОЗРАСТ | ПРЕДМЕТ |
8 | ОЗУ | 12 | АНГЛИЙСКИЙ |
11 | Priya | 11 | МАТЕМАТИКА |
9 | Рахул | 10 | НАУКА |
Здесь мы видим, что таблица изменена, так как столбец ADDRESS теперь удален из таблицы 'STUDENTS'.
С помощью оператора ALTER мы можем изменить один или несколько столбцов одновременно.
Синтаксис для изменения столбца приведен ниже.
ALTER TABLE STUDENTS MODIFY column_name datatype;
ALTER TABLE STUDENTS MODIFY SUBJECT VARCHAR (30);
Как получить данные из таблицы в SQL?
В SQL оператор SELECT используется в качестве одного из гибких механизмов для извлечения данных из таблиц в базах данных. Синтаксис запроса с помощью SELECT выглядит следующим образом:
SELECT column1, column2… FROM table_name;
В приведенном выше запросе нам нужно поместить столбцы, для которых мы хотим получить данные из таблицы. В случае, если мы хотим получить данные для всех столбцов или данные всей таблицы, мы можем сделать это, используя следующий синтаксис:
SELECT * FROM table_name;
SELECT * FROM STUDENTS;
РУЛОН | ИМЯ | ВОЗРАСТ | ПРЕДМЕТ |
8 | ОЗУ | 12 | АНГЛИЙСКИЙ |
11 | Priya | 11 | МАТЕМАТИКА |
9 | Рахул | 10 | НАУКА |
При этом использование подстановочного знака - '*' будет извлекать все строки и столбцы таблицы 'STUDENTS'. Это простейшая форма оператора SELECT. Однако, если возникает требование, когда нам нужно ограничить выборку данных в соответствии с несколькими конкретными условиями, тогда нам нужно использовать предложение WHERE. Синтаксис для этого, как показано ниже:
SELECT column1, column2…
FROM table_name
WHERE (condition);
Давайте посмотрим, как получить данные с указанным условием, используя вышеуказанный запрос. Предположим, мы хотим выбрать из таблицы «СТУДЕНТЫ» ученик с РОЛЛОМ и ПРЕДМЕТОМ, чей возраст превышает 10 лет.
SELECT ROLL, SUBJECT FROM STUDENTS WHERE AGE > 10;
Приведенный выше запрос ограничит результаты только для тех студентов, возраст которых превышает 10 лет. Здесь предложение WHERE ограничит результат запроса указанным условием.
РУЛОН | ИМЯ | ВОЗРАСТ | ПРЕДМЕТ |
8 | ОЗУ | 12 | АНГЛИЙСКИЙ |
11 | Priya | 11 | МАТЕМАТИКА |
Как скопировать таблицу в SQL?
Мы можем скопировать данные из одной таблицы в другую, используя операторы SELECT INTO или INSERT INTO. При использовании оператора SELECT INTO для базы данных необязательно иметь целевую таблицу, в которую будут скопированы данные. Но в случае использования оператора INSERT INTO таблица назначения, в которую будут копироваться данные, должна существовать в базе данных.
SELECT * INTO table_new FROM table_old;
Приведенный выше запрос скопирует все столбцы из table_old в table_new.
Также, если мы хотим скопировать только несколько столбцов из одной таблицы в другую, мы можем использовать следующий синтаксис:
SELECT column1, column2… INTO table_new FROM table_old;
Давайте возьмем пример, где мы хотим скопировать данные из таблицы в другую таблицу 'STUDENT_DETAILS', и это можно выполнить, как показано ниже:
SELECT * INTO STUDENT_DETAILS FROM STUDENTS;
Другая таблица 'STUDENT_DETAILS' должна быть создана, как показано ниже:
РУЛОН | ИМЯ | ВОЗРАСТ | ПРЕДМЕТ |
8 | ОЗУ | 12 | АНГЛИЙСКИЙ |
11 | Priya | 11 | МАТЕМАТИКА |
9 | Рахул | 10 | НАУКА |
Синтаксис для копирования данных с использованием инструкции INSERT INTO следующий:
INSERT INTO table_new(column1, column2… )
SELECT column1, column2… FROM table_old WHERE (condition);
Как уже говорилось выше, для оператора INSERT INTO требуется наличие целевой таблицы, сначала нам нужно создать структуру целевой таблицы в базе данных. После создания структуры таблицы STUDENT_DETAILS мы перейдем к следующему запросу.
INSERT INTO STUDENT_DETAILS (ROLL, NAME, AGE)
SELECT ROLL, NAME, AGE FROM STUDENTS
WHERE SUBJECT = 'SCIENCE';
Приведенный выше запрос даст следующий результат:
РУЛОН | ИМЯ | ВОЗРАСТ | ПРЕДМЕТ |
9 | Рахул | 10 | НАУКА |
Следует помнить, что при использовании оператора INSERT INTO типы данных столбцов в исходной и целевой таблицах должны совпадать.
Вывод
В RDBMS таблицы обеспечивают хранение, извлечение, обслуживание и манипулирование данными наиболее эффективным способом. Используя различные команды, мы можем упорядочивать и обрабатывать данные в соответствии с требованиями бизнеса. Проектировщик / разработчик должен увидеть гибкость различных команд и операций, чтобы выбрать наилучший вариант для своих проектов и реализаций.
Рекомендуемые статьи
Это руководство к таблице в SQL. Здесь мы обсуждаем Введение и Как создавать, отбрасывать, удалять, переименовывать, усекать, изменять, извлекать данные и копировать таблицы в SQL. Вы также можете посмотреть следующие статьи, чтобы узнать больше:
- Внешний ключ в SQL
- Транзакции в SQL
- Представления SQL
- База данных в SQL
- Примеры ВСТАВКИ в Oracle