Denna handledning är en del av serien Lär dig grundläggande SQL-frågor med MySQL. I den här handledningen kommer vi att diskutera SQL-frågor för att hämta raderna eller läsa data från en tabell i MySQL.
Välj Fråga
Kommandot SELECT kan användas för att läsa rader från en tabell. Om du är fjärrinloggad i databasen behöver du också SELECT-privilegiet för tabellen för att kunna läsa raderna från en tabell.
# 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>;
Frågeförklaring
MySQL-kommandot SELECT kan användas för att läsa rader eller data från det givna tabellnamnet där det valda uttrycket och namnet på tabellen är obligatoriskt.
Att använda nyckelorden ALL eller DISTINCT eller DISTINCTROW är valfritt. ALL är standardnyckelordet om inget av dem anges.
Vi måste också specificera välj uttrycket för att få data från den givna tabellen. Vi kan antingen använda * eller de kommaseparerade kolumnnamnen för att få frågeresultaten från tabellen. Vi kan också ange ett alias för kolumnnamnen med nyckelordet AS .
De nästa självstudierna i den här serien förklarar den avancerade användningen av urvalsfrågan för att filtrera, sortera eller gruppera resultaten med WHERE , GILLA , BESTÄLL AV och GRUPPER EFTER klausuler.
Exempel
Det här avsnittet ger exempel på hur du kan läsa data från tabellen med kommandot SELECT. Använd den nedan nämnda frågan för att skapa användartabellen med id, förnamn och efternamn för att lagra användardata.
# Create the User Table
CREATE TABLE `user` (
`user_id` bigint(20) NOT NULL,
`first_name` varchar(45),
`last_name` varchar(45)
);
Den nedan nämnda frågan kan användas för att infoga data i användartabellen.
# 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' );
Den ovan nämnda frågan kommer att infoga 5 rader i tabellen med id, förnamn och efternamn för att representera 5 olika användare.
Nu kommer vi att läsa data som infogats av oss i användartabellen. Det kan göras med kommandot SELECT som visas nedan.
# 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
Den första frågan visar alla kolumner i frågeresultaten medan den andra frågan endast visar raddata för kolumnerna som tillhandahålls av oss.
Om antalet tabellrader är större än 50 eller 100, är det att föredra att läsa den begränsade informationen antingen med LIMIT eller 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
Vi kan använda nyckelordet LIMIT för att hämta begränsade rader genom att ange offset- och gränsvärden. I exemplet ovan kommer den första frågan att läsa de två första raderna. Den andra frågan läser också 2 rader från den fjärde raden genom att ange offsetvärdet till 3.
Så här kan vi läsa data som lagras i MySQL-tabellerna.