Database
 sql >> база данни >  >> RDS >> Database

SQL урок:Решение на едно място за изучаване на SQL

На днешния пазар, където около 2,5 Quintillion байта данни се генерират всеки ден, е много важно да се разбере как да се работи с такова огромно количество данни. Е, тук се появяват структурираният език за заявки или SQL. И така, в тази статия за урока по SQL ще обсъдя следните важни концепции, които са задължителни, за да станете администратор на база данни.

  • Въведение в SQL
    1. Какво е SQL?
    2. Приложения на SQL
    3. Типове данни на SQL
    4. SQL оператори
  • Водещи SQL команди
    1. СЪЗДАВАНЕ
    2. ИЗПУСКАНЕ
    3. ПРОМЕНЯ
    4. ОСКЪЗЯВАНЕ
    5. ОБЯСНИ
    6. ВМЪКНЕТЕ В
    7. АКТУАЛИЗИРАНЕ
    8. ИЗБЕРЕТЕ
    9. Харесвам
    10. ПРЕДОСТАВЯ
  • Ключове в базата данни
  • SQL ограничения
  • Нормализация
  • SQL присъединявания
  • Прегледи

Урок за SQL:Въведение в SQL

Какво е SQL?

Разработен от Доналд Д. Чембърлин през 70-те години на миналия век, Structured Query Language или най-често известен като SQL е един от най-популярните езици, използвани за манипулиране, съхраняване, актуализиране и извличане на данни от релационна база данни. SQL се състои от различни команди, разделени в 4 категории, т.е. DDL, DML, DCL и TCL за игра с данни в бази данни. Също така, релационни бази данни като MySQL бази данни, Oracle, MS SQL Server, Sybase и т.н. използват SQL за промяна на данни.

Приложения на SQL

Приложенията на SQL са както следва:

  • С SQL можете да създавате и пускате таблици и бази данни.
  • Позволява на потребителите да дефинират и манипулират данни в бази данни.
  • SQL позволява на потребителите да осъществяват достъп, променят и описват данни в RDBMS.
  • С SQL можете да задавате разрешения за таблици, изгледи и процедури и да предоставяте специфични разрешения на различни потребители.
  • SQL ви позволява да вграждате в други езици с помощта на SQL библиотеки и модули.

Сега, когато знаете основите на SQL, следващият в този урок за SQL, нека разберем какви са различните типове SQL данни.

Типове данни на SQL

Типове данни в SQL са разделени в следните категории:

  • Числови – Типовете числови данни позволяват както цели числа със знак, така и без знак. Те могат допълнително да бъдат разделени на точни и приблизителни типове данни, където точните позволяват цели числа под формата на цели числа, а приблизителните позволяват плаващи цели числа.
  • Символен низ – Този тип данни позволява знаци с фиксирана и променлива дължина. Този тип данни също може да бъде допълнително категоризиран в Unicode знаци, които позволяват фиксирана и променлива дължина на Unicode знаци.
  • Двоично – Типовете двоични данни позволяват данните да се съхраняват във формат на двоични стойности с фиксирана и променлива дължина.
  • Дата и час – Този тип данни позволява данните да се съхраняват в различни формати на дата и час.
  • Други – Този раздел от типове данни съдържа типове данни като таблица, XML, курсор, уникален идентификатор и sql_variant.

Ако искате да получите подробно разбиране за различните типове SQL данни, можете да се обърнете към подробно ръководство за SQL типове данни.

SQL оператори

Операторите са конструкциите, които могат да манипулират стойностите на операндите. Помислете за израза 4 + 6 =10, тук 4 и 6 са операнди, а + се нарича оператор.

SQL поддържа следните типове оператори:

  • Аритметични оператори
  • Побитови оператори
  • Оператори за сравнение
  • Съставни оператори
  • Логически оператори

За да знаете различните оператори, поддържани от SQL, по подробен начин, можете да щракнете тук. И така, сега, когато знаете какво е SQL и неговите основи, нека разберем основните команди или изрази в SQL.

Урок за SQL:Най-добри SQL команди

SQL се състои от различни команди или изрази за добавяне, модифициране, изтриване или актуализиране на данни в базата данни. В тази статия за урок за SQL ще обсъдим следните твърдения:

    1. СЪЗДАВАНЕ
    2. ИЗПУСКАНЕ
    3. ПРОМЕНЯ
    4. ОСКЪЗЯВАНЕ
    5. ОБЯСНИ
    6. ВМЪКНЕТЕ В
    7. АКТУАЛИЗИРАНЕ
    8. ИЗБЕРЕТЕ
    9. Харесвам
    10. ПРЕДОСТАВЯ

В този урок за SQL ще разгледам базата данни по-долу като пример, за да ви покажа как да пишете заявки с помощта на тези SQL команди.

CustomerID Име на клиента PhoneNumber Адрес Град Държава
1 Саймън 9876543210 Donald Street 52 Хайдарабад Индия
2 Акаш 9955449922 Куинс Роуд 74 Мумбай Индия
3 Патрик 9955888220 Копринена дъска 82 Делхи Индия
4 Sameer 9647974327 IG Road 19 Хайдарабад Индия
5 Джон 9674325689 Пътен блок на бригада 9 Бангалор Индия

СЪЗДАВАНЕ

Изразът CREATE се използва за създаване на таблица, изглед или база данни по следния начин:

СЪЗДАВАНЕ НА БАЗА ДАННИ

Използва се за създаване на база данни.

Синтаксис

CREATE DATABASE DatabaseName;

Пример

 
CREATE DATABASE CustomerInfo; 

СЪЗДАВАНЕ НА ТАБЛИЦА

Този израз се използва за създаване на таблица.

Синтаксис

CREATE TABLE TableName (
Column1 data type,
Column2 data type,
....

ColumnN data type
);

Пример

 
CREATE TABLE Customers
(
CustomerID int,
CustomerName varchar(255),
PhoneNumber int,
Address varchar(255),
City varchar(255),
Country varchar(255)
);

СЪЗДАВАНЕ НА ИЗГЛЕД

Използва се за създаване на изглед.

Синтаксис

CREATE VIEW OR REPLACE ViewName AS
SELECT Column1, Column2, ..., ColumnN
FROM TableName
WHERE Condition;

Пример

CREATE VIEW OR REPLACE HydCustomers AS
SELECT CustomerName, PhoneNumber
FROM Customers
WHERE City = "Hyderabad";

Забележка: Преди да започнете да създавате таблица и да въвеждате стойности, трябва да използвате базата данни, като използвате оператора USE като [USE CustomersInfo; ]

ИЗПУСКАНЕ

Изразът DROP се използва за премахване на съществуваща таблица, изглед или база данни.

ИЗПУСКАНЕ БАЗА ДАННИ

Използва се за премахване на базата данни. Когато използвате това изявление, пълната информация в базата данни ще бъде загубена.

Синтаксис

DROP DATABASE DatabaseName;

Пример

DROP DATABASE CustomerInfo;

ИЗПУСКАНЕ ТАБЛИЦА

Използва се за пускане на таблицата. Когато използвате това изявление, пълната информация в таблицата ще бъде загубена.

Синтаксис

DROP TABLE TableName;

Пример

DROP TABLE Customers;

ОТПУСКАНЕ ИЗГЛЕД

Използва се за пускане на изгледа. Когато използвате това изявление, пълната информация, присъстваща в изгледа, ще бъде загубена.

Синтаксис

DROP VIEW ViewName;

Пример

DROP VIEW HydCustomers;

ПРОМЕНИ

Изразът ALTER се използва за добавяне, изтриване или промяна на ограничения или колони в съществуваща таблица.

ТАБЛИЦА ЗА ПРОМЕНИ

Изразът ALTER се използва за изтриване, добавяне, промяна на колони в съществуваща таблица. Можете да използвате ALTER TABLE с колона ADD/DROP, за да добавите или пуснете колона в таблицата. Освен това, можете също да ПРОМЕНЯТЕ/МОДИФИРАТЕ конкретна колона.

Синтаксис

ALTER TABLE TableName
ADD ColumnName Data Type;
ALTER TABLE TableName
DROP COLUMN ColumnName;

ALTER TABLE TableName
ALTER COLUMN ColumnName Data Type;

Пример

--ADD Column Gender:
 ALTER TABLE Customers
ADD  Gender varchar(255);
 
--DROP Column Gender: 
ALTER TABLE Customers
DROP COLUMN Gender ;

--Add a column DOB and change the data type from Date to Year.
 
ALTER TABLE DOB
ADD DOB date;
 
ALTER TABLE DOB
ALTER DOB year;

ОТСЪРЗВАНЕ

Изразът TRUNCATE се използва за изтриване на информацията, присъстваща в таблицата, но не и самата таблица. Така че, след като използвате тази команда, вашата информация ще бъде загубена, но не и таблицата ще продължи да присъства в базата данни.

Синтаксис

TRUNCATE TABLE TableName;

Пример

TRUNCATE Table Customers;

ОБЯСНИ

Изразите EXPLAIN и DESCRIBE са синоними, използвани за получаване на план за изпълнение на заявка и съответно информация за структура на таблица. Този израз може да се използва с изрази INSERT , DELETE, SELECT, UPDATE и REPLACE.

Синтаксис

--Syntax for DESCRIBE
DESCRIBE TableName;

--Sample syntax for EXPLAIN
EXPLAIN ANALYZE SELECT * FROM TableName1 JOIN TableName2 ON (TableName1.ColumnName1 = TableName2.ColumnName2);

Пример

DESCRIBE Customers;

EXPLAIN ANALYZE SELECT * FROM Customers1 JOIN Orders ON (Customers.CustomerID = Orders.CustomerID);

ВМЪКНЕТЕ В

Изразът INSERT INTO се използва за вмъкване на нови записи в таблица.

Синтаксис

INSERT INTO TableName (Column1, Column2, Column3, ...,ColumnN)
VALUES (value1, value2, value3, ...);

--If you do not want to mention the column names then use the below syntax, but the order of values entered should match the column data types :

INSERT INTO TableName
VALUES (Value1, Value2, Value3, ...);

Пример

INSERT INTO Customers(CustomerID, CustomerName, PhoneNumber, Address, City, Country)
VALUES ('06', 'Sanjana', '9654323491', 'Oxford Street House No 10', 'Bengaluru', 'India');
 
INSERT INTO Customers
VALUES ('07', 'Himani','9858018368', 'Nice Road 42', 'Kolkata', 'India');

АКТУАЛИЗИРАНЕ

Изразът UPDATE се използва за промяна на записите, които вече присъстват в таблицата.

Синтаксис

UPDATE TableName
SET Column1 = Value1, Column2 = Value2, ...
WHERE Condition;

Пример

UPDATE Customers
SET CustomerName = 'Aisha', City= 'Kolkata'
WHERE EmployeeID = 2;

ИЗБЕРЕТЕ

Изразът SELECT се използва за избор на данни от база данни и съхраняването им в таблица с резултати, наречена набор с резултати .

Синтаксис

SELECT Column1, Column2, ...ColumN
FROM TableName;

--(*) is used to select all from the table
SELECT * FROM table_name;

-- To select the number of records to return use:
SELECT TOP 3 * FROM TableName;

Пример

SELECT CustomerID, CustomerName
FROM Customers;
 
--(*) is used to select all from the table
SELECT * FROM Customers;
 
-- To select the number of records to return use:
SELECT TOP 3 * FROM Customers;

Освен това можете да използвате ключовата дума SELECT с DISTINCT, ORDER BY, GROUP BY, клауза HAVING и INTO.

Харесвам

Този оператор се използва с клауза WHERE за търсене на определен шаблон в колона на таблица. Има основно два заместващи знака, които се използват във връзка с оператора LIKE:

  • % – Съвпада с 0 или повече знака.
  • _ – Съвпада точно с един знак.

Синтаксис

SELECT ColumnName(s)
FROM TableName
WHERE ColumnName LIKE pattern;

Пример

SELECT * FROM Customers
WHERE CustomerName LIKE 'S%';

ПРЕДОСТАВЯ

Командата GRANT се използва за предоставяне на привилегии или достъп до базата данни и нейните обекти на потребителите.

Синтаксис

GRANT PrivilegeName
ON ObjectName
TO {UserName |PUBLIC |RoleName}
[WITH GRANT OPTION];

къде,

  • PrivilegeName – Привилегиите/правата/достъпът, предоставени на потребителя.
  • Име на обект – Име на обект от база данни като TABLE/VIEW/STORED PROC.
  • Потребителско име – Име на потребителя, на когото са дадени достъп/права/привилегии.
  • ПУБЛИЧЕН – Да предостави права за достъп на всички потребители.
  • Име на роля – Името на набор от привилегии, групирани заедно.
  • С ОПЦИЯ ЗА ПРЕДОСТАВЯНЕ – Да се ​​даде на потребителя достъп за предоставяне на други потребители с права.

Пример

-- To grant SELECT permission to Customers table to admin
GRANT SELECT ON Customers TO admin;

Сега, когато знаете най-добрите SQL команди, нека разберем какви са различните типове ключове, използвани в базата данни. Е, тази концепция ще ви помогне да разберете как всяка таблица е свързана с другата таблица в система за управление на релационна база данни.

Урок за SQL:Ключове

Следват 7-те типа ключове, които могат да се разглеждат в база данни:

  • Кандидат ключ – Набор от атрибути, които могат уникално да идентифицират таблица, може да се нарече кандидат-ключ. Една таблица може да има повече от един кандидат ключове и от избраните кандидат ключове един ключ може да бъде избран като първичен ключ.
  • Супер ключ – Наборът от атрибути, които могат уникално да идентифицират кортеж, е известен като Супер ключ. И така, кандидат ключ, първичен ключ и уникален ключ е суперключ, но обратното не е вярно.
  • Първичен ключ – Набор от атрибути, които се използват за уникално идентифициране на всеки кортеж, също е първичен ключ.
  • Алтернативен ключ – Алтернативните ключове са кандидат-ключовете, които не са избрани като първичен ключ.
  • Уникален ключ – Уникалният ключ е подобен на първичния ключ, но позволява една стойност NULL в колоната.
  • Външен ключ – Атрибут, който може да приеме само наличните стойности като стойности на някой друг атрибут, е външният ключ към атрибута, към който се отнася.
  • Съставен ключ – Съставният ключ е комбинация от две или повече колони, които идентифицират всеки кортеж уникално.

Надявам се, че сте разбрали различните типове ключове в базата данни, следващата в тази статия за урок за SQL, нека обсъдим ограниченията в базата данни. Е, SQL ограниченията се използват за повишаване на точността и надеждността на данните, които влизат в базата данни чрез таблица.

Урок за SQL: Ограничения

Ограниченията на SQL гарантират, че няма нарушение по отношение на транзакция с данни, ако бъдат открити, тогава действието ще бъде прекратено. Основното използване на следните ограничения е да се ограничи типа данни, които могат да влязат в таблица.

  • НЕ NULL – Това ограничение се използва, за да се гарантира, че колона не може да съхранява стойност NULL.
  • УНИКАЛНО – Ограничението UNIQUE се използва, за да се гарантира, че всички стойности, въведени в колона или таблица, са уникални.
  • ПРОВЕРИ – Това ограничение се използва, за да се гарантира, че една колона или няколко колони отговарят на определено условие.
  • ПО ПОДРАЗБИРАНЕ – Ограничението DEFAULT се използва за задаване на стойност по подразбиране за колона, ако не е посочена стойност.
  • ИНДЕКС – Това ограничение се използва за индекси в таблицата, чрез които можете да създавате и извличате данни от базата данни много бързо.

Ако искате да знаете за следните ограничения в дълбочина със синтаксис и примери, можете да се обърнете към други статии за SQL. И така, сега, когато сте за ключовете и ограниченията в базата данни, следващата в тази статия за урок за SQL, нека да разгледаме една интересна концепция за нормализиране.

Урок за SQL:Нормализиране

Нормализацията е процесът на организиране на данни с цел избягване на дублиране и излишък. Има много последователни нива на нормализиране и те се наричат ​​нормални форми . Също така, всяка поредна нормална форма зависи от предишната. Следните са наличните нормални форми:

За да разберем горните нормални форми, нека разгледаме следната таблица:

Като наблюдавате горната таблица, можете ясно да разберете излишъка на данните и дублирането на данните. И така, нека нормализираме тази таблица. За да започнете да нормализирате базите данни, винаги трябва да започнете с най-ниската нормална форма, т.е. 1NF, и след това да преминете към по-високите нормални форми в крайна сметка.

Сега нека видим как можем да изпълним първата нормална форма за горната таблица.

Първа нормална форма (1NF)

За да сте сигурни, че базата данни трябва да е в 1NF , всяка клетка на таблицата трябва да има една стойност. Така че по принцип всички записи трябва да са уникални . Таблицата по-горе ще бъде нормализирана в 1NF, както следва:

Ако наблюдавате в таблицата по-горе, всички записи са уникални. Но все пак има много излишни данни и дублиране. Така че, за да избегнем това, нека нормализираме базата данни във втора нормална форма.

Втора нормална форма (2NF)

За да сте сигурни, че базата данни трябва да е в 2NF , базата данни трябва да е 1NF и също така трябва дада има първичен ключ от една колона . Таблицата по-горе ще бъде нормализирана в 2NF, както следва:

Ако спазвате горните таблици, всяка таблица има първичен ключ от една колона. Но има много излишни данни и дублиране на няколко колони. За да избегнем това, нека нормализираме базата данни в трета нормална форма.

Трета нормална форма (3NF)

За да сте сигурни, че базата данни трябва да е в 3NF , базата данни трябва да е във 2NF и не трябва да има никакви преходни функционални зависимости . Горните таблици ще бъдат нормализирани в 3NF, както следва:

Ако спазвате горните таблици, базата данни няма никаква преходна зависимост. Така че след тази стъпка не е нужно да нормализираме допълнително нашата база данни. Но ако видите някакви аномалии или повече от един кандидат ключ, тогава можете да продължите напред със следващата по-висока нормална форма, т.е. BCNF.

Нормална форма на Бойс-Код (BCNF)

За да сте сигурни, че базата данни трябва да е в BCNF, базата данни трябва да присъства в 3NF и таблиците трябва да бъдат разделени допълнително, за да се уверите, че присъства само един кандидат ключ.

С това стигаме до края на нормализирането. Сега, следващият в този урок за SQL, нека обсъдим важна концепция в SQL, която е Joins.

Урок за SQL:Присъединяване

Съединяванията се използват за комбиниране на редове от две или повече таблици въз основа на свързана колона между тези таблици, а също и при няколко условия. Има основно четири типа съединения:

  • INNER JOIN: Това обединяване връща онези записи, които имат съвпадащи стойности и в двете таблици.
  • ПЪЛНО ПРИСЪЕДИНЕНЕ: FULL JOIN връща всички онези записи, които имат съвпадение в лявата или дясната таблица.
  • ЛЯВО ПРИСЪЕДИНЯВАНЕ: Това обединяване връща записи от лявата таблица, както и онези записи, които отговарят на условието от дясната таблица.
  • ДЯСНО ПРИСЪЕДИНЕНЕ: Това обединяване връща записи от дясната таблица, както и онези записи, които отговарят на условието от лявата таблица.

И така, това беше кратко описание на JOINS, но ако искате подробно описание на JOINS с подробен пример, можете да се обърнете към моята статия за SQL JOINS. След това, в този урок за SQL, нека обсъдим последната концепция за тази статия, т.е. изгледи.

Урок за SQL:Изгледи

Изгледът в SQL е една таблица, която е извлечена от други таблици. Изгледът съдържа редове и колони, подобни на реална таблица и има полета от една или повече таблици. Вижте изображението по-долу:

За да разберете как да създадете и пуснете изглед, можете да се обърнете към изразите CREATE и DROP, споменати по-горе. С това стигаме до края на тази статия за урок за SQL. Надявам се, че сте намерили тази статия за информативна. Освен това, ако се подготвяте за интервюта с администратор на база данни и търсите изчерпателен списък с въпроси, можете да се обърнете към нашата статия за SQL въпроси за интервю.

Ако искате да научите повече за MySQL и да опознаете тази релационна база данни с отворен код, разгледайте нашето обучение за сертифициране на MySQL DBA, което идва с обучение на живо от инструктор и реално - житейски опит с проекти. Това обучение ще ви помогне да разберете MySQL в дълбочина и ще ви помогне да постигнете майсторство по темата.

Имате въпрос към нас? Моля, споменете го в секцията за коментари на този урок по SQL и ние ще се свържем с вас.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Хекатон с обрат:TVP в паметта – част 3

  2. 50 нюанса на NULL – Различните значения на NULL в SQL

  3. T-SQL грешки, клопки и най-добри практики – подзаявки

  4. За последен път, НЕ, не можете да се доверите на IDENT_CURRENT()

  5. Как да групирате по година в SQL