Въведение в таблицата в 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;
ROLL | ИМЕ | ВЪЗРАСТ | ПРЕДМЕТ |
8 | овен | 12 | АНГЛИЙСКИ |
11 | Priya | 11 | MATH |
9 | Рахул | 10 | НАУКА |
Как да пуснете таблицата в SQL?
Синтаксисът за пускане на таблица е както следва:
DROP TABLE table_name;
DROP TABLE STUDENTS;
Горната заявка ще извади таблицата „СТУДЕНТИ“, т.е. данните и дефиницията на таблицата ще бъдат премахнати. Затова трябва да бъдем внимателни, преди да изпълним оператор за спад, тъй като цялата информация, свързана с таблицата, ще бъде премахната от базата данни.
Как да изтриете таблицата в SQL?
Когато използваме оператора DELETE без клаузата WHERE, всички редове на таблица се изтриват, но структурата на таблицата ще остане същата. Синтаксисът за същото е както по-долу:
DELETE FROM table_name;
Изразът изтриване се използва в SQL за изтриване на записите, които съществуват в таблицата в момента. Всеки път, когато възникне изискването и не желаем определени записи, изтриването се използва заедно с клаузата Where за премахване на тези записи. Синтаксисът за същото е както по-долу:
DELETE FROM table_name WHERE (condition);
DELETE FROM STUDENTS WHERE SUBJECT= 'MATH';
Горната заявка ще даде следния резултат:
ROLL | ИМЕ | ВЪЗРАСТ | ПРЕДМЕТ |
8 | овен | 12 | АНГЛИЙСКИ |
9 | Рахул | 10 | НАУКА |
Как да преименувате таблицата в SQL?
Случва се така, че някъде след като сме създали таблицата, искаме да я преименуваме. Операторът ALTER TABLE се използва за преименуване на таблицата.
ALTER TABLE table_name RENAME TO table_name_new;
Ако искаме да променим името на таблицата „СТУДЕНТИ“, това може да стане както по-долу.
ALTER TABLE STUDENTS RENAME TO STUDENT_NEW;
Как да отрежете таблицата в SQL?
Когато възникне необходимост от изтриване на данните вътре в таблицата и структурата на таблицата, като колони и т.н., трябва да остане такава, каквато е, можем да използваме оператор TRUNCATE, който изтрива данните само от таблицата, но не и от таблицата.
Синтаксисът за използване на оператора TRUNCATE е както следва:
TRUNCATE TABLE table_name;
TRUNCATE TABLE STUDENTS;
Горната заявка ще изтрие данните от таблицата „СТУДЕНТИ“. Таблицата ще изглежда по-долу след операцията TRUNCATE:
SELECT * FROM STUDENTS;
ROLL | ИМЕ | ВЪЗРАСТ | ПРЕДМЕТ |
Освен това, с други думи, можем да кажем, че операторът TRUNCATE извършва същата операция, която може да се извърши с помощта на оператора DELETE, но без използването на клаузата WHERE.
Предимството на използването на оператора TRUNCATE е, че не е необходимо да изпускаме таблицата и да създаваме отново таблицата. Също така, това е ефикасен начин за изчистване на записите от таблицата в такива случаи, когато няма нужда да се притесняваме за отказа.
Как да промените таблицата в SQL?
Използваме оператора на таблицата ALTER, за да модифицираме колоните, които съществуват в таблиците в момента. Също с това същото изявление можем да изпуснем или добавим различни ограничения на масата.
По-долу е синтаксисът за добавяне на нова колона към съществуващата таблица:
ALTER TABLE table_name ADD (column_name1 datatype, column_name2 datatype… column datatype);
Нека добавим още една колона „ADDRESS“ към съществуващата таблица „STUDENTS“.
ALTER TABLE STUDENTS ADD ADDRESS VARCHAR (50);
SELECT * FROM STUDENTS;
ROLL | ИМЕ | ВЪЗРАСТ | ПРЕДМЕТ | АДРЕС |
8 | овен | 12 | АНГЛИЙСКИ | |
11 | Priya | 11 | MATH | |
9 | Рахул | 10 | НАУКА |
В горното запитване, колоната ADDRESS се добавя към таблицата.
Ако искаме да пуснем колона, това може да се направи от синтаксиса по-долу:
ALTER TABLE table_name DROP COLUMN column_name;
Нека видим по-долу примера, като пуснем колоната ADDRESS.
ALTER TABLE table_name DROP COLUMN ADDRESS;
Горната заявка ще даде следния резултат.
ROLL | ИМЕ | ВЪЗРАСТ | ПРЕДМЕТ |
8 | овен | 12 | АНГЛИЙСКИ |
11 | Priya | 11 | MATH |
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;
ROLL | ИМЕ | ВЪЗРАСТ | ПРЕДМЕТ |
8 | овен | 12 | АНГЛИЙСКИ |
11 | Priya | 11 | MATH |
9 | Рахул | 10 | НАУКА |
С това използването на заместващ знак - '*' ще извлече всички редове и колони на таблицата 'СТУДЕНТИ'. Това е най-простата форма на оператора SELECT. Ако обаче възникне изискването там, където трябва да ограничим извличането на данни според няколко конкретни условия, тогава трябва да използваме клаузата WHERE. Синтаксисът за това е както следва:
SELECT column1, column2…
FROM table_name
WHERE (condition);
Нека да видим как да извлечем данните с посоченото условие, използвайки горната заявка. Да предположим, че искаме да изберем ROLL и SUBJECT на ученика, чиято възраст е по-голяма от 10 от таблицата „СТУДЕНТИ“.
SELECT ROLL, SUBJECT FROM STUDENTS WHERE AGE > 10;
Горното запитване ще ограничи резултатите само за тези студенти, чиято възраст е повече от 10 години. Тук клаузата 'WHERE' ще ограничи резултата от заявката до посоченото условие.
ROLL | ИМЕ | ВЪЗРАСТ | ПРЕДМЕТ |
8 | овен | 12 | АНГЛИЙСКИ |
11 | Priya | 11 | MATH |
Как да копирате таблицата в 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“, както е посочено по-долу:
ROLL | ИМЕ | ВЪЗРАСТ | ПРЕДМЕТ |
8 | овен | 12 | АНГЛИЙСКИ |
11 | Priya | 11 | MATH |
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';
Горната заявка ще даде следния резултат:
ROLL | ИМЕ | ВЪЗРАСТ | ПРЕДМЕТ |
9 | Рахул | 10 | НАУКА |
Трябва да го държим в известието, че докато използваме оператора INSERT INTO, типовете данни в колоните в източника и целевите таблици трябва да съвпадат една с друга.
заключение
В RDBMS таблиците правят съхранението, извличането, поддържането и манипулирането на данни по най-ефективен начин. С използването на различни команди можем да подреждаме и манипулираме данните според бизнес изискването. От дизайнера / разработчика зависи да види гъвкавостта на различните команди и операции, за да избере най-доброто за техните проекти и изпълнения.
Препоръчителни статии
Това е ръководство за таблицата в SQL. Тук обсъждаме таблицата Въведение и как да създавате, пускате, изтривате, преименувате, съкращавате, променяте, извличате данни и копирате таблицата в SQL. Можете също да разгледате следните статии, за да научите повече -
- Външен ключ в SQL
- Транзакции в SQL
- SQL изгледи
- База данни в SQL
- Примери за INSERT в Oracle