рдЕрдЬрдЧрд░, рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдкрд░рд┐рдЪрдп

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


рдирдорд╕реНрддреЗ, рдпрд╣рд╛рдБ рдФрд░ рдЕрдм рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрдпрд╛ рд╣реИрдВ, рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдЖрджрд┐; рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдЕрдЬрдЧрд░ рдФрд░ рдЙрд╕рдХреЗ sqlite3 рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред


рдбреЗрдЯрд╛рдмреЗрд╕ - рдбреЗрдЯрд╛ рдореЙрдбрд▓рд┐рдВрдЧ рдЙрдкрдХрд░рдг рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣реЗрд░рдлреЗрд░ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рд╕реНрдХреАрдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рд╕реЗрдЯ


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


рдбреЗрдЯрд╛рдмреЗрд╕ (DB) - рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреЛ рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред


рдпрд╣реА рд╣реИ, рд╣рдо рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдХреИрд╕реЗ рдЖ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ "рд╡рд╛рд░ рдПрдВрдб рдкреАрд╕" рдкреБрд╕реНрддрдХ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдЬрд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ "рдмреА" рдкрддреНрд░ рдХреЗ рд╕рд╛рде, рдЙрдкрдиреНрдпрд╛рд╕ рдХреЗ рдЦрдВрдб рдореЗрдВ рдЭреВрда рд╣реЛрдЧрд╛, рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд╣рдо рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд┐рдХреЙрд░реНрдб рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╢реИрд▓реАред


рдФрд░ рдпрд╣рд╛рдВ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИред


рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ?

рдФрд░ рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред


рдбреЗрдЯрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреИрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ


рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИрдВ:


  • рд░рд┐рд▓реЗрд╢рдирд▓
  • рдиреЗрдЯрд╡рд░реНрдХ
  • рд╢реНрд░реЗрдгреАрдмрджреНрдз

рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рд╢реНрд░реЗрдгреАрдмрджреНрдз рдбреЗрдЯрд╛рдмреЗрд╕:

рдРрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдЧреНрд░рд╛рдлрд╝ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВред


  • рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд - рдкреЗрдбрд╝ рдЧреНрд░рд╛рдл
  • рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ - рдкреВрд░реНрдг рдЧрдгрдирд╛

рд╣рдо рдпрд╣рд╛рдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдбреЗрдЯрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рддреЛ рдЪрд▓рд┐рдП рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред


рд╕рдВрдмрдВрдзрдкрд░рдХ рдбреЗрдЯрд╛рдмреЗрд╕

рд╕рдВрдмрдВрдзрдкрд░рдХ рдбреЗрдЯрд╛рдмреЗрд╕ - рдбреЗрдЯрд╛рдмреЗрд╕ рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХреНрд╕реЗрд▓ред


SQL рдПрдХ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рд╕рднреА рдбреЗрдЯрд╛ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣:





рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдордиреЗ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджрд┐рдпрд╛, рдФрд░ рд╣рдо рдЖрдЧреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред


рд╣рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?


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


рд╕рд┐рджреНрдзрд╛рдВрдд рд╕реЗ рдЕрднреНрдпрд╛рд╕ рддрдХ


рдЕрдм рд╣рдо рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рдЬрд╛рдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЙрд╕рд╕реЗ рдкрд╣рд▓реЗ рдореИрдВ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдКрдкрд░, рдореИрдВрдиреЗ рдпрд╣ рдкрдВрдХреНрддрд┐ рд▓рд┐рдЦреА рд╣реИ:


SQL рдПрдХ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рд╕рднреА рдбреЗрдЯрд╛ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдпрд╣ рд╕рдЪ рдирд╣реАрдВ рд╣реИред
SQL рдПрдХ рд╕рдВрд░рдЪрд┐рдд рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛ рд╣реИред рдореЛрдЯреЗ рддреМрд░ рдкрд░, рдпрд╣ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕, рдЙрдирдореЗрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдЖрджрд┐ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред



рдореЗрд░реЗ рдЬрд╛рдореНрдм рдиреЗ рд╕рд╣реА рдХрд┐рдпрд╛, рдЪрд▓реЛ рдЕрднреНрдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП!


Sqlite3 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


рд╣рд╛рдВ, рдпрд╣ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдХрднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдХрд┐рд╕реА рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА


рдореИрдВ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рдордп рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЕрдЧрд░ рдЖрдкрдХреЛ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдпрд╣рд╛рдВ рдЬрд╛рдПрдВред


рдкрд╣рд▓реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг


import sqlite3 as sql con = sql.connect('test.db') with con: cur = con.cursor() cur.execute("CREATE TABLE IF NOT EXISTS `test` (id INTEGER)") con.commit() 

рдкрд╣рд▓реЗ рдЖрдпрд╛рдд, рдлрд┐рд░ "con ="ред
рдореИрдВ рд╕рдордЭрд╛рддрд╛ рд╣реВрдВ, sql.connect ("test.db") - рдкрд╣рд▓реА рдмрд╛рд░ рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рдкрд░ "test.db" рдирд╛рдордХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдпрд╣ рдПрдХреНрд╕рдЯреЗрдВрд╢рди .db рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ


cur = con.cursor - рд╣рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдмрд╛рдХреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред


cur.execute (...) - рдирд╛рдо рдкрд░реАрдХреНрд╖рдг рдФрд░ рдХреЗрд╡рд▓ 1 рдЖрдИрдбреА рдХреЙрд▓рдо рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдбреЗрдЯрд╛ рд╕рдВрдЦреНрдпрд╛рдПрдВ рд╣реИрдВ


рдкреНрд░рддрд┐рдмрджреНрдз () - рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдмреЛрд▓, рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдмрдЪрдд


рдФрд░ рдЪрд▓реЛ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдирд╛рдо рдФрд░ рдЙрдкрдирд╛рдо рдХреЗ рд▓рд┐рдП рдкреВрдЫрддрд╛ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдпрд╛ рддреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ рдпрд╛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдкрд╕рдВрдж рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрддрд╛ рд╣реИред


 import sqlite3 as sql print("1 - \n2 - ") choice = int(input("> ")) con = sql.connect('test.db') with con: cur = con.cursor() cur.execute("CREATE TABLE IF NOT EXISTS `test` (`name` STRING, `surname` STRING)") if choice == 1: name = input("Name\n> ") surname = input("Surname\n> ") cur.execute(f"INSERT INTO `test` VALUES ('{name}', '{surname}')") elif choice == 2: cur.execute("SELECT * FROM `test`") rows = cur.fetchall() for row in rows: print(row[0], row[1]) else: print(" ") con.commit() cur.close() 

рд╣рдо рдорд╛рдирдХ рдХреНрд╖рдгреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗред


cur.execute ("INS ...") - рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рдирд╛


cur.execute ("SeL ...") - рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдФрд░ рдЪреВрдВрдХрд┐ рд╕рд░рдгреА рд╡рд╣рд╛рдВ рджреА рдЧрдИ рд╣реИ, рддреЛ рд╣рдо рдЙрд╕ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣рдо рдЯрдкрд▓ рд╕реЗ рдбреЗрдЯрд╛ рднреА рд▓реЗрддреЗ рд╣реИрдВред


рдЪреБрдиреЗрдВ, INSERT, DROP, рдЖрджрд┐ред рд╕рдм SQL рд╣реИред


cur.fetchall () рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ DB рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реА рд╕рдм рдХреБрдЫ рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред


рдирд┐рд╖реНрдХрд░реНрд╖


рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдФрд░ рдмрд╣реБрдд рдЬрд░реВрд░реА рдЪреАрдЬ рд╣реИред рдпрд╣рд╛рдВ рд╣рдордиреЗ рдЗрд╕рдХреЗ рдЗрддрдиреЗ рдЫреЛрдЯреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдЫреБрдЖ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рдЖрдкрдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╣реИ

Source: https://habr.com/ru/post/hi481084/


All Articles