рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдХреЗ рд▓рд┐рдП рдЕрдирд┐рд╡рд╛рд░реНрдп рдХреМрд╢рд▓ рд╣реИред SQL рдпрд╛рдиреА Structured Query Language рдЖрдкрдХреЛ рдпрд╣ рдХрд╛рдо рдмрд╣реБрдд рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИред SQL рди рдХреЗрд╡рд▓ рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рд╕реЗ рд╕рд╛рд░реНрдердХ рд╕рд╡рд╛рд▓ рдкреВрдЫрдиреЗ рджреЗрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рднреА рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмрд┐рдирд╛, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдХреЛрдИ рднреА рд╡рд╛рд╕реНрддрд╡рд┐рдХтАСрджреБрдирд┐рдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЬреНрдЮрд╛рди рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдбреЗрдЯрд╛ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдХреЗ рдФрдЬрд╝рд╛рд░реЛрдВ рдореЗрдВ рдмреЗрд╣рдж рдЕрд╣рдо рд╣реИред
рддреНрд╡рд░рд┐рдд рддрдереНрдп : SQL рдХреЛ SE-QU-EL рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдорд╣рддреНрд╡ рд╣реИ тАФ SQL рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд╛рдо рдерд╛ S imple E nglish Que ry L anguageред
рдЖрдо рддреМрд░ рдкрд░ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ тАФ
рд░рд┐рд▓реЗрд╢рдВрд╕ рдХреЛ рдЯреЗрдмрд▓ рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рдпрд╣ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдФрд░ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рднреАред
рдпрд╣ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ SQL рдХреЗ рдЪрд╛рд░ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдСрдкрд░реЗрд╢рди рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ: Create, Read, Update рдФрд░ Deleteред рд╕рд╛рдореВрд╣рд┐рдХ рд░реВрдк рд╕реЗ рдЗрди рдЪрд╛рд░ рдСрдкрд░реЗрд╢рди рдХреЛ рдЕрдХреНрд╕рд░ CRUD рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрд┐рди рднреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рд╣реЛрддреА рд╣реИ, рдЙрдирдореЗрдВ рдпреЗ рдЪрд╛рд░реЛрдВ рдСрдкрд░реЗрд╢рди рдореМрдЬреВрдж рд░рд╣рддреЗ рд╣реИрдВред
рдЖрдк PostgreSQL рдХреЛ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред PostgreSQL рдмрд╣реБрдд рд╣рд▓реНрдХрд╛ рд╣реИ рдФрд░ рдпрд╣ рдирд┐рдГрд╢реБрд▓реНрдХ рднреА рд╣реИред рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рдЖрдк тАФ
PostgreSQL рдХреЗ рд╕рд╛рде рд╕реЗрдЯрдЕрдк рдФрд░ рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВрдЧреЗ
рдХрд┐рд╕реА PostgreSQL рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВрдЧреЗ
рдЙрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЯреЗрдмрд▓ рдмрдирд╛рдПрдВрдЧреЗ, рдкрдврд╝реЗрдВрдЧреЗ, рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдбрд┐рд▓реАрдЯ рдХрд░реЗрдВрдЧреЗ
Jupyter Notebook рдкрд░ SQL рдЪрд▓рд╛рдПрдВрдЧреЗ
Python рдореЗрдВ SQL рдЪрд▓рд╛рдПрдВрдЧреЗ
рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
PostgreSQL рдХреЗ рд╕рд╛рде рд╕реЗрдЯрдЕрдк рдФрд░ рд╢реБрд░реБрдЖрдд
PostgreSQL рдПрдХ рд╣рд▓реНрдХрд╛ рдФрд░ рдУрдкрди рд╕реЛрд░реНрд╕ RDBMS рд╣реИред рдЙрджреНрдпреЛрдЧ рдЬрдЧрдд рдореЗрдВ рдЗрд╕реЗ рдЕрддреНрдпрдзрд┐рдХ рд╕реНрд╡реАрдХрд╛рд░реНрдпрддрд╛ рдорд┐рд▓реА рд╣реИред рдЖрдк PostgreSQL рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЗрд╕рдХреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВред
PostgreSQL рдореЗрдВ рдХреНрд╡реЗрд░реА рд▓рд┐рдЦрдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЖрдкрдХреЗ рдорд╢реАрди рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдмреЗрд╣рдж рдЖрд╕рд╛рди рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЛ рдЫреЛрдЯреЗ рд╡реАрдбрд┐рдпреЛ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ 32тАСbit WindowsтАС7 рдорд╢реАрди рдкрд░ PostgreSQL рдХреИрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рдзреНрдпрд╛рди рджреЗрдВ : PostgreSQL рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдЖрдк рдЬреЛ рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рдкреЛрд░реНрдЯ рдирдВрдмрд░ рджрд░реНрдЬ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрдирдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдВред
рдЬрдм рдЖрдкрдиреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ PostgreSQL рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд▓рд┐рдпрд╛ рд╣реЛ, рддреЛ pgAdmin рдЦреЛрд▓реЗрдВред pgAdmin рдПрдХ рдЙрдкрдпреЛрдЧреА рдпреВрдЯрд┐рд▓рд┐рдЯреА рд╣реИ рдЬреЛ PostgreSQL рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд╕рд╛рде рдЖрддреА рд╣реИ рдФрд░ рдпрд╣ рдЖрдкрдХреЛ рд╕реБрдВрджрд░ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдпрдорд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬреБрдбрд╝реА рдЧрддрд┐рд╡рд┐рдзрд┐рдпрд╛рдБ рдХрд░рдиреЗ рджреЗрддреА рд╣реИред pgAdmin рдХрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ тАФ
pgAdmin рдЦреЛрд▓рдиреЗ рдкрд░ рдЖрдк рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ "PostgreSQL 9.4 (localhost:5432)" рдирд╛рдо рдХрд╛ рд╕рд░реНрд╡рд░ рд╕реВрдЪреАрдмрджреНрдз рджреЗрдЦреЗрдВрдЧреЗ тАФ
рдзреНрдпрд╛рди рджреЗрдВ : рдЖрдкрдХрд╛ рд╡рд░реНрдЬрд╝рди рдКрдкрд░ рджрд┐рдП рдЧрдП рд╕реЗ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдкреЛрд░реНрдЯ рдирдВрдмрд░ (5432) рднреАред
рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдЬреЛ рдкрд╛рд╕рд╡рд░реНрдб рдЖрдкрдиреЗ рджрд┐рдпрд╛ рдерд╛, рдЙрд╕реЗ рджрд░реНрдЬ рдХрд░ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред рд╕рдВрджрд░реНрдн рд╣реЗрддреБ тАФ https://www.loom.com/share/71708f6a99ee483a977991e9e8a25808 ред
рд▓реЛрдХрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреИрд╕рд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ тАФ
рдЖрдкрдХрд╛ рдкрд╣рд▓рд╛ рдХрд╛рдо рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕реЗ рдЖрдк Databases рдЯреИрдм рдкрд░ рд░рд╛рдЗрдЯтАСрдХреНрд▓рд┐рдХ рдХрд░ рдФрд░ рдбреНрд░реЙрдктАСрдбрд╛рдЙрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ New Database рдЪреБрдирдХрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЗрдП DataCamp_Courses рдирд╛рдо рдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рддреЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрди рдЬрд╛рдиреЗ рдкрд░ рдЖрдк рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдЕрдЧрд▓реЗ рднрд╛рдЧреЛрдВ рдкрд░ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
PostgreSQL рдореЗрдВ CRUD рдСрдкрд░реЗрд╢рди
рджрд┐рдП рдЧрдП рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЯреЗрдмрд▓ рдмрдирд╛рдирд╛ -
рдХрд┐рд╕реА рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдЯреЗрдмрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рддреЛ рдЪрд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдЯреЗрдмрд▓ (рдЬрд┐рд╕реЗ рд░рд┐рд▓реЗрд╢рди рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) datacamp_courses рдирд╛рдо рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдирд┐рд░реНрджреЗрд╢ (рд╕реНрдХреАрдорд╛) рдХреЗ рд╕рд╛рде рдмрдирд╛рддреЗ рд╣реИрдВ тАФ
рдпрд╣ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдЯреЗрдмрд▓ рдХреЗ рдХреЙрд▓рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рдмрд╛рддреЗрдВ рдмрддрд╛рддрд╛ рд╣реИ тАФ
рдЯреЗрдмрд▓ рдХреА рдкреНрд░рд╛рдЗрдорд░реА рдХреА course_id рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП (рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреЗрд╡рд▓ рдпрд╣реА рдмреЛрд▓реНрдб рд╣реИ) рдФрд░ рдЗрд╕рдХрд╛ рдбреЗрдЯрд╛тАСрдЯрд╛рдЗрдк integer рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░рд╛рдЗрдорд░реА рдХреА рдПрдХ constraint рд╣реИ рдЬреЛ рдХреЙрд▓рдо рдХреЗ рдорд╛рдиреЛрдВ рдХреЛ nonтАСnull рдФрд░ рдпреВрдирд┐рдХ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░рддреА рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдЯреЗрдмрд▓ рдореЗрдВ рдореМрдЬреВрдж рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ instance рдпрд╛ instanceтАСрд╕рдореВрд╣ рдХреА рдЕрджреНрд╡рд┐рддреАрдп рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рджреЗрддреА рд╣реИред
рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдмрд╛рдХреА рдЬрд╛рдирдХрд╛рд░реА рдЕрдм рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдордЭ рдореЗрдВ рдЖ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред
рдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдирдП рдмрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ DataCamp_Courses рдкрд░ рд░рд╛рдЗрдЯтАСрдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ CREATE Script рдЪреБрдиреЗрдВред рдЖрдкрдХреЛ рдирд┐рдореНрди рдЬреИрд╕рд╛ рдХреБрдЫ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП тАФ
рдЕрдм рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рддреЗ рд╣реИрдВ тАФ
CREATE TABLE datacamp_courses(
course_id SERIAL PRIMARY KEY ,
course_name VARCHAR ( 50 ) UNIQUE NOT NULL ,
course_instructor VARCHAR ( 100 ) NOT NULL ,
topic VARCHAR ( 20 ) NOT NULL
) ;
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдЗрд╕реЗ рдЪреБрдиреЗрдВ рдФрд░ рдореЗрдиреНрдпреВ рдмрд╛рд░ рд╕реЗ execute рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ тАФ
рдЖрдЙрдЯрдкреБрдЯ рдХреБрдЫ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП тАФ
PostgreSQL рдореЗрдВ рдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдХреА рдХреНрд╡реЗрд░реА рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрддреА рд╣реИ тАФ
CREATE TABLE table_name (
column_name TYPE column_constraint,
table_constraint table_constraint
)
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдЯреЗрдмрд▓ рдмрдирд╛рддреЗ рд╕рдордп рд╣рдордиреЗ рдХреЛрдИ table_constraints рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЕрднреА рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдХрд╛рдлрд╝реА рдкрдардиреАрдп рд╣реИ рд╕рд┐рд╡рд╛рдп SERIAL рдХреАрд╡рд░реНрдб рдХреЗред PostgreSQL рдореЗрдВ Serial рдЖрдкрдХреЛ рдСрдЯреЛтАСрдЗрдиреНрдХреНрд░рд┐рдореЗрдВрдЯ рдХреЙрд▓рдо рдмрдирд╛рдиреЗ рджреЗрддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ integer рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рди рдмрдирд╛рддрд╛ рд╣реИред Serial рд╣рдореЗрдВ рдХрд┐рд╕реА рдЯреЗрдмрд▓ рдХреА рдЖрдЦрд┐рд░реА рдбрд╛рд▓реА/рдЕрдкрдбреЗрдЯ рдХреА рдЧрдИ рдкреНрд░рд╛рдЗрдорд░реА рдХреА рдпрд╛рдж рд░рдЦрдиреЗ рдХреЗ рдмреЛрдЭ рд╕реЗ рдореБрдХреНрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рд╛рдЗрдорд░реА рдХреА рдХреЗ рд▓рд┐рдП рдСрдЯреЛтАСрдЗрдиреНрдХреНрд░рд┐рдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рд╣реИред Serial рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдиреЗрдВ рдпрд╣рд╛рдБ ред
рдирд╡-рдирд┐рд░реНрдорд┐рдд рдЯреЗрдмрд▓ рдореЗрдВ рдХреБрдЫ рд░рд┐рдХреЙрд░реНрдб рдбрд╛рд▓рдирд╛ тАФ
рдЗрд╕ рдЪрд░рдг рдореЗрдВ, рдЖрдк рдЯреЗрдмрд▓ рдореЗрдВ рдХреБрдЫ рд░рд┐рдХреЙрд░реНрдб рдбрд╛рд▓реЗрдВрдЧреЗред рдЖрдкрдХреЗ рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рдпреЗ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП тАФ
рдХреЛрд░реНрд╕ рдХрд╛ рдирд╛рдо
рдХреЛрд░реНрд╕ рдХреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдХ рдХрд╛ рдирд╛рдо
рдХреЛрд░реНрд╕ рдХрд╛ рд╡рд┐рд╖рдп
course_id рдХреЙрд▓рдо рдХреЗ рдорд╛рди PostgreSQL рд╕реНрд╡рдпрдВ рд╕рдВрднрд╛рд▓ рд▓реЗрдЧрд╛ред PostgreSQL рдореЗрдВ insert рдХреНрд╡реЗрд░реА рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрддреА рд╣реИ тАФ
INSERT INTO table ( column1, column2, тАж)
VALUES
( value1, value2, тАж) ;
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдЖрдЗрдП рдХреБрдЫ рд░рд┐рдХреЙрд░реНрдб рдбрд╛рд▓рддреЗ рд╣реИрдВ тАФ
INSERT INTO datacamp_courses( course_name, course_instructor, topic)
VALUES ( 'Deep Learning in Python' , 'Dan Becker' , 'Python' ) ;
INSERT INTO datacamp_courses( course_name, course_instructor, topic)
VALUES ( 'Joining Data in PostgreSQL' , 'Chester Ismay' , 'SQL' ) ;
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдиреЗ рдкреНрд░рд╛рдЗрдорд░реА рдХреА рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЖрдк рдЗрд╕рдХрд╛ рдкреНрд░рднрд╛рд╡ рдереЛрдбрд╝реА рджреЗрд░ рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗред
рдЬрдм рдЖрдк рдКрдкрд░ рдХреА рджреЛрдиреЛрдВ рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдЪрд▓рд╛рдПрдБрдЧреЗ, рддреЛ рд╕рдлрд▓ insertion рдкрд░ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП тАФ
Query returned successfully: one row affected, 11 ms execution time.
рдЯреЗрдмрд▓ рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝рдирд╛/рджреЗрдЦрдирд╛ тАФ
рдпрд╣ рд╢рд╛рдпрдж рд╡рд╣ рдХрд╛рдо рд╣реИ рдЬреЛ рдЖрдк рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рд╕рдлрд░ рдореЗрдВ рдмрд╣реБрдд рдХрд░реЗрдВрдЧреЗред рдлрд┐рд▓рд╣рд╛рд▓ рджреЗрдЦреЗрдВ рдХрд┐ рдЯреЗрдмрд▓ datacamp_courses рдХреИрд╕реА рджрд┐рдЦ рд░рд╣реА рд╣реИред
рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдпрддрдГ select рдХреНрд╡реЗрд░реА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ select рдХреНрд╡реЗрд░реА рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрддреА рд╣реИ тАФ
SELECT
column_1,
column_2,
. . .
FROM
table_name;
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдЖрдЗрдП рдЯреЗрдмрд▓ datacamp_courses рд╕реЗ рд╕рднреА рдХреЙрд▓рдо рдЪреБрдирддреЗ рд╣реИрдВ
SELECT * FROM datacamp_courses;
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдФрд░ рдЖрдкрдХреЛ рдпрд╣ рдорд┐рд▓рддрд╛ рд╣реИ тАФ
рдЕрдм рдкреНрд░рд╛рдЗрдорд░реА рдХреА рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдХреЛрд░реНрд╕ рдХреЗ рдирд╛рдо рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ тАФ
SELECT course_name from datacamp_courses;
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдФрд░ рдЖрдкрдХреЛ рдпрд╣ рдорд┐рд▓рддрд╛ рд╣реИ тАФ
рдЖрдк рдЬрд┐рддрдиреЗ рдЪрд╛рд╣реЗрдВ рдХреЙрд▓рдо рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдкрд░рд┐рдгрд╛рдо рдЖрдк рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдмрд╢рд░реНрддреЗ рд╡реЗ рдЯреЗрдмрд▓ рдореЗрдВ рдореМрдЬреВрдж рд╣реЛрдВред рдпрджрд┐ рдЖрдк select course_name, number_particpants from datacamp_courses; рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реЗрдЧреА рдХреНрдпреЛрдВрдХрд┐ number_particpants рдХреЙрд▓рдо рдЯреЗрдмрд▓ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдЕрдм рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдХреИрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЯреЗрдмрд▓ рдореЗрдВ рдХрд┐рд╕реА рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ тАФ
SQL рдореЗрдВ update рдХреНрд╡реЗрд░реА рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдЪрдирд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ:
UPDATE table
SET column1 = value1,
column2 = value2 , . . .
WHERE
condition;
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдЖрдк рдЙрд╕ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдЬрд╣рд╛рдБ course_instructor = "Chester Ismay" рд╣реИ рдФрд░ course_name рдХреЛ "Joining Data in SQL" рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВрдЧреЗред рдлрд┐рд░ рдЖрдк рдЬрд╛рдБрдЪреЗрдВрдЧреЗ рдХрд┐ рд░рд┐рдХреЙрд░реНрдб рдЕрдкрдбреЗрдЯ рд╣реБрдЖ рдпрд╛ рдирд╣реАрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреНрд╡реЗрд░реА рд╣реЛрдЧреА тАФ
UPDATE datacamp_courses SET course_name = 'Joining Data in SQL'
WHERE course_instructor = 'Chester Ismay' ;
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдЖрдЗрдП select рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдХрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдкрдХреА update рдХреНрд╡реЗрд░реА рдХрд╛ рдЗрдЪреНрдЫрд┐рдд рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рд╛ рдпрд╛ рдирд╣реАрдВ тАФ
рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреА update рдХреНрд╡реЗрд░реА рдареАрдХ рд╡реИрд╕реЗ рд╣реА рдЪрд▓реА рдЬреИрд╕рд╛ рдЖрдк рдЪрд╛рд╣рддреЗ рдереЗред рдЕрдм рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХрд┐рд╕реА рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдЯреЗрдмрд▓ рд╕реЗ рдХреИрд╕реЗ рд╣рдЯрд╛рддреЗ рд╣реИрдВред
рдЯреЗрдмрд▓ рдореЗрдВ рдХрд┐рд╕реА рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдбрд┐рд▓реАрдЯ рдХрд░рдирд╛ тАФ
SQL рдореЗрдВ delete рдХреНрд╡реЗрд░реА рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрддреА рд╣реИ:
DELETE FROM table
WHERE condition;
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдЖрдк рдЙрд╕ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдбрд┐рд▓реАрдЯ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдЬрд╣рд╛рдБ course_name = "Deep Learning in Python" рд╣реИ рдФрд░ рдлрд┐рд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд░рд┐рдХреЙрд░реНрдб рдбрд┐рд▓реАрдЯ рд╣реБрдЖ рдпрд╛ рдирд╣реАрдВред рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реБрдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд╡реЗрд░реА рдпрд╣ рдХрд░ рджреЗрдЧреА тАФ
DELETE from datacamp_courses
WHERE course_name = 'Deep Learning in Python' ;
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ SQL рдореЗрдВ рдХреАрд╡рд░реНрдб caseтАСsensitive рдирд╣реАрдВ рд╣реЛрддреЗ, рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛ caseтАСsensitive рд╣реЛрддрд╛ рд╣реИ ред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдк рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдореЗрдВ рдмрдбрд╝реЗ рдФрд░ рдЫреЛрдЯреЗ рдЕрдХреНрд╖рд░реЛрдВ рдХрд╛ рдорд┐рд╢реНрд░рдг рджреЗрдЦрддреЗ рд╣реИрдВред
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЗрдЪреНрдЫрд┐рдд рд░рд┐рдХреЙрд░реНрдб рдЯреЗрдмрд▓ рд╕реЗ рдбрд┐рд▓реАрдЯ рд╣реБрдЖ рдпрд╛ рдирд╣реАрдВ тАФ
рдФрд░ рд╣рд╛рдБ, рдЗрдЪреНрдЫрд┐рдд рд░рд┐рдХреЙрд░реНрдб рд╡рд╛рдХрдИ рдбрд┐рд▓реАрдЯ рд╣реЛ рдЧрдпрд╛ред
рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдЪрдирд╛рдПрдБ PostgreSQL Tutorial рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рд╣реИрдВред
рдЕрдм рдЖрдк SQL рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА CRUD рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдЪрд▓рд╛рдирд╛ рдЬрд╛рдирддреЗ рд╣реИрдВред рдЖрдкрдореЗрдВ рд╕реЗ рдХреБрдЫ Jupyter Notebooks рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕реЛрдЪ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ рдХрд┐ рдХрд╛рд╢ рдЗрди рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреЛ рд╕реАрдзреЗ Jupyter Notebook рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реЛрддрд╛ред рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ, рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
SQL + Jupyter Notebooks
Jupyter Notebooks рд╕реЗ SQL рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рдХрджрдо ipython-sql рдкреИрдХреЗрдЬ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдпрджрд┐ рдпрд╣ рдЗрдВрд╕реНрдЯреЙрд▓ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ:
pip install ipython- sql
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдЗрд╕рдХреЗ рдмрд╛рдж, рдЕрдкрдиреЗ Jupyter Notebook рдореЗрдВ sql рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдЪрд▓рд╛рдХрд░ рд▓реЛрдб рдХрд░реЗрдВ тАФ
% load_ext sql
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдЕрдЧрд▓рд╛ рдХрджрдо рдХрд┐рд╕реА PostgreSQL рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдк рдЙрд╕реА рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдмрдирд╛рдпрд╛ рдерд╛ тАФ DataCamp_Courses ред
рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдмрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ Python рдХреЛ рдЙрд╕рдХрд╛ dialect рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ред рд╕рд░рд▓ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЖрдкрдХреЛ Python рдХреЛ рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ PostgreSQL рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ psycopg2 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬрд┐рд╕реЗ рдЗрд╕ рддрд░рд╣ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
pip install psycopg2
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
psycopg рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ тАФ
% sql postgresql: // postgres: postgres@localhost: 5432 / DataCamp_Courses
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
'Connected: postgres@DataCamp_Courses' рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
%sql рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдпрд╣ рдПрдХ рдореИрдЬрд┐рдХ рдХрдорд╛рдВрдб рд╣реИред рдпрд╣ рдЖрдкрдХреЛ Jupyter Notebook рд╕реЗ SQL рдХрдерди рдЪрд▓рд╛рдиреЗ рджреЗрддрд╛ рд╣реИред %sql рдХреЗ рдмрд╛рдж рдЬреЛ рдЖрддрд╛ рд╣реИ рдЙрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди URL рдХрд╣рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ тАФ
Dialect (postgres)
Username (postgres)
Password (postgres)
Server address (localhost)
Port number (5432)
Database name (DaaCamp_Courses)
рдЕрдм рдЖрдк Jupyter Notebook рд╕реЗ рд╡рд╣ рд╕рдм рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдиреЗ pgAdmin рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛ред рдЖрдЗрдП рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рд╕реНрдХреАрдорд╛ рд░рдЦрддреЗ рд╣реБрдП рдЯреЗрдмрд▓ _datacampcourses рдмрдирд╛рдХрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЯреЗрдмрд▓ рдХреЛ рдбреНрд░реЙрдк рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ SQL рдПрдХ рд╣реА рдирд╛рдо рдХреА рджреЛ рдЯреЗрдмрд▓ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдирд╣реАрдВ рджреЗрдЧрд╛ред рдЖрдк рдЯреЗрдмрд▓ рдХреЛ рдЗрд╕ рддрд░рд╣ рдбреНрд░реЙрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ тАФ
% sql DROP table datacamp_courses;
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
* postgresql:
Done.
[ ] рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдЯреЗрдмрд▓ _datacampcourses рдЕрдм PostgreSQL рд╕реЗ рдбрд┐рд▓реАрдЯ рд╣реЛ рдЪреБрдХреА рд╣реИ, рдЕрддрдГ рдЖрдк рдЗрд╕реА рдирд╛рдо рд╕реЗ рдирдИ рдЯреЗрдмрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
% % sql
CREATE TABLE datacamp_courses(
course_id SERIAL PRIMARY KEY,
course_name VARCHAR ( 50 ) UNIQUE NOT NULL,
course_instructor VARCHAR ( 100 ) NOT NULL,
topic VARCHAR ( 20 ) NOT NULL
) ;
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
* postgresql:
Done.
[ ] рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдпрд╣рд╛рдБ %sql рдФрд░ %%sql рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдПрдХ рдкрдВрдХреНрддрд┐ рдХреА рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк %sql рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдПрдХ рд╕рд╛рде рдХрдИ рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ %%sql рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЖрдЗрдП рдХреБрдЫ рд░рд┐рдХреЙрд░реНрдб рдбрд╛рд▓рддреЗ рд╣реИрдВ тАФ
% % sql
INSERT INTO datacamp_courses( course_name, course_instructor, topic)
VALUES( 'Deep Learning in Python' , 'Dan Becker' , 'Python' ) ;
INSERT INTO datacamp_courses( course_name, course_instructor, topic)
VALUES( 'Joining Data in PostgreSQL' , 'Chester Ismay' , 'SQL' ) ;
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
* postgresql:
1 rows affected.
1 rows affected.
[ ] рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрдмрд▓ рджреЗрдЦреЗрдВ рдХрд┐ insert рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╣реБрдП тАФ
% % sql
select * from datacamp_courses;
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
* postgresql:
2 rows affected. рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
course_id course_name course_instructor topic 1 Deep Learning in Python Dan Becker Python 2 Joining Data in PostgreSQL Chester Ismay SQL
рдХреНрд░рдо рдмрдирд╛рдП рд░рдЦреЗрдВред рдЕрдЧрд▓реЗ рдЪрд░рдг рдореЗрдВ, рдЖрдк рдЯреЗрдмрд▓ рдореЗрдВ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВрдЧреЗ тАФ
% sql update datacamp_courses set course_name = 'Joining Data in SQL' where course_instructor = 'Chester Ismay' ;
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
* postgresql:
1 rows affected.
[ ] рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
SQL рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджреЗрдВред рдкрд╛рд░рдВрдкрд░рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рдиреЛрдВ рдХреЛ single quotes рдореЗрдВ рд░рдЦрдирд╛ рд╣реЛрддрд╛ рд╣реИред
рдЕрдм рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреА update рдХреНрд╡реЗрд░реА рдХрд╛ рдЗрдЪреНрдЫрд┐рдд рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рд╛ тАФ
% % sql
select * from datacamp_courses;
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
* postgresql:
2 rows affected. рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
course_id course_name course_instructor topic 1 Deep Learning in Python Dan Becker Python 2 Joining Data in SQL Chester Ismay SQL
рдЕрдм рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдбрд┐рд▓реАрдЯ рдХрд░реЗрдВ рдФрд░ рдЬрд╛рдБрдЪреЗрдВ тАФ
% % sql
delete from datacamp_courses where course_name = 'Deep Learning in Python' ;
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
* postgresql:
1 rows affected.
[ ] рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
% % sql
select * from datacamp_courses;
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
* postgresql:
1 rows affected. рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
course_id course_name course_instructor topic 2 Joining Data in SQL Chester Ismay SQL
рдЕрдм рддрдХ рдЖрдк PostgreSQL рдореЗрдВ CRUD рдСрдкрд░реЗрд╢рди рдЪрд▓рд╛рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ Jupyter Notebook рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░рдиреЗ рдХрд╛ рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХрд╛ рд╕рдордЭ рдЪреБрдХреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк Python рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ Python рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдРрд╕рд╛ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЧрд▓рд╛ рднрд╛рдЧ рдЗрд╕реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред
SQLAlchemy рд╕реЗ рд╢реБрд░реБрдЖрдд рдФрд░ рдЗрд╕реЗ SQL рдореИрдЬрд┐рдХ рдХрдорд╛рдВрдбреНрд╕ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛
рдЗрд╕ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ SQLAlchemy рдкреИрдХреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдпрд╣ рдЖрдорддреМрд░ рдкрд░ Anaconda рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрд╢рди рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред рдЖрдк рдЗрд╕реЗ pip рд╕реЗ рднреА рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдЗрдореНрдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ тАФ
import sqlalchemy
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
SQLAlchemy рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрд╕ RDBMS рдХреЗ рд▓рд┐рдП рдПрдХ engine рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдБ рдЖрдкрдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдЯреЛрд░ рд╣реИрдВред рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ PostgreSQL рд╣реИред SQLAlchemy рдЖрдкрдХреЛ рдХреЗрд╡рд▓ create_engine() рдХреЗ рдПрдХ рдХреЙрд▓ рдореЗрдВ рд╣реА RDBMS рдХрд╛ engine рдмрдирд╛рдиреЗ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╡рд┐рдзрд┐ рд╡рд╣реА рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди URL рд▓реЗрддреА рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдкрд╣рд▓реЗ рджреЗрдЦ рдЪреБрдХреЗ рд╣реИрдВред
from sqlalchemy import create_engine
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
engine = create_engine( 'postgresql://postgres:postgres@localhost:5432/DataCamp_Courses' )
print ( engine. table_names( ) )
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
[ 'datacamp_courses' ] рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдЖрдк _datacampcourses рдирд╛рдо рдХреА рдЯреЗрдмрд▓ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдЧреЗ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк engine рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдлрд▓ рд░рд╣реЗред рдЖрдЗрдП рдЯреЗрдмрд▓ _datacampcourses рдХреЗ рд░рд┐рдХреЙрд░реНрдб рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ select рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ pandas DataFrame рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВред
рдЖрдк read_sql() рдореЗрдердб (pandas рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрддреНрдд) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдПрдХ SQL рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рдПрдХ engine рд▓реЗрддрд╛ рд╣реИред
import pandas as pd
df = pd. read_sql( 'select * from datacamp_courses' , engine)
df. head( )
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
┬а course_id course_name course_instructor topic 0 2 Joining Data in SQL Chester Ismay SQL
рдЖрдк рдЕрдкрдиреЗ Python рдХреЛрдб рдХреЗ рднреАрддрд░ %sql рдореИрдЬрд┐рдХ рдХрдорд╛рдВрдб рдХреЛ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
df_new = % sql select * from datacamp_courses
df_new. DataFrame( ) . head( )
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
* postgresql:
1 rows affected. рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
┬а course_id course_name course_instructor topic 0 2 Joining Data in SQL Chester Ismay SQL
рдЖрдк рдмрд╣реБрдд рдЖрдЧреЗ рдЖ рдЪреБрдХреЗ рд╣реИрдВ!
рдмрдзрд╛рдИ рд╣реЛ рдФрд░ рдЦреБрдж рдХреА рдкреАрда рдердкрдердкрд╛рдЗрдП! рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдЖрдкрдиреЗ рди рдХреЗрд╡рд▓ PostgreSQL рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХреА, рдмрд▓реНрдХрд┐ рдЖрдкрдиреЗ рдпрд╣ рднреА рджреЗрдЦрд╛ рдХрд┐ SQL рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рдХреИрд╕реЗ рдЪрд▓рд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред рдЕрдЧрд▓рд╛ рдХрджрдо рд╣реИ рдпрд╣ рд╡реЗрдмрд┐рдирд╛рд░ рджреЗрдЦреЗрдВ рдЬрд┐рд╕реЗ David Robinson (DataCamp рдХреЗ рдореБрдЦреНрдп рдбреЗрдЯрд╛ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ) рдиреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рд╡реЗ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдЕрдкрдиреЗ рджреИрдирд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ SQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░рд╛ Windows рдФрд░ Mac OS X рдкрд░ PostgreSQL рдХреИрд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рднреА рджреЗрдЦреЗрдВред рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ SQL рдХреМрд╢рд▓ рд╕реБрдзрд╛рд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░реАрди рд╕рдВрд╕рд╛рдзрди рд╣реИрдВ тАФ
рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдХреЗ рд▓рд┐рдП рдЕрдирд┐рд╡рд╛рд░реНрдп рдХреМрд╢рд▓ рд╣реИред SQL рдпрд╛рдиреА Structured Query Language рдЖрдкрдХреЛ рдпрд╣ рдХрд╛рдо рдмрд╣реБрдд рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИред SQL рди рдХреЗрд╡рд▓ рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рд╕реЗ рд╕рд╛рд░реНрдердХ рд╕рд╡рд╛рд▓ рдкреВрдЫрдиреЗ рджреЗрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рднреА рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмрд┐рдирд╛, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдХреЛрдИ рднреА рд╡рд╛рд╕реНрддрд╡рд┐рдХтАСрджреБрдирд┐рдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЬреНрдЮрд╛рди рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдбреЗрдЯрд╛ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдХреЗ рдФрдЬрд╝рд╛рд░реЛрдВ рдореЗрдВ рдмреЗрд╣рдж рдЕрд╣рдо рд╣реИред
рддреНрд╡рд░рд┐рдд рддрдереНрдп: SQL рдХреЛ SE-QU-EL рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдорд╣рддреНрд╡ рд╣реИ тАФ SQL рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд╛рдо рдерд╛ Simple English Query Languageред
рдЖрдо рддреМрд░ рдкрд░ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ тАФ
рд░рд┐рд▓реЗрд╢рдВрд╕ рдХреЛ рдЯреЗрдмрд▓ рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рдпрд╣ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдФрд░ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рднреАред
рдпрд╣ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ SQL рдХреЗ рдЪрд╛рд░ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдСрдкрд░реЗрд╢рди рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ: Create, Read, Update рдФрд░ Deleteред рд╕рд╛рдореВрд╣рд┐рдХ рд░реВрдк рд╕реЗ рдЗрди рдЪрд╛рд░ рдСрдкрд░реЗрд╢рди рдХреЛ рдЕрдХреНрд╕рд░ CRUD рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрд┐рди рднреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рд╣реЛрддреА рд╣реИ, рдЙрдирдореЗрдВ рдпреЗ рдЪрд╛рд░реЛрдВ рдСрдкрд░реЗрд╢рди рдореМрдЬреВрдж рд░рд╣рддреЗ рд╣реИрдВред
рдЖрдк PostgreSQL рдХреЛ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред PostgreSQL рдмрд╣реБрдд рд╣рд▓реНрдХрд╛ рд╣реИ рдФрд░ рдпрд╣ рдирд┐рдГрд╢реБрд▓реНрдХ рднреА рд╣реИред рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рдЖрдк тАФ
рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
PostgreSQL рдХреЗ рд╕рд╛рде рд╕реЗрдЯрдЕрдк рдФрд░ рд╢реБрд░реБрдЖрдд
PostgreSQL рдПрдХ рд╣рд▓реНрдХрд╛ рдФрд░ рдУрдкрди рд╕реЛрд░реНрд╕ RDBMS рд╣реИред рдЙрджреНрдпреЛрдЧ рдЬрдЧрдд рдореЗрдВ рдЗрд╕реЗ рдЕрддреНрдпрдзрд┐рдХ рд╕реНрд╡реАрдХрд╛рд░реНрдпрддрд╛ рдорд┐рд▓реА рд╣реИред рдЖрдк PostgreSQL рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЗрд╕рдХреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВред
PostgreSQL рдореЗрдВ рдХреНрд╡реЗрд░реА рд▓рд┐рдЦрдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЖрдкрдХреЗ рдорд╢реАрди рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдмреЗрд╣рдж рдЖрд╕рд╛рди рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЛ рдЫреЛрдЯреЗ рд╡реАрдбрд┐рдпреЛ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ 32тАСbit WindowsтАС7 рдорд╢реАрди рдкрд░ PostgreSQL рдХреИрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рдзреНрдпрд╛рди рджреЗрдВ: PostgreSQL рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдЖрдк рдЬреЛ рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рдкреЛрд░реНрдЯ рдирдВрдмрд░ рджрд░реНрдЬ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрдирдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдВред
рдЬрдм рдЖрдкрдиреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ PostgreSQL рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд▓рд┐рдпрд╛ рд╣реЛ, рддреЛ pgAdmin рдЦреЛрд▓реЗрдВред pgAdmin рдПрдХ рдЙрдкрдпреЛрдЧреА рдпреВрдЯрд┐рд▓рд┐рдЯреА рд╣реИ рдЬреЛ PostgreSQL рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд╕рд╛рде рдЖрддреА рд╣реИ рдФрд░ рдпрд╣ рдЖрдкрдХреЛ рд╕реБрдВрджрд░ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдпрдорд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬреБрдбрд╝реА рдЧрддрд┐рд╡рд┐рдзрд┐рдпрд╛рдБ рдХрд░рдиреЗ рджреЗрддреА рд╣реИред pgAdmin рдХрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ тАФ
pgAdmin рдЦреЛрд▓рдиреЗ рдкрд░ рдЖрдк рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ "PostgreSQL 9.4 (localhost:5432)" рдирд╛рдо рдХрд╛ рд╕рд░реНрд╡рд░ рд╕реВрдЪреАрдмрджреНрдз рджреЗрдЦреЗрдВрдЧреЗ тАФ
рдзреНрдпрд╛рди рджреЗрдВ: рдЖрдкрдХрд╛ рд╡рд░реНрдЬрд╝рди рдКрдкрд░ рджрд┐рдП рдЧрдП рд╕реЗ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдкреЛрд░реНрдЯ рдирдВрдмрд░ (5432) рднреАред
рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдЬреЛ рдкрд╛рд╕рд╡рд░реНрдб рдЖрдкрдиреЗ рджрд┐рдпрд╛ рдерд╛, рдЙрд╕реЗ рджрд░реНрдЬ рдХрд░ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред рд╕рдВрджрд░реНрдн рд╣реЗрддреБ тАФ https://www.loom.com/share/71708f6a99ee483a977991e9e8a25808ред
рд▓реЛрдХрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреИрд╕рд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ тАФ
рдЖрдкрдХрд╛ рдкрд╣рд▓рд╛ рдХрд╛рдо рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕реЗ рдЖрдк Databases рдЯреИрдм рдкрд░ рд░рд╛рдЗрдЯтАСрдХреНрд▓рд┐рдХ рдХрд░ рдФрд░ рдбреНрд░реЙрдктАСрдбрд╛рдЙрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ New Database рдЪреБрдирдХрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЗрдП DataCamp_Courses рдирд╛рдо рдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рддреЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрди рдЬрд╛рдиреЗ рдкрд░ рдЖрдк рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдЕрдЧрд▓реЗ рднрд╛рдЧреЛрдВ рдкрд░ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
PostgreSQL рдореЗрдВ CRUD рдСрдкрд░реЗрд╢рди
рджрд┐рдП рдЧрдП рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЯреЗрдмрд▓ рдмрдирд╛рдирд╛ -
рдХрд┐рд╕реА рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдЯреЗрдмрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рддреЛ рдЪрд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдЯреЗрдмрд▓ (рдЬрд┐рд╕реЗ рд░рд┐рд▓реЗрд╢рди рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) datacamp_courses рдирд╛рдо рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдирд┐рд░реНрджреЗрд╢ (рд╕реНрдХреАрдорд╛) рдХреЗ рд╕рд╛рде рдмрдирд╛рддреЗ рд╣реИрдВ тАФ
рдпрд╣ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдЯреЗрдмрд▓ рдХреЗ рдХреЙрд▓рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рдмрд╛рддреЗрдВ рдмрддрд╛рддрд╛ рд╣реИ тАФ
рдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдирдП рдмрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ DataCamp_Courses рдкрд░ рд░рд╛рдЗрдЯтАСрдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ CREATE Script рдЪреБрдиреЗрдВред рдЖрдкрдХреЛ рдирд┐рдореНрди рдЬреИрд╕рд╛ рдХреБрдЫ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП тАФ
рдЕрдм рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рддреЗ рд╣реИрдВ тАФ
рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдЗрд╕реЗ рдЪреБрдиреЗрдВ рдФрд░ рдореЗрдиреНрдпреВ рдмрд╛рд░ рд╕реЗ execute рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ тАФ
рдЖрдЙрдЯрдкреБрдЯ рдХреБрдЫ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП тАФ
PostgreSQL рдореЗрдВ рдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдХреА рдХреНрд╡реЗрд░реА рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрддреА рд╣реИ тАФ
рдЯреЗрдмрд▓ рдмрдирд╛рддреЗ рд╕рдордп рд╣рдордиреЗ рдХреЛрдИ table_constraints рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЕрднреА рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдХрд╛рдлрд╝реА рдкрдардиреАрдп рд╣реИ рд╕рд┐рд╡рд╛рдп SERIAL рдХреАрд╡рд░реНрдб рдХреЗред PostgreSQL рдореЗрдВ Serial рдЖрдкрдХреЛ рдСрдЯреЛтАСрдЗрдиреНрдХреНрд░рд┐рдореЗрдВрдЯ рдХреЙрд▓рдо рдмрдирд╛рдиреЗ рджреЗрддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ integer рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рди рдмрдирд╛рддрд╛ рд╣реИред Serial рд╣рдореЗрдВ рдХрд┐рд╕реА рдЯреЗрдмрд▓ рдХреА рдЖрдЦрд┐рд░реА рдбрд╛рд▓реА/рдЕрдкрдбреЗрдЯ рдХреА рдЧрдИ рдкреНрд░рд╛рдЗрдорд░реА рдХреА рдпрд╛рдж рд░рдЦрдиреЗ рдХреЗ рдмреЛрдЭ рд╕реЗ рдореБрдХреНрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рд╛рдЗрдорд░реА рдХреА рдХреЗ рд▓рд┐рдП рдСрдЯреЛтАСрдЗрдиреНрдХреНрд░рд┐рдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рд╣реИред Serial рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдиреЗрдВ рдпрд╣рд╛рдБред
рдирд╡-рдирд┐рд░реНрдорд┐рдд рдЯреЗрдмрд▓ рдореЗрдВ рдХреБрдЫ рд░рд┐рдХреЙрд░реНрдб рдбрд╛рд▓рдирд╛ тАФ
рдЗрд╕ рдЪрд░рдг рдореЗрдВ, рдЖрдк рдЯреЗрдмрд▓ рдореЗрдВ рдХреБрдЫ рд░рд┐рдХреЙрд░реНрдб рдбрд╛рд▓реЗрдВрдЧреЗред рдЖрдкрдХреЗ рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рдпреЗ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП тАФ
course_id рдХреЙрд▓рдо рдХреЗ рдорд╛рди PostgreSQL рд╕реНрд╡рдпрдВ рд╕рдВрднрд╛рд▓ рд▓реЗрдЧрд╛ред PostgreSQL рдореЗрдВ insert рдХреНрд╡реЗрд░реА рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрддреА рд╣реИ тАФ
рдЖрдЗрдП рдХреБрдЫ рд░рд┐рдХреЙрд░реНрдб рдбрд╛рд▓рддреЗ рд╣реИрдВ тАФ
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдиреЗ рдкреНрд░рд╛рдЗрдорд░реА рдХреА рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЖрдк рдЗрд╕рдХрд╛ рдкреНрд░рднрд╛рд╡ рдереЛрдбрд╝реА рджреЗрд░ рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗред
рдЬрдм рдЖрдк рдКрдкрд░ рдХреА рджреЛрдиреЛрдВ рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдЪрд▓рд╛рдПрдБрдЧреЗ, рддреЛ рд╕рдлрд▓ insertion рдкрд░ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП тАФ
рдЯреЗрдмрд▓ рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝рдирд╛/рджреЗрдЦрдирд╛ тАФ
рдпрд╣ рд╢рд╛рдпрдж рд╡рд╣ рдХрд╛рдо рд╣реИ рдЬреЛ рдЖрдк рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рд╕рдлрд░ рдореЗрдВ рдмрд╣реБрдд рдХрд░реЗрдВрдЧреЗред рдлрд┐рд▓рд╣рд╛рд▓ рджреЗрдЦреЗрдВ рдХрд┐ рдЯреЗрдмрд▓ datacamp_courses рдХреИрд╕реА рджрд┐рдЦ рд░рд╣реА рд╣реИред
рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдпрддрдГ select рдХреНрд╡реЗрд░реА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ select рдХреНрд╡реЗрд░реА рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрддреА рд╣реИ тАФ
рдЖрдЗрдП рдЯреЗрдмрд▓ datacamp_courses рд╕реЗ рд╕рднреА рдХреЙрд▓рдо рдЪреБрдирддреЗ рд╣реИрдВ
рдФрд░ рдЖрдкрдХреЛ рдпрд╣ рдорд┐рд▓рддрд╛ рд╣реИ тАФ
рдЕрдм рдкреНрд░рд╛рдЗрдорд░реА рдХреА рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдХреЛрд░реНрд╕ рдХреЗ рдирд╛рдо рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ тАФ
рдФрд░ рдЖрдкрдХреЛ рдпрд╣ рдорд┐рд▓рддрд╛ рд╣реИ тАФ
рдЖрдк рдЬрд┐рддрдиреЗ рдЪрд╛рд╣реЗрдВ рдХреЙрд▓рдо рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдкрд░рд┐рдгрд╛рдо рдЖрдк рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдмрд╢рд░реНрддреЗ рд╡реЗ рдЯреЗрдмрд▓ рдореЗрдВ рдореМрдЬреВрдж рд╣реЛрдВред рдпрджрд┐ рдЖрдк
select course_name, number_particpants from datacamp_courses;рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реЗрдЧреА рдХреНрдпреЛрдВрдХрд┐number_particpantsрдХреЙрд▓рдо рдЯреЗрдмрд▓ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдЕрдм рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдХреИрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИредрдЯреЗрдмрд▓ рдореЗрдВ рдХрд┐рд╕реА рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ тАФ
SQL рдореЗрдВ update рдХреНрд╡реЗрд░реА рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдЪрдирд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ:
рдЖрдк рдЙрд╕ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдЬрд╣рд╛рдБ course_instructor = "Chester Ismay" рд╣реИ рдФрд░ course_name рдХреЛ "Joining Data in SQL" рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВрдЧреЗред рдлрд┐рд░ рдЖрдк рдЬрд╛рдБрдЪреЗрдВрдЧреЗ рдХрд┐ рд░рд┐рдХреЙрд░реНрдб рдЕрдкрдбреЗрдЯ рд╣реБрдЖ рдпрд╛ рдирд╣реАрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреНрд╡реЗрд░реА рд╣реЛрдЧреА тАФ
рдЖрдЗрдП select рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдХрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдкрдХреА update рдХреНрд╡реЗрд░реА рдХрд╛ рдЗрдЪреНрдЫрд┐рдд рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рд╛ рдпрд╛ рдирд╣реАрдВ тАФ
рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреА update рдХреНрд╡реЗрд░реА рдареАрдХ рд╡реИрд╕реЗ рд╣реА рдЪрд▓реА рдЬреИрд╕рд╛ рдЖрдк рдЪрд╛рд╣рддреЗ рдереЗред рдЕрдм рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХрд┐рд╕реА рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдЯреЗрдмрд▓ рд╕реЗ рдХреИрд╕реЗ рд╣рдЯрд╛рддреЗ рд╣реИрдВред
рдЯреЗрдмрд▓ рдореЗрдВ рдХрд┐рд╕реА рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдбрд┐рд▓реАрдЯ рдХрд░рдирд╛ тАФ
SQL рдореЗрдВ delete рдХреНрд╡реЗрд░реА рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрддреА рд╣реИ:
рдЖрдк рдЙрд╕ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдбрд┐рд▓реАрдЯ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдЬрд╣рд╛рдБ course_name = "Deep Learning in Python" рд╣реИ рдФрд░ рдлрд┐рд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд░рд┐рдХреЙрд░реНрдб рдбрд┐рд▓реАрдЯ рд╣реБрдЖ рдпрд╛ рдирд╣реАрдВред рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реБрдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд╡реЗрд░реА рдпрд╣ рдХрд░ рджреЗрдЧреА тАФ
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЗрдЪреНрдЫрд┐рдд рд░рд┐рдХреЙрд░реНрдб рдЯреЗрдмрд▓ рд╕реЗ рдбрд┐рд▓реАрдЯ рд╣реБрдЖ рдпрд╛ рдирд╣реАрдВ тАФ
рдФрд░ рд╣рд╛рдБ, рдЗрдЪреНрдЫрд┐рдд рд░рд┐рдХреЙрд░реНрдб рд╡рд╛рдХрдИ рдбрд┐рд▓реАрдЯ рд╣реЛ рдЧрдпрд╛ред
рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдЪрдирд╛рдПрдБ PostgreSQL Tutorial рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рд╣реИрдВред
рдЕрдм рдЖрдк SQL рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА CRUD рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдЪрд▓рд╛рдирд╛ рдЬрд╛рдирддреЗ рд╣реИрдВред рдЖрдкрдореЗрдВ рд╕реЗ рдХреБрдЫ Jupyter Notebooks рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕реЛрдЪ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ рдХрд┐ рдХрд╛рд╢ рдЗрди рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреЛ рд╕реАрдзреЗ Jupyter Notebook рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реЛрддрд╛ред рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ, рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
SQL + Jupyter Notebooks
Jupyter Notebooks рд╕реЗ SQL рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рдХрджрдо
ipython-sqlрдкреИрдХреЗрдЬ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛редрдЗрд╕рдХреЗ рдмрд╛рдж, рдЕрдкрдиреЗ Jupyter Notebook рдореЗрдВ
sqlрдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдЪрд▓рд╛рдХрд░ рд▓реЛрдб рдХрд░реЗрдВ тАФрдЕрдЧрд▓рд╛ рдХрджрдо рдХрд┐рд╕реА PostgreSQL рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдк рдЙрд╕реА рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдмрдирд╛рдпрд╛ рдерд╛ тАФ DataCamp_Coursesред
рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдмрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ Python рдХреЛ рдЙрд╕рдХрд╛ dialect рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ред рд╕рд░рд▓ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЖрдкрдХреЛ Python рдХреЛ рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ PostgreSQL рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ
psycopg2рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬрд┐рд╕реЗ рдЗрд╕ рддрд░рд╣ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:psycopgрдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ тАФ%sqlрдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдпрд╣ рдПрдХ рдореИрдЬрд┐рдХ рдХрдорд╛рдВрдб рд╣реИред рдпрд╣ рдЖрдкрдХреЛ Jupyter Notebook рд╕реЗ SQL рдХрдерди рдЪрд▓рд╛рдиреЗ рджреЗрддрд╛ рд╣реИред%sqlрдХреЗ рдмрд╛рдж рдЬреЛ рдЖрддрд╛ рд╣реИ рдЙрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди URL рдХрд╣рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ тАФрдЕрдм рдЖрдк Jupyter Notebook рд╕реЗ рд╡рд╣ рд╕рдм рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдиреЗ pgAdmin рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛ред рдЖрдЗрдП рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рд╕реНрдХреАрдорд╛ рд░рдЦрддреЗ рд╣реБрдП рдЯреЗрдмрд▓ _datacampcourses рдмрдирд╛рдХрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЯреЗрдмрд▓ рдХреЛ рдбреНрд░реЙрдк рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ SQL рдПрдХ рд╣реА рдирд╛рдо рдХреА рджреЛ рдЯреЗрдмрд▓ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдирд╣реАрдВ рджреЗрдЧрд╛ред рдЖрдк рдЯреЗрдмрд▓ рдХреЛ рдЗрд╕ рддрд░рд╣ рдбреНрд░реЙрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ тАФ
рдЯреЗрдмрд▓ _datacampcourses рдЕрдм PostgreSQL рд╕реЗ рдбрд┐рд▓реАрдЯ рд╣реЛ рдЪреБрдХреА рд╣реИ, рдЕрддрдГ рдЖрдк рдЗрд╕реА рдирд╛рдо рд╕реЗ рдирдИ рдЯреЗрдмрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдЗрдП рдХреБрдЫ рд░рд┐рдХреЙрд░реНрдб рдбрд╛рд▓рддреЗ рд╣реИрдВ тАФ
рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрдмрд▓ рджреЗрдЦреЗрдВ рдХрд┐ insert рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╣реБрдП тАФ
рдХреНрд░рдо рдмрдирд╛рдП рд░рдЦреЗрдВред рдЕрдЧрд▓реЗ рдЪрд░рдг рдореЗрдВ, рдЖрдк рдЯреЗрдмрд▓ рдореЗрдВ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВрдЧреЗ тАФ
SQL рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджреЗрдВред рдкрд╛рд░рдВрдкрд░рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рдиреЛрдВ рдХреЛ single quotes рдореЗрдВ рд░рдЦрдирд╛ рд╣реЛрддрд╛ рд╣реИред
рдЕрдм рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреА update рдХреНрд╡реЗрд░реА рдХрд╛ рдЗрдЪреНрдЫрд┐рдд рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рд╛ тАФ
рдЕрдм рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдбрд┐рд▓реАрдЯ рдХрд░реЗрдВ рдФрд░ рдЬрд╛рдБрдЪреЗрдВ тАФ
рдЕрдм рддрдХ рдЖрдк PostgreSQL рдореЗрдВ CRUD рдСрдкрд░реЗрд╢рди рдЪрд▓рд╛рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ Jupyter Notebook рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░рдиреЗ рдХрд╛ рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХрд╛ рд╕рдордЭ рдЪреБрдХреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк Python рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ Python рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдРрд╕рд╛ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЧрд▓рд╛ рднрд╛рдЧ рдЗрд╕реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред
SQLAlchemy рд╕реЗ рд╢реБрд░реБрдЖрдд рдФрд░ рдЗрд╕реЗ SQL рдореИрдЬрд┐рдХ рдХрдорд╛рдВрдбреНрд╕ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛
рдЗрд╕ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ
SQLAlchemyрдкреИрдХреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдпрд╣ рдЖрдорддреМрд░ рдкрд░ Anaconda рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрд╢рди рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред рдЖрдк рдЗрд╕реЗ pip рд╕реЗ рднреА рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдЗрдореНрдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ тАФSQLAlchemy рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрд╕ RDBMS рдХреЗ рд▓рд┐рдП рдПрдХ engine рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдБ рдЖрдкрдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдЯреЛрд░ рд╣реИрдВред рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ PostgreSQL рд╣реИред SQLAlchemy рдЖрдкрдХреЛ рдХреЗрд╡рд▓
create_engine()рдХреЗ рдПрдХ рдХреЙрд▓ рдореЗрдВ рд╣реА RDBMS рдХрд╛ engine рдмрдирд╛рдиреЗ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╡рд┐рдзрд┐ рд╡рд╣реА рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди URL рд▓реЗрддреА рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдкрд╣рд▓реЗ рджреЗрдЦ рдЪреБрдХреЗ рд╣реИрдВредрдЖрдк _datacampcourses рдирд╛рдо рдХреА рдЯреЗрдмрд▓ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдЧреЗ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк engine рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдлрд▓ рд░рд╣реЗред рдЖрдЗрдП рдЯреЗрдмрд▓ _datacampcourses рдХреЗ рд░рд┐рдХреЙрд░реНрдб рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ select рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ
pandasDataFrame рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВредрдЖрдк
read_sql()рдореЗрдердб (pandas рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрддреНрдд) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдПрдХ SQL рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рдПрдХ engine рд▓реЗрддрд╛ рд╣реИредрдЖрдк рдЕрдкрдиреЗ Python рдХреЛрдб рдХреЗ рднреАрддрд░
%sqlрдореИрдЬрд┐рдХ рдХрдорд╛рдВрдб рдХреЛ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВредрдЖрдк рдмрд╣реБрдд рдЖрдЧреЗ рдЖ рдЪреБрдХреЗ рд╣реИрдВ!
рдмрдзрд╛рдИ рд╣реЛ рдФрд░ рдЦреБрдж рдХреА рдкреАрда рдердкрдердкрд╛рдЗрдП! рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдЖрдкрдиреЗ рди рдХреЗрд╡рд▓ PostgreSQL рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХреА, рдмрд▓реНрдХрд┐ рдЖрдкрдиреЗ рдпрд╣ рднреА рджреЗрдЦрд╛ рдХрд┐ SQL рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рдХреИрд╕реЗ рдЪрд▓рд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред рдЕрдЧрд▓рд╛ рдХрджрдо рд╣реИ рдпрд╣ рд╡реЗрдмрд┐рдирд╛рд░ рджреЗрдЦреЗрдВ рдЬрд┐рд╕реЗ David Robinson (DataCamp рдХреЗ рдореБрдЦреНрдп рдбреЗрдЯрд╛ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ) рдиреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рд╡реЗ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдЕрдкрдиреЗ рджреИрдирд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ SQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░рд╛ Windows рдФрд░ Mac OS X рдкрд░ PostgreSQL рдХреИрд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рднреА рджреЗрдЦреЗрдВред рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ SQL рдХреМрд╢рд▓ рд╕реБрдзрд╛рд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░реАрди рд╕рдВрд╕рд╛рдзрди рд╣реИрдВ тАФ