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

Най-често срещаните MySQL заявки

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

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

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

EmployeeID Име Заглавие
1002 Уебстър У. Изпълнителен директор
1003 Лизи С. Мениджър
1004 Оливър Т. Софтуерен инженер
EmployeeID Отдел Възраст
1002 HR 36
1003 Продажби 21
1004 ИТ 39

ИЗБЕРЕТЕ всички 

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

Код:

SELECT *
FROM Employees;

Резултат:

1002       Webster W.     Executive
1003       Lizzy S.       Manager
1004       Oliver T.      Software Engineer

За да изберете всички налични колони в таблицата, трябва да използвате „*“, за да посочите, че имате нужда от връщане на цялата възможна информация. Второ, посочете ключовата дума FROM, за да получите данни от таблицата на базата данни. И накрая, винаги не забравяйте да завършвате изявлението си с точка и запетая „;“ за да завършите заявката правилно.

ИЗБИРАНЕ на колона

За да получите данни от конкретна колона(и), а не от всичко, просто искате да посочите името на полето, вместо да използвате звездичката(*).

Код:

SELECT Title
FROM Employees;

Резултат:

Title
Executive
Manager
Software Engineer

Когато избирате няколко колони от база данни, те трябва да бъдат разделени със запетая. Така е;

SELECT Title, Name
FROM Employees;

Клауза WHERE

Когато се използва клаузата WHERE в заявка SELECT, записите с данни ще бъдат филтрирани, след което ще бъдат извлечени записите, които отговарят на условието(ята) като резултат.

Код: 

SELECT *
FROM Employees
WHERE EmployeeID = 1004 ;

Резултати: 

1004       Oliver T.          Software Engineer 

Клаузата WHERE може да има повече от едно условие, които могат да бъдат разделени с помощта на ключовата дума AND.

СЪЗДАВАНЕ на таблица 

Тази заявка може да се използва за генериране на нова таблица с предпочитания от вас избор на колони. Когато добавяте имена на колони, не забравяйте да посочите техния тип данни.

Код:

CREATE TABLE EmployeeInfo (

EmployeeId INT,
Department VARCHAR(25),
Age NUMBER

);

Очаквани резултати от таблицата:

EmployeeID
Department
Department
NULL
NULL
NULL

След като изпълните командата CREATE TABLE и я попълните със заглавия на колони, горната заявка създава таблица „EmployeeInfo“ в базата данни. По същество всяка колона ще върне NULL, защото не сме вмъкнали никаква конкретна стойност. Това ни води до следващата ни заявка INSERT INTO.

INSERT INTO Query 

Това е най-често срещаната заявка за вмъкване на стойности в един или повече реда нови записи в таблица. Ние можем да попълним таблицата EmployeeInfo с някои примерни данни;

Код: 

INSERT INTO EmployeeInfo (EmployeeID,Department,Age)
VALUES 
(1002, HR , 46),
(1003, Finance , 28),
(1004, IT , 39);

Резултати от таблицата:

Информация за служителите

EmployeeID
Department
Age
1002
HR
46
1003
Finance
28
1004
IT
39

Когато пишете INSERT INTO заявка, командата VALUES трябва да бъде част от пълния израз.

Заявка за актуализация

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

Информация за служителите

EmployeeID
Department
Age
1002
HR
36
1003
Sales
21
1004
IT
39

Код: 

UPDATE EmployeeInfo
SET Age = 22
WHERE EmployeeID = 1003;

Резултати от таблицата: 

Информация за служителите

EmployeeID
Department
Age
1002
HR
36
1003
Sales
22
1004
IT
39

След командата UPDATE използвайте ключовата дума SET, за да укажете винаги коя колона(и) избирате да промените, след което посочете КЪДЕ се нуждаете от приложените актуализирани данни.

ИЗТРИВАНЕ ОТ заявка

За да премахнете записи от таблица въз основа на едно или няколко условия, ще трябва да използвате израза DELETE FROM. Когато се използват условия, той ограничава броя на редовете, засегнати от заявката.

Код: 

DELETE FROM Employees
WHERE Name = ‘Lizzy’;

Резултати от таблицата:

Служители

EmployeeID
Name
Title
1002
Webster W.
Executive 
1004
Oliver T.
Software Engineer 

Както беше описано по-рано в статията; използването на условието WHERE определя къде точно искате данните да бъдат филтрирани и изпълнени. Тази заявка е да изтрие всеки запис от таблицата на служителите, който съответства на името  „Lizzy“.

Използване на клауза GROUP BY, HAVING 

Клаузата GROUP BY се използва предимно винаги с агрегатни функции. Използването на тази ключова дума ще групира набора от резултати по една или повече колони.

Ключовата дума HAVING се използва за филтриране на този набор от резултати. В идеалния случай бихте си помислили, че вместо това ще бъде въведена клауза WHERE, но клаузата HAVING въвежда условие за агрегирания.

Информация за служителите

EmployeeID
Department
Age
1002
HR
36
1003
Sales
21
1004
IT
39

Код:

SELECT COUNT(Age), EmployeeID
FROM EmployeeInfo
GROUP BY EmployeeID
HAVING COUNT(Age) > 21;

Резултати:

COUNT(Age)  EmployeeID
39   1004
36   1002  

Агрегирани функции (SUM, AVG &COUNT)

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

  • COUNT:връща броя на редовете, които съответстват на определена колона.
  • AVG:  връща средната стойност на колона
  • SUM:връща сбора на всички стойности в избрана колона.

Информация за служителите

ИД на служител Отдел Възраст
1002 HR 36
1003 Продажби 21
1004 ИТ 39

Код за COUNT:

SELECT 
COUNT(Department)
FROM EmployeeInfo;

Резултати:

COUNT(Department):
3

Код за AVG:

SELECT AVG(Age)
FROM EmployeeInfo;

Резултати:

AVG(Age):
32

Код за SUM

SELECT SUM(Age)
FROM EmployeeInfo;

Резултати:

SUM(Age):
96

Присъединява се

Съединенията се използват за обединяване на редове от поне две таблици въз основа на свързана колона между таблиците. Най-често срещаните практически присъединявания са INNER, FULL и LEFT.

  • INNER Join – комбинира редовете от различни таблици, ако условието за присъединяване е вярно.
  • ПЪЛНО присъединяване –  връща всички редове, когато има съвпадение в левия или десния запис на таблицата.
  • LEFT Join – извлича всички редове от лявата таблица и съвпадащите записи от дясната таблица.

Служители – Таблица №1 (вляво)

ИД на служител Име Заглавие
1002 Уебстър У. Изпълнителен директор 
1003 Лизи С. Мениджър
1004 Оливър Т. Софтуерен инженер 

Информация за служителите – Таблица №2 (вдясно)

ИД на служител Отдел Възраст
1002 HR 36
1003 Продажби 21
1004 ИТ 39

ВЪТРЕШНО ПРИСЪЕДИНЕНИЕ Код: 

SELECT Employees.Title, EmployeeInfo.Department
FROM Employees 
INNER JOIN EmployeeInfo 
ON Employees.EmployeeID = Employees.EmployeeID;

Резултати:

Title          Department
Executive      HR     
Manager        Sales     
Software       Engineer  IT

Код за ПЪЛНО ПРИСЪЕДИНЯВАНЕ:

SELECT * 
FROM Employees  
FULL JOIN EmployeeInfo  
ON Employees.EmployeeID = Employees.EmployeeID;

Резултати:

Ще вземе всички редове и колони от двете таблици, включително дубликатите, и ще ги комбинира в една цяла таблица.

LEFT JOIN Код:

SELECT Employees.Name, EmployeeInfo.Age
FROM Employees  
LEFT JOIN EmployeeInfo  
ON Employees.EmployeeID = Employees.EmployeeID;

Резултати:

Name              Age
Webster W.        36    
Lizzy S.          21   
Oliver T.         39

Колоната „EmployeeID“ в таблицата „Employee“ се отнася до „EmployeeID“ в таблицата „EmployeeInfo“, като по същество се посочва, че колоната EmployeeID е връзката между двете таблици. Присъединяванията могат да станат трудни, но в същото време изключително полезни при сортиране в по-голяма база данни.

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

Тази статия беше прегледана и актуализирана през април 2022 г. от Келси Пъркинс.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Проверка на таблица за припокриване на времето?

  2. sql свързва две таблици

  3. phpMyAdmin хвърля #2002 не може да влезе в сървъра mysql phpmyadmin

  4. Грешка при импортиране на Python MySQLdb - Mac 10.6

  5. Еквивалентът на функцията на SQLServer SCOPE_IDENTITY() в mySQL?