Този урок е част от поредицата Научете основни SQL заявки с помощта на MySQL. В този урок ще обсъдим SQL заявките за извличане на редовете или четене на данни от таблица в MySQL.
Изберете заявка
Командата SELECT може да се използва за четене на редове от таблица. В случай, че сте влезли отдалечено в базата данни, ще ви трябва и привилегията SELECT за таблицата, за да четете редовете от таблица.
# SELECT - Syntax
SELECT [ ALL | DISTINCT | DISTINCTROW ] <select expression> FROM table_name;
# SELECT - Syntax - All Columns
SELECT [ ALL | DISTINCT | DISTINCTROW ] * FROM table_name;
# SELECT - Syntax - Selective Columns
SELECT [ ALL | DISTINCT | DISTINCTROW ] column_1,column_2,... FROM table_name;
# SELECT - Syntax - Filter results using WHERE
SELECT [ ALL | DISTINCT | DISTINCTROW ] column_1,column_2,... FROM table_name WHERE <single or multiple filter conditions>;
Обяснение на заявката
MySQL командата SELECT може да се използва за четене на редове или данни от даденото име на таблица, където изразът за избор и името на таблицата са задължителни.
Използването на ключовите думи ALL или DISTINCT или DISTINCTROW не е задължително. ALL е ключовата дума по подразбиране, в случай че нито една от тях не е посочена.
Трябва също да посочим израза за избор за да получите данни от дадената таблица. Можем да използваме или * или разделените със запетаяимена на колони за да получите резултатите от заявката от таблицата. Можем също да посочим псевдоним за имената на колоните с помощта на ключовата дума AS .
Следващите уроци от тази серия обясняват разширеното използване на заявката за избор за филтриране, сортиране или групиране на резултатите с помощта на КЪДЕ , Харесвам , ПОРЪЧАЙТЕ ПО и ГРУПА ПО клаузи.
Примери
Този раздел предоставя примери за четене на данни от таблицата с помощта на командата SELECT. Използвайте посочената по-долу заявка, за да създадете потребителска таблица с колоните с идентификатор, собствено и фамилно име, за да съхранявате потребителски данни.
# Create the User Table
CREATE TABLE `user` (
`user_id` bigint(20) NOT NULL,
`first_name` varchar(45),
`last_name` varchar(45)
);
Посочената по-долу заявка може да се използва за вмъкване на данни в потребителската таблица.
# Insert Rows - All Columns
INSERT INTO `user` ( `user_id`, `first_name`, `last_name`) VALUES
( 1, 'John', 'Smith' ),
( 2, 'Rick', 'Jones' ),
( 3, 'Catherine', 'Ponting' ),
( 4, 'Harsh', 'Upadhyay' ),
( 5, 'Tajwinder', 'Singh' );
Гореспоменатата заявка ще вмъкне 5 реда в таблицата с идентификатор, собствено и фамилно име за представяне на 5 различни потребители.
Сега ще прочетем данните, въведени от нас в потребителската таблица. Това може да се направи с помощта на командата SELECT, както е показано по-долу.
# Read all the columns and rows
SELECT * FROM `user`;
# Result
1 John Smith
2 Rick Jones
3 Catherine Ponting
4 Harsh Upadhyay
5 Tajwinder Singh
# Read selective columns
SELECT `first_name`, `last_name` FROM `user`;
# Result
John Smith
Rick Jones
Catherine Ponting
Harsh Upadhyay
Tajwinder Singh
Първата заявка ще покаже всички колони в резултатите от заявката, докато втората заявка ще покаже само данните за редовете за предоставените от нас колони.
В случай, че броят на редовете в таблицата е по-голям от 50 или 100, за предпочитане е да прочетете ограничените данни чрез LIMIT или OFFSET.
# Read limited rows
SELECT * FROM `user` LIMIT 2;
# Result
1 John Smith
2 Rick Jones
# Read limited rows using offset
SELECT * FROM `user` LIMIT 3, 2;
# Result
4 Harsh Upadhyay
5 Tajwinder Singh
Можем да използваме ключовата дума LIMIT, за да извлечем ограничени редове, като посочим стойностите на отместване и ограничение. В горния пример първата заявка ще прочете първите два реда. Втората заявка също ще прочете 2 реда, започвайки от 4-ия ред, като посочи стойността на отместване на 3.
Ето как можем да четем данните, съхранявани в MySQL таблиците.