рдореБрдЦреНрдп рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рдПрдБ

SQL рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░рд┐рдЪрдп рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓

рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рдЖрдк SQL рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдЦреЗрдВрдЧреЗред
┬╖ 3 рдорд┐ре░ рдкрдврд╝реЗрдВ

AI рдХреЗ рд╕рд╛рде рдЦреЛрдЬреЗрдВ

рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕, рдкреНрд░реЛрдлреЗрд╕рд░ рдФрд░ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдЬреИрд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдХреЗ рдПрдВрдЯрд┐рдЯреА (рдЗрдХрд╛рдЗрдпреЛрдВ) рдХреЛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдХреЗ рдореЙрдбрд▓ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреА рдПрдВрдЯрд┐рдЯреА рдХрд╛ рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдПрдВрдЯрд┐рдЯрд┐рдпреЛрдВ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдХреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рджреЛрд╣рд░рд╛рд╡ рдХрдо рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдХрдВрдкрдиреА рдХрд╛ рд╡рд┐рд╡рд░рдг рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╣реЛрдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЕрдВрдд рдореЗрдВ, рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдВрдЯрд┐рдЯрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзреЛрдВ рдХреЛ рднреА рдореЙрдбрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

SQL рдХрд╛ рдЕрд░реНрде рд╣реИ Structured Query Language, рдЬреЛ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рднрд╛рд╖рд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ, рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

SQL рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд┐рд╕реНрдЯрдо рдХреА рдорд╛рдирдХ рднрд╛рд╖рд╛ рд╣реИред рд╕рднреА рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо (RDMS) рдЬреИрд╕реЗ MySQL, MS Access, Oracle, Sybase, Informix, Postgres рдФрд░ SQL Server рдЕрдкрдиреА рдорд╛рдирдХ рдбреЗрдЯрд╛рдмреЗрд╕ рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ SQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

PostgreSQL рдбреЗрдЯрд╛рдмреЗрд╕

information_schema рдПрдХ рдореЗрдЯрд╛-рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдореМрдЬреВрджрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд░рдЦрддрд╛ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ PostgreSQL рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ MySQL рдпрд╛ SQL Server рдЬреИрд╕реЗ рдЕрдиреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИред information_schema рдореЗрдВ рдХрдИ рддрд╛рд▓рд┐рдХрд╛рдПрдБ рд╣реЛрддреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдкрд░рд┐рдЪрд┐рдд SELECT * FROM рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХреНрд╡реЗрд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  • tables: рдЖрдкрдХреЗ рдореМрдЬреВрджрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕рднреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА
  • columns: рдЖрдкрдХреЗ рдореМрдЬреВрджрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕рднреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд╕рднреА рдХреЙрд▓рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА
  SELECT table_schema, table_name
  FROM information_schema.tables;
      table_schema    |              table_name
   -------------------+------------------------------
   pg_catalog         | pg_statistic
   pg_catalog         | pg_type
   pg_catalog         | pg_policy
   pg_catalog         | pg_authid
   pg_catalog         | pg_shadow
   public             | university_professors
   pg_catalog         | pg_settings
  ... 

SQL рдореЗрдВ рдХрдорд╛рдВрдб

рдбреЗрдЯрд╛ рдбреЗрдлрд┐рдирд┐рд╢рди рд▓реИрдВрдЧреНрд╡реЗрдЬ (DDL)

  • CREATE: рдпрд╣ рдПрдХ рдирдИ рддрд╛рд▓рд┐рдХрд╛ рдпрд╛ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рд╡реНрдпреВ рдмрдирд╛рддрд╛ рд╣реИред
  • ALTER: рдпрд╣ рдореМрдЬреВрджрд╛ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред
  • DROP: рдпрд╣ рдкреВрд░реА рддрд╛рд▓рд┐рдХрд╛ рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЕрдиреНрдп рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред

рдбреЗрдЯрд╛ рдореИрдирд┐рдкреБрд▓реЗрд╢рди рд▓реИрдВрдЧреНрд╡реЗрдЬ (DML)

  • SELECT: рдпрд╣ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рд┐рдХреЙрд░реНрдб рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред
  • INSERT: рдпрд╣ рдореМрдЬреВрджрд╛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдмрдирд╛рддрд╛ рд╣реИред
  • UPDATE: рдпрд╣ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдореМрдЬреВрджрд╛ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред
  • DELETE: рдпрд╣ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрдбрд╝рдиреЗ рдкрд░ рдкреВрд░реА рддрд╛рд▓рд┐рдХрд╛ рднреА рд╣рдЯрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдХреЙрд▓рдо рджреЗрдЦрдирд╛

information_schema рдореЗрдВ "columns" рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХреЙрд▓рдо рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рднреА рд╣реЛрддреА рд╣реИред рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдкрдХреЛ рдХрд┐рд╕реА рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рдкрддрд╛ рдЪрд▓ рдЬрд╛рдП, рддреЛ рдЖрдк "columns" рддрд╛рд▓рд┐рдХрд╛ рддрдХ рдкрд╣реБрдБрдЪрдХрд░ рдЙрд╕рдХреЗ рдХреЙрд▓рдо рдХреА рдХреНрд╡реЗрд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

SELECT table_name, column_name, data_type
FROM information_schema.columns
WHERE table_name = 'pg_config';


 table_name | column_name | data_type
 -----------+-------------+-----------
 pg_config  | name        | text
 pg_config  | setting     | text 

рдпрд╣рд╛рдБ рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рддрд╛рд▓рд┐рдХрд╛ pg_config рдореЗрдВ рдХреЗрд╡рд▓ рджреЛ рдХреЙрд▓рдо рд╣реИрдВ тАФ рд╕рдВрднрд╡рддрдГ рдирд╛рдо-рдореВрд▓реНрдп (name-value) рдпреБрдЧреНрдо рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдЙрджрд╛рд╣рд░рдг

рдЗрд╕ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ 'public' рд╕реНрдХреАрдорд╛ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬрд┐рд╕реЗ tables рдФрд░ columns рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдХреЙрд▓рдо table_schema рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред 'public' рд╕реНрдХреАрдорд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд░рдЦрддрд╛ рд╣реИред table_schema рдХреЗ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рд╕рд┐рд╕реНрдЯрдо рдЬрд╛рдирдХрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ тАФ рдпрд╣рд╛рдБ, рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЪреАрдЬрд╝реЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд╣реИред

рдЖрдк рдореМрдЬреВрджрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рднреА рддрд╛рд▓рд┐рдХрд╛ рдирд╛рдореЛрдВ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ, рдЬрдмрдХрд┐ рдЕрдкрдиреА рдХреНрд╡реЗрд░реА рдХреЛ 'public' table_schema рддрдХ рд╕реАрдорд┐рдд рд░рдЦреЗрдВрдЧреЗред

## Query the right table in information_schema
SELECT table_name
FROM information_schema.tables
## Specify the correct table_schema value
WHERE table_schema = 'public';

рдЬрдм рд╣рдо рдКрдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ:

рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдо

рдЦреБрдж рдЖрдЬрд╝рдорд╛рдПрдБред

SQL рдореЗрдВ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рдареНрдпрдХреНрд░рдо Introduction to Relational Databases in SQL рдореЗрдВ рдпрд╣ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦреЗрдВред

рдпрд╣ рд╕рд╛рдордЧреНрд░реА DataCamp рдХреЗ Introduction to Relational Databases in SQL рдкрд╛рдареНрдпрдХреНрд░рдо рд╕реЗ рд▓реА рдЧрдИ рд╣реИ, рд▓реЗрдЦрдХ: Timo Grossenbacherред

рд╣рдорд╛рд░рд╛ Introduction to Indexing in SQL рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рджреЗрдЦреЗрдВред

рд╡рд┐рд╖рдп