рдЗрд╕ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдореЗрдВ, рд╣рдо рдЫреЛрдЯреЗ рдХрд╛рд░реНрдп рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдореВрд▓ sql рдХрдорд╛рдВрдбреЛрдВ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред рдкрдврд╝рддреЗ рд╕рдордп, mysql рдХрдВрд╕реЛрд▓ рдкрд░ рдмреИрдардиреЗ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рднреА рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИред
рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдмрдпрд╛рди
рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЗрд╕рдореЗрдВ рдирд┐рдореНрди рд░реВрдк рдХреА 3 рддрд╛рд▓рд┐рдХрд╛рдПрдБ рд╣реИрдВ:



рддрд╛рд▓рд┐рдХрд╛ 1: user_id (INT (5), рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА), рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо (VARCHAR (50), INDEX)
table2: phone_id (INT (5), PRIMARY KEY), user_id (INT (5), INDEX), phone_number (INT (10), INDEX)
рдЯреЗрдмрд▓ 3: рд░реВрдо_рдЖрдИрдбреА (INT (5), PRIMARY KEY), рдлреЛрди_рдЖрдИрдбреА (INT (5), INDEX), room_number (INT (4) INDEX)
рдЖрдкрдХреЛ рдЙрд╕ рдХрдорд░реЗ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрдкрдирд╛рдо qux рдХреЗ рд╕рд╛рде рдмреИрдарддрд╛ рд╣реИ ...
рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рддреИрдпрд╛рд░ рдХрд░рдирд╛
рдХреНрд░рд┐рдПрдЯ рдбреИрдЯрдмреЗрд╕ рдФрд░ рдХреНрд░рд┐рдПрдЯ рдЯреЗрдмрд▓ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЛ рдХреНрд░рдорд╢рдГ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (DROP DATABASE рдФрд░ DROP рдЯреЗрдмрд▓ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП)ред рдкреНрд░рддреНрдпреЗрдХ рдХрдорд╛рдВрдб рдХреЗ рдЕрдВрдд рдореЗрдВ рдПрдХ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо (;) рд╣реЛрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд▓реЗрдЦ рдирд╛рдордХ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдПрдВ:
CREATE DATABASE IF NOT EXISTS article;
рдпрджрд┐ рд╣рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдбреЗрдЯрд╛рдмреЗрд╕ рдпрд╛ рдЯреЗрдмрд▓ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореМрдЬреВрдж рд╣реИрдВ, рддреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ (рдпрджрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП IF NOT EXISTS рдХреЛ рдЫреЛрдбрд╝рд╛ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛) рддреЛ рд╣рдо рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдЕрдм рдЖрдкрдХреЛ рдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
CREATE TABLE `table1` (`user_id` INT(5) NOT NULL AUTO_INCREMENT, `username` VARCHAR(50), PRIMARY KEY(`user_id`), INDEX(`username`)); CREATE TABLE `table2` (`phone_id` INT(5) NOT NULL AUTO_INCREMENT, `user_id` INT(5) NOT NULL, phone_number INT(10) NOT NULL, PRIMARY KEY (`phone_id`), INDEX(`user_id`, `phone_number`)); CREATE TABLE `table3` (`room_id` INT(5) NOT NULL AUTO_INCREMENT, `phone_id` INT(5) NOT NULL, `room_number` INT(4) NOT NULL, PRIMARY KEY(`room_id`), INDEX(`phone_id`, `room_number`));
рд╣рдо рдЗрди рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдХреНрд░рдо рдореЗрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗред рдХреНрд░рд┐рдПрдЯ рдЯреЗрдмрд▓ рдХреЗ рдмрд╛рдж, рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдмреНрд░реИрдХреЗрдЯ рдореЗрдВ рдХреЛрдорд╛ рдФрд░ рдкреНрд░рдореБрдЦ рдирд┐рд░реНрджреЗрд╢реЛрдВ рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╡рд╛рд▓реЗ рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЗ рдирд╛рдо рд╣реИрдВред рдкрд╣рд▓рд╛ рдХрдорд╛рдВрдб рд╣рдо рдЯреЗрдмрд▓ 1 рдирд╛рдо рдФрд░ рдлрд╝реАрд▓реНрдб user_id, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдХреЗ рд╕рд╛рде рдмрдирд╛рддреЗ рд╣реИрдВред User_id рдлрд╝реАрд▓реНрдб рдореЗрдВ рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рдХрд╛рд░ (INT) рд╣реИ рдФрд░ рдпрд╣ 5 рд╡рд░реНрдг рд▓рдВрдмрд╛ рд╣реИ, рд╢реВрдиреНрдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ auto_increment рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ (рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдХреЙрд░реНрдб рдмрдирд╛рддреЗ рд╕рдордп, рдЗрд╕ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдорд╛рди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕реЗ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИ), рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдпрд╣ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рд╣реИред [рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдЕрджреНрд╡рд┐рддреАрдп рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рддрд╛рд▓рд┐рдХрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреЛ рддрд╛рд▓рд┐рдХрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдПрдХ рд╣реА рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдорд╛рди рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред ] рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдЪрд░рд┐рддреНрд░ рдкреНрд░рдХрд╛рд░ (255 рд╡рд░реНрдг рд▓рдВрдмрд╛) рд╣реИ рдФрд░ рдПрдХ рд╕реВрдЪрдХрд╛рдВрдХ рд╣реИред рджреВрд╕рд░реА рдФрд░ рддреАрд╕рд░реА рдЯреАрдо рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рд╣реА рд╣реИред
рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреМрди рд╕реЗ рдЯреЗрдмрд▓ рд╣реИрдВ, рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
SHOW TABLES;
рдЕрдм рдЖрдкрдХреЛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд░рд┐рдХреЙрд░реНрдб рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, INSERT рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
INSERT INTO table1 (username) VALUE ('foo');
рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛_рдЖрдИрдбреА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ INSERT рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (рд╣рдо рдЬрд╛рджреВ рд╡рд┐рд╢реЗрд╖рддрд╛ auto_increp рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ)ред рдХреЛрд╖реНрдардХ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдирд╛рдо рдХреЗ рдмрд╛рдж (рд╣рдо рдЗрди рдХреЛрд╖реНрдардХ рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕реЗ рдЯрдкрд▓ рдХрд╣реЗрдВрдЧреЗ), рд╣рдо рдЙрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рди рдкрд░ рд╣рдо рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВрдЧреЗред VALUE рдХреЗ рдмрд╛рдж, рдорд╛рди рд╕реНрд╡рдпрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдЯрдкрд▓ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╣рдо рдПрдХ рд╣реА рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдмрд╛рд░, baz, qux рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
[1]
SELECT * FROM table1;
SELECT рдХрдорд╛рдВрдб рдкрд░ рдмрд╛рдж рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред
рдЕрдЧрд▓рд╛, рдЯреЗрдмрд▓ 2 рдФрд░ рдЯреЗрдмрд▓ 3 рднрд░реЗрдВред
[2]
INSERT INTO table2 (user_id, phone_number) VALUE ('2','200');
рдпрд╣рд╛рдВ user_id рдлрд╝реАрд▓реНрдб рдХреЛ рдорд╛рди 2 рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ phone_number рдлрд╝реАрд▓реНрдб рдХреЛ 200 рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдлрд╝реАрд▓реНрдб рдирд╛рдо рдпрд╛ рдорд╛рди рдХреЛ рдЯреБрдкрд▓реНрд╕ рдореЗрдВ рд╕реНрд╡реИрдк рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд░рд┐рдгрд╛рдо рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
[3]
INSERT INTO table2 (user_id, phone_number) VALUE ('200','2');
рдЕрдм user_id 200 рдкрд░ рд╕реЗрдЯ рд╣реИ, рдФрд░ phone_number рд╕реЗ 2ред
рдорд╛рди рд▓реЗрдВ рдХрд┐ рдорд╛рдиреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╕рдордп рд╣рдорд╕реЗ рдЧрд▓рддреА рд╣реБрдИ (рд╣рдордиреЗ [2] рдХреЗ рдмрдЬрд╛рдп [3] рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛), рд╣рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдпрд╛ рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рддреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ - рдореВрд▓реНрдп рдХреЛ рд╕реНрдЯреЗрдЯрдбреЗрдЯ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
UPDATE table2 SET user_id='2', phone_number='200' WHERE phone_id='1';
SET рдХреЗ рдмрд╛рдж, рд╣рдо рдЙрди рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдорд╛рдиреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рддрджрдиреБрд╕рд╛рд░ рдирдП рдЪрд┐рд╣реНрди рд╕рдорд╛рди рдЪрд┐рд╣реНрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред рд╣рдо рдкрд╣рд▓реА рдмрд╛рд░ WHERE рдСрдкрд░реЗрдЯрд░ рджреЗрдЦрддреЗ рд╣реИрдВред рдЕрдиреБрд░реЛрдз рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкрд░рд┐рд╡рд░реНрддрди рддрд╛рд▓рд┐рдХрд╛ рдХреА рд╕рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдлрд╝реЛрди_рдЖрдИрдбреА рдлрд╝реАрд▓реНрдб рдХрд╛ рдорд╛рди '1' рд╣реИред
рд╢реЗрд╖ рдбреЗрдЯрд╛ рдХреЛ рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреГрд╖реНрда рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдХреНрдпрд╛ рдЬреЛрдбрд╝рдирд╛ рд╣реИ)ред
рдирд┐рд░реНрдгрдп
рд╣рдордиреЗ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдЯреЗрдмрд▓ рдмрдирд╛рдпрд╛ рд╣реИред рдЕрдм рдЖрдк рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдЦреБрдж рд╣реА рдирд┐рдкрдЯ рд╕рдХрддреЗ рд╣реИрдВред рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЪрдпрди SELECT рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдо рдХрдорд╛рдВрдб [1] рд╕реЗ рдХреБрдЫ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВред рдЖрдЗрдП рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рдЯреЗрдмрд▓_name рд╕реЗ рдлрд╝реАрд▓реНрдб_рдирд╛рдо рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рдХреНрд▓реЙрдЬрд╝ [ORDER BY, LIMIT]
рдЬрд╣рд╛рдВ ORDER BY рдФрд░ LIMIT рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред
рдЖрдЗрдП рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рд╣рдо рддрд╛рд▓рд┐рдХрд╛ 1 рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рднреА рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред
SELECT username FROM table1;
рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реЙрд░реНрдЯ рдХрд░реЗрдВ
SELECT username FROM table1 ORDER BY username;
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, ORDER BY рдХреЛ рд╕реЗрд▓реЗрдХреНрдЯ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рдмрд╛рдж рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╕реЗ рдПрдХ рджреНрд╡рд╛рд░рд╛ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдЫрдБрдЯрд╛рдИ рдХреА рдЬрд╛рддреА рд╣реИ, рдЕрдЧрд░ рд╣рдо рд░рд┐рд╡рд░реНрд╕ рдСрд░реНрдбрд░ рдореЗрдВ рдЫрдБрдЯрд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдлрд╝реАрд▓реНрдб рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ DESC рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:
SELECT username FROM table1 ORDER BY username DESC;
рдЪреВрдБрдХрд┐ рд╣рдореЗрдВ рд╕рднреА рдореВрд▓реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП WHER рдСрдкрд░реЗрдЯрд░ рдХреЛ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг: table2 рд╕реЗ phone_id рдФрд░ user_id рдлрд╝реАрд▓реНрдб рдХреЗ рдорд╛рдиреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЬрд╣рд╛рдБ phone_number '200' рд╣реИред
SELECT phone_id, user_id FROM table2 WHERE phone_number=200; SELECT phone_id, user_id FROM table2 WHERE phone_number=200 LIMIT 1, 3;
рд▓рд┐рдорд┐рдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реАрдорд╛ рдореЗрдВ рд▓рд╛рдЗрдиреЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ (рдирд┐рдЪрд▓реА рд╕реАрдорд╛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ)ред рдпрджрд┐ рдкрд╣рд▓рд╛ рддрд░реНрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ 0 рдХреЗ рдмрд░рд╛рдмрд░ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рддреАрдиреЛрдВ рдЯреЗрдмрд▓ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред table1 рдФрд░ table2 рдХреНрд╖реЗрддреНрд░ user_id рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдФрд░ table2 рдФрд░ table3 phone_id рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред рдЙрдиреНрд╣реЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЙрд▓рдо рдореЗрдВ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ JOIN рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред JOIN, рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдорд╣рд╛рди рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ "рдПрдХрдЬреБрдЯ рд╣реЛрдирд╛", рдпрд╛рдиреА рдХрдИ рдЯреБрдХрдбрд╝реЛрдВ рд╕реЗ рдПрдХ рдкреВрд░реЗ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ред MySQL рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ, рдпреЗ "рд╕реНрд▓рд╛рдЗрд╕" рдЯреЗрдмрд▓ рдлрд╝реАрд▓реНрдб рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рд▓рд╛рдиреЗ рдкрд░ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬреБрдбрд╝рдиреЗ рд╕реЗ рдЖрдк рдПрдХ рд╣реА рдХреНрд╡реЗрд░реА рдореЗрдВ рдХрдИ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдо рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, MySQL рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЬреБрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
1. INNER JOIN (CROSS JOIN) - рдЖрдВрддрд░рд┐рдХ (рдХреНрд░реЙрд╕) рд╕рдВрдШ
2. рд╡рд╛рдо рдЬреЛрдбрд╝реА - рдмрд╛рдИрдВ рдУрд░ рдмрд╛рд╣рд░реА рд╕рдВрдШ
3. рд░рд╛рдЗрдЯ рдЬреЙрдп - рд░рд╛рдЗрдЯ-рд╡рд┐рдВрдЧ рдмрд╛рд╣рд░реА рдПрд╕реЛрд╕рд┐рдПрд╢рди
INNER JOIN рдЖрдкрдХреЛ рдЙрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд╕рднреА рд╕рдореНрдорд┐рд▓рд┐рдд рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВред
рдЖрдЗрдП рдПрдХ рдЕрдиреБрд░реЛрдз рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
[4]
SELECT table3.room_number FROM table1 INNER JOIN table2 USING(user_id) INNER JOIN table3 USING(phone_id) WHERE table1.username = 'qux';
рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЙрд╕ рдлрд╝реАрд▓реНрдб рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддрднреА рд╕рдВрднрд╡ рд╣реИ рдЬрдм рдЦреЗрддреЛрдВ рдХрд╛ рдПрдХ рд╣реА рдирд╛рдо рд╣реЛред рдЕрдиреНрдпрдерд╛, рдЖрдкрдХреЛ ON рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
SELECT table3.room_number FROM table1 INNER JOIN table2 ON table1.user_id = table2.user_id INNER JOIN table3 ON table2.phone_id = table3.phone_id WHERE table1.username = 'qux';
LEFT / RIGHT JOINs рдЖрдкрдХреЛ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ, рдкреВрд░рдХ рдХрд░рдирд╛, рдХрд┐рд╕реА рдЕрдиреНрдп рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдбреЗрдЯрд╛ред INNER JOIN рдХреЗ рд╕рд╛рде рдЕрдВрддрд░ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдкрд╣рд▓реЗ table1 рдореЗрдВ рдПрдХ рдФрд░ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред
INSERT INTO table1 (username) VALUE ('quuz');
рдФрд░ рдЕрдм рд╣рдо рдХрдорд╛рдВрдб [4] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдмрд╕ INNER JOIN рдХреЛ LEFT JOIN рд╕реЗ рдмрджрд▓реЗрдВ, рдФрд░ qux рдХреЗ рд╕рд╛рде qux:
SELECT table3.room_number FROM table1 LEFT JOIN table2 USING(user_id) LEFT JOIN table3 USING(phone_id) WHERE table1.username = 'quuz';
рд╣рдореЗрдВ рдирд┐рдореНрди рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддреЗ рд╣реИрдВ:

рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ user_id = 5 рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред рдпрд╣ рдорд╛рди рдЕрдиреНрдп рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рдореЗрдВ NULL рдорд┐рд▓рд╛ рд╣реИред INNER JOIN рдХреЗ рд╕рд╛рде, рдкрд░рд┐рдгрд╛рдо рдЦрд╛рд▓реА рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХреЗрд╡рд▓ рд╡реЗ рдореВрд▓реНрдп рдЬреЛ рд╕рднреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╣реИрдВ рдЖрдЙрдЯрдкреБрдЯ рд╣реИрдВред рдпрд╣рд╛рдВ, рдЯреЗрдмрд▓ 3 рдФрд░ рдЯреЗрдмрд▓ 2 рдЯреЗрдмрд▓ 3 рд╕реЗ рдореВрд▓реНрдп рджреНрд╡рд╛рд░рд╛ рдкреВрд░рдХ рд╣реИрдВ, рднрд▓реЗ рд╣реА рдпрд╣ рдореМрдЬреВрдж рди рд╣реЛред
рдкрд░рд┐рд╢рд┐рд╖реНрдЯ
рдирд┐рдореНрди рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрдорд╛рдВрдб рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ:
рддрд╛рд▓рд┐рдХрд╛ 1 рд╕реЗ 1 рдХреЗ рдмрд░рд╛рдмрд░ user_id рд╡рд╛рд▓реА рдкрдВрдХреНрддрд┐ рд╣рдЯрд╛рдПрдВ:
DELETE FROM table1 WHERE user_id = 1;
рдирд╛рдо рддрд╛рд▓рд┐рдХрд╛ 1 рд╕реЗ nya рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВ:
RENAME TABLE table1 TO nya;
Id_ (рддрд╛рд▓рд┐рдХрд╛ рддрд╛рд▓рд┐рдХрд╛ 1) рдХреЗ рд▓рд┐рдП user_id рдлрд╝реАрд▓реНрдб рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВ:
ALTER TABLE table1 CHANGE user_id id INT;
Phone_number рдлрд╝реАрд▓реНрдб рдХрд╛ рдкреНрд░рдХрд╛рд░ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдмрджрд▓реЗрдВ:
ALTER TABLE table2 MODIFY phone_number VARCHAR(100) NOT NULL;
рддрд╛рд▓рд┐рдХрд╛ рддрд╛рд▓рд┐рдХрд╛ 1 рдХрд╛ рд╡рд┐рд╡рд░рдг рджреЗрдЦреЗрдВ:
DESCRIBE table1;
рдкреНрд░рдХрд╛рд░ DATE рдХрд╛ рдЕрдмреНрд░рд╛ рдХреНрд╖реЗрддреНрд░ рдЬреЛрдбрд╝реЗрдВ:
ALTER TABLE table3 ADD abra DATE;
рд╣рдо рддрд╛рд▓рд┐рдХрд╛ 3 рд╕реЗ рдХрдХреНрд╖ рдХреЗ рд╕рднреА рдорд╛рдиреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХрдорд░рд╛_ рдирдВрдмрд░ 3 рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ (% рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐рд╕реА рднреА рд╡рд░реНрдг рдХрд╛ рдХреЛрдИ рднреА рд╕рдВрдЦреНрдпрд╛; рдЬреИрд╕реЗ рдХрд┐ рдпрджрд┐ рдЪреЗрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рджрд┐рдП рдЧрдП рдкреИрдЯрд░реНрди рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ):
SELECT room_id FROM table3 WHERE room_number LIKE '3%';
рдкреБрдирд╢реНрдЪ
1. рдЬреЙрдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдХреБрдЫ рд╣рд┐рд╕реНрд╕рд╛
MySQL рд▓реЗрдЦ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
2. рдпрд╣ рдЯрд╛рд╕реНрдХ рдореБрдЭреЗ рдПрдХ рдЗрдВрдЯрд░рд╡реНрдпреВ рдореЗрдВ рдорд┐рд▓рд╛, рдЬрд┐рд╕рд╕реЗ рдореИрдВ рдЧреБрдЬрд░рд╛ рдерд╛ред рдпрд╣ рдХрд╛рдлреА рд╕рд┐рдВрдереЗрдЯрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдордЧреНрд░реА рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓ рд╣реИред
3. рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЖрд╕рд╛рди рд╕рдордЭ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рдЬрд╛рдирдмреВрдЭрдХрд░ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдмрд╛рдХреА рд╕рднреА рдХреЗ рд▓рд┐рдП, рдПрдХ
MySQL рд╕рдВрджрд░реНрдн рдЧрд╛рдЗрдб рд╣реИ