SqliteDog - рдЖрдзреБрдирд┐рдХ SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрдХ

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

рдХрд╛рд╢, рдорд╛рддреНрд░рд╛ рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рдирд╣реАрдВ рдЧрдИ рд╣реЛрддреАред рд╣рдордиреЗ рд╕рднреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкрд╛рдИрдВред рдХреБрдЫ рдереЛрдбрд╝реЗ рдЪреМрдВрдХрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдмрд╣реБрдд рд╣реА рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░рдмрдВрдзрдХ рд╕рд░рд▓ рдирд╛рдо SQLite рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдореБрдлреНрдд рдРрдб-рдСрди рд╣реИред рдЙрдирдХреЗ рдЗрд╢реНрдпреВ рдЯреНрд░реИрдХрд░ рдореЗрдВ 234 рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ (рдпрд╣ рд░реВрд╕реА рдореЗрдВ рдХреИрд╕реЗ рд╣реЛрдЧреА?) рдПрдХ рдЕрдиреБрднрд╡реА рдЖрдИрдЯреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдХреЗ рд▓рд┐рдП рднрд╡рд┐рд╖реНрдп рдореЗрдВ рднреА рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣рд┐рд▓рд╛ рджреЗрдЧрд╛ред "8-рдмрд╛рдЗрдЯ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдЕрд╡реИрдз рдкреНрд░рджрд░реНрд╢рдиред" рд╣рд╛рдВ, рдпрд╣ рд╕рд╣реА рд╣реИ, рдпрд╣ рдкреНрд░рдмрдВрдзрдХ 8-рдмрд╛рдЗрдЯ рдкреВрд░реНрдгрд╛рдВрдХ (рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рдЗрд╕рдХреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рдХреГрддрд┐ рдХреЗ рдХрд╛рд░рдг) рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рд╕рднреА рдЕрдВрдХреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдирд╣реАрдВ рджрд┐рдЦрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрд░рд╛ рд╕реЛрдЪрд┐рдП, рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХреМрди рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИ?

рдХрдИ рдкреНрд░рдмрдВрдзрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╣реИрдВ (рд╡реЗ рд╕рднреА рд▓реЛрдХрдкреНрд░рд┐рдп рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ) рдФрд░ рдмрд╕ рдЖрдкрдХреЛ SQLite рдХреА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ (рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╣реИрдВ)ред рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛: рдПрдХ рдЕрддрд┐рднрд╛рд░рд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ред рдЕрдХреНрд╕рд░ рдпрд╣ рдорд╣рд╕реВрд╕ рд╣реЛрддрд╛ рдерд╛ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдЫреЛрдЯреЗ рдмрдЯрди рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рд░реВрдк рдореЗрдВ рдореБрдЦреНрдп рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдкреВрд░реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ "рдбрдВрдк" рдХрд┐рдпрд╛ред рдпрд╣ рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд╖реНрдЯрдкреНрд░рдж рдерд╛: рдПрдХ рдбреЗрдЯрд╛ рд╕рдВрдкрд╛рджрдХ, рдПрдХ рд╕реНрдХреАрдорд╛ рд╕рдВрдкрд╛рджрдХ, рдПрдХ рдбреЗрдЯрд╛ рдЖрдпрд╛рддрдХ, рдЖрджрд┐ рд╡рд┐рдкрдгрди рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЕрдВрдд рдореЗрдВ, рдлреИрд╢рдиреЗрдмрд▓ рдмрд╛рдд рдЖрдЬ - рдПрдХ рд╣реА рдХреЛрдб рдмреЗрд╕ рдФрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рде рдХрдИ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдЕрдХреНрд╕рд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдЫреЛрдЯреЗ рдХреАрдбрд╝реЗ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рд╣реИ: рдлрд╝реЙрдиреНрдЯ рд╕рдорд╕реНрдпрд╛рдПрдВ, рдЧрд▓рдд рдПрдиреНрдХреЛрдбрд┐рдВрдЧ, рдЧрд▓рдд рд▓рд╛рдЗрди рдКрдВрдЪрд╛рдИ, "рдирд┐рдпрдВрддреНрд░рдг", рдЖрджрд┐ред

рд╣рдорд╛рд░реА рд╢рдВрдХрд╛рдПрдВ stackoverflow.com рдкрд░ рдПрдХ рдкреЛрд╕реНрдЯ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдмрд▓рд┐рдд рдХреА рдЧрдИрдВ, рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рд╛ рдЧрдпрд╛ рдХрд┐ "рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ рдФрд░ рдпрд╣ SQLite рдХреЛ рд▓реЛрдХрдкреНрд░рд┐рдп рдмрдирд╛рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдирдХрд╛рд░рд╛рддреНрдордХ рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддрд╛ рд╣реИред" рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЬрдиреНрдо рд╣реБрдЖред



рдореБрдЭреЗ рдкрд░рд┐рдЪрдп рджреЗрдВ: SqliteDog рдПрдХ рдЖрдзреБрдирд┐рдХ SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрдХ рд╣реИред рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрдкрд╛рджрдХ рдХреЗ рдкрд░рд┐рдЪрд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ рддрд╛рдХрд┐ рдпрд╣ SQL рд╕рд░реНрд╡рд░ рдкреНрд░рдмрдВрдзрди рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХреНрд╕реЗрд▓ рдФрд░ рдХреНрд░реЛрдо рдХреЗ рдмреАрдЪ рдПрдХ рдХреНрд░реЙрд╕ рдХреА рддрд░рд╣ рджрд┐рдЦреЗред рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдордВрддреНрд░ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗ: рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрдХ "рддреАрди рд╕реНрддрдВрднреЛрдВ" рдкрд░ рдЦрдбрд╝рд╛ рд╣реИред рдпреЗ рд╕реНрд╡рдпрдВ рдбреЗрдЯрд╛, рдбреЗрдЯрд╛ рд╕реНрдХреАрдорд╛ рдФрд░ SQL рдХреНрд╡реЗрд░реА рд╣реИрдВред рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдХрд╛ рдирдореВрдирд╛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП; рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдЙрдкрдпреЛрдЧреА рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ)ред рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдЖрд░реЗрдЦ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕реЗ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред SQL рд╕рдВрдкрд╛рджрдХ рд╕реБрдВрджрд░, рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП; SQL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдПрдХ рджреГрд╢реНрдп рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ SQLite рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкреНрд░рдмрдВрдзрди рддрдВрддреНрд░ (PRAGMA) рднреА рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЬреЛ рдХрдИ рд╣реИрдВ рдФрд░ рдЬреЛ рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреА рдкреНрд░рддрд┐рдмрдВрдз рдЕрдХреНрд╖рдо рд╣реИрдВ рдФрд░ рдХреИрд╢ рдЖрдХрд╛рд░ 2000 рдЖрдзрд╛рд░ рдкреГрд╖реНрда рд╣реИрдВред 95% рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпреЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рдХреБрдЫ рд╕рдмрдореЗрдирд╕ рдХреЗ рдЕрдВрджрд░ "рдЫрд┐рдкреЗ рд╣реБрдП" рд╣реИрдВред

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

рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдЯреНрд░реА

рдпрд╣ рдПрдХ рдРрд╕рд╛ рдпрд╛рддрдирд╛ рдирд┐рдпрдВрддреНрд░рдг рд╣реИ, рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдмрд╛рдИрдВ рдУрд░ рд╕реНрдерд┐рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдкреЗрдбрд╝реЛрдВ рдореЗрдВ рдЬреБрдбрд╝реЗ рдбреАрдмреА рдХрдиреЗрдХреНрд╢рди рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯреЗрдмрд▓ рдХреЙрд▓рдо рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЖрдорддреМрд░ рдкрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:
- рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕реВрдЪреА рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдФрд░ рд╕рд╣реА рдПрдХ рдорд┐рд▓;
- "рдЯреЗрдмрд▓" рд╢рд╛рдЦрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ;
- рд╡рд╛рдВрдЫрд┐рдд рддрд╛рд▓рд┐рдХрд╛ рдвреВрдВрдвреЗрдВ;
- "рдХреЙрд▓рдо" рд╢рд╛рдЦрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, "рддреИрдирд╛рддреА" рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдЕрд░реНрде рд╣реИ:
- рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдХреНрд░реЙрд╕ рдореЗрдВ рдорд╛рдЙрд╕ рдХреЛ рдорд╛рд░реЛ, рдЬреЛ рд╣рд░ рдмрд╛рд░ рдЕрдкрдиреА рд╕реНрдерд┐рддрд┐ рдмрджрд▓рддрд╛ рд╣реИ;
- рдПрдХ рдирдИ рд╕реВрдЪреА рдХреЗ рдЙрджреНрднрд╡ рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рдЬреЛ рдкреЗрдбрд╝ рдХреЗ рдореМрдЬреВрджрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЛ рдмрджрд▓ рджреЗрддреА рд╣реИред
рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдкреЗрдбрд╝ рд╕рдВрднрд╡рддрдГ рд╕рдмрд╕реЗ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд┐рдпрдВрддреНрд░рдг рд╕рдВрднрд╡ рд╣реИ; рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓рдЪреАрд▓реЗрдкрди рдХреЗ рдХрд╛рд░рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдХрд┐рд╕реА рднреА рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЛ рд╣рд┐рд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рджреГрд╢реНрдп рдЖрдорддреМрд░ рдкрд░ "рдХреЙрд▓рдо рдХреЛ рджреЗрдЦреЛ" рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЙрд▓рдо рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкреНрд░рддрд┐рдмрдВрдз рд╣реИред рдХреЙрд▓рдо рдХреА рд╕реВрдЪреА рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдорд╛рд░реА рдорджрдж рдХреИрд╕реЗ рдХрд░реЗрдЧреА? рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрддрдВрдн рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рддрд╛рд▓рд┐рдХрд╛ рд╕реНрддрд░ рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЕрдЧрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрдИ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрддрдВрдн рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ? рдпрд╣ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ рд╕реНрдХреНрд░реАрди рдкрд░ рд╕рдм рдХреБрдЫ рддреБрд░рдВрдд рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ (рдкреНрд░рддреНрдпреЗрдХ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ)ред рдЖрджрд┐
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдордиреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХрдИ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ (рдкрд░рд┐рдЪрд┐рдд) рдЕрднреНрдпрд╛рд╕ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд┐рдпрд╛ред рд╣рдореЗрдВ рдпрд╣ рдкреНрд░рддреАрдд рд╣реБрдЖ рдХрд┐ рдпрд╣ рднреНрд░рдо рдФрд░ рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рд╕реНрд░реЛрдд рд╣реИ: рд╣рд░ рд╕рдордп рд╣рдореЗрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдпрд╛ рдЙрд╕ рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХрд┐рд╕ рдЖрдзрд╛рд░ рдкрд░ рдЖрдпреЛрдЬрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдордиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ (рдПрдХ рдХрдиреЗрдХреНрд╢рди) рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреЗрдбрд╝ рдХреЛ рдЯреЗрдмрд▓ рдФрд░ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреА рдПрдХ рд░реИрдЦрд┐рдХ рд╕реВрдЪреА рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рдЖрдк рдЗрддрд┐рд╣рд╛рд╕ рд╕реЗ рдХрд┐рд╕реА рднреА рдЖрдзрд╛рд░ рдкрд░ рдЬрд▓реНрджреА рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, SqliteDog рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рд▓реЗрдЖрдЙрдЯ рдХреЛ рджреЗрдЦрдиреЗ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рджреЛ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рд╕реВрдЪреА рдХреЗ рддрддреНрд╡, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдмрдиреЗ рд░рд╣рддреЗ рд╣реИрдВред

SQL рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдирд╛

рдЬреИрд╕рд╛ рдХрд┐ рдЕрдХреНрд╕рд░ рд╣реЛрддрд╛ рд╣реИ, рдПрдХ рдирд┐рд░реНрдгрдп рджреВрд╕рд░реЗ рдХреЛ рд▓реБрднрд╛рддрд╛ рд╣реИред рдЬреИрд╕реЗ рд╣реА рд╣рдордиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рд╣рдо рдЬрд▓реНрджреА рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╕рднреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рджрд░реНрдЬ рдХрд┐рдП рдЧрдП SQL рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдЦреЛрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдереАред рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ SQL рдХреНрд╡реЗрд░реА рд╕реНрдЯреЛрд░ рдХрд░реЗрдВ? рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВ? рдлрд┐рд░ рд╕реЗ - рдкреБрд░рд╛рддрдирддрд╛ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ "рд╕рдмрд╕реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА" DBMS рд╣реИред рдкреНрд░рд╢реНрди рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдЫреЛрдЯреЗ рд╣реЛрддреЗ рд╣реИрдВред рдЙрдирдХреА рдХрд╣рд╛рдиреА рд░рдЦрдиреЗ рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рддреЛ, рд╕рднреА рдЕрдиреБрд░реЛрдз рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рд╣реЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рдХрд╖реНрдЯрдкреНрд░рдж рдЦрд┐рдбрд╝рдХреА "рдЖрдкрдиреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП, рдмрдЪрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?" рдЪрд▓рд╛ рдЧрдпрд╛, рдХреНрдпрд╛ рд░рд╛рд╣рдд рд╣реИред рд▓реЗрдХрд┐рди рдХреБрдЫ рдЦреЛ рдЧрдпрд╛ рдерд╛ред рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдЬрд╛рдирдХрд╛рд░реА, рдПрдХ рдмрд╛рдзреНрдпрдХрд╛рд░реА, рдФрд░ рдЕрдм рдЙрдирдХреЗ рдкрд╛рд╕ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рд╣рдордиреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рдХреАрд╡рд░реНрдб рдХреЗ рд▓рд┐рдП рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рдПрдХ рдЦреЛрдЬ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИред

рдХрд┐рд╕реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЪрдпрдирд┐рдд рдбреЗрдЯрд╛ рджреЗрдЦреЗрдВ

рд╕рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрдХ рдЖрдкрдХреЛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЕрдиреБрд░реЛрдзрд┐рдд рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ (рдЗрд╕реЗ рдЙрдирд╕реЗ рджреВрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред рд╡реЗ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрддрдВрднреЛрдВ рдХреА рдЪреМрдбрд╝рд╛рдИред рдЖрдорддреМрд░ рдкрд░, рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рдлрд┐рдЯрд┐рдВрдЧ рдХреЗ рдмрдЬрд╛рдп, рдХреЙрд▓рдо рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдкреВрд░реА рдЪреМрдбрд╝рд╛рдИ рдХреЛ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕реНрдХреНрд░реАрди рд╕реНрдкреЗрд╕ рдХрд╛ рдмреЗрд╣рдж рдЕрдХреНрд╖рдо рдЙрдкрдпреЛрдЧ рд╣реИред рдпрд╛ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рджреГрд╢реНрдп рд▓реЗ рд▓реЛред рддреБрд░рдВрдд рд░рдВрдЧ рдореЗрдВ рдХреНрдпреЛрдВ рдирд╣реАрдВ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдореВрд▓реНрдп: рд╕реНрдЯреНрд░рд┐рдВрдЧ рдпрд╛ рд╕рдВрдЦреНрдпрд╛? рддреБрд░рдВрдд рдирдВрдмрд░ рдХреЛ рджрд╛рдИрдВ рдУрд░ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣рд░рд╛рдпрд╛? рдПрдХ рдЦрд╛рд▓реА рд╕реЗрд▓ NULL рдпрд╛ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ? рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрднреА рднреА рд╕реЗрд▓ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдФрд░ рдХреБрдЫ рдЧреБрдгреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВ? рдпрджрд┐ рд╕реЗрд▓ рдореЗрдВ BLOB (рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛) рд╣реЛрддрд╛ рд╣реИ - рддреЛ рдореБрдЭреЗ рдЗрд╕рдХрд╛ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреНрдпреЛрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП? рдХреНрдпрд╛ рдХрд╛рд░рдг рд╣реИ? рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рднреА рдкреНрд░рдмрдВрдзрдХ рдмреНрд▓реЙрдмреНрд╕ рдореЗрдВ рдЪрд┐рддреНрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдкрд░ рдЧрд░реНрд╡ рдХрд░рддреЗ рд╣реИрдВред рдзрдиреНрдпрд╡рд╛рдж, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд▓реЗрдХрд┐рди рддрд╛рд░ рдФрд░ рд╕рдВрдЦреНрдпрд╛ рдЕрднреА рднреА рдЕрдзрд┐рдХ рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИред рдРрд╕реА (рдмрд▓реНрдХрд┐ рдЕрдЬреАрдм) рдЯреНрд░рд┐рдХ рднреА рд╣реИред рдпрджрд┐ рд╕реНрддрдВрдн рдорд╛рди рдЧрд╛рдбрд╝реА рдХреЗ рд░рд┐рдЯрд░реНрди рдХреЗ рд╕рд╛рде рдПрдХ рдкрдВрдХреНрддрд┐ рд╣реИ, рддреЛ рддрд╛рд▓рд┐рдХрд╛ рдкрдВрдХреНрддрд┐ рдХреА рдКрдВрдЪрд╛рдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред рдпрд╛рдиреА рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЙрд▓рдо рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдЫреЛрдЯреЗ XML рдкрд╛рда рд╣реИрдВред рдПрдХ рд╕реНрдХреНрд░реАрди рдкрд░ рджреЗрдЦрдиреЗ рдкрд░, рдЕрдзрд┐рдХрддрдо 3 рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдЕрдм рдлрд┐рдЯ рд╣реЛрддреА рд╣реИрдВред
SqliteDog рдореЗрдВ, рд╣рдордиреЗ рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧреА "рдЕрдзрд┐рдХрддрдо рдирд┐рдЪреЛрдбрд╝рдиреЗ" рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдмрд┐рдирд╛, рддреБрд░рдВрддред рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рджрд╛рдИрдВ рдУрд░ рдлреНрд▓реИрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред NULL рдорд╛рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрд▓рдЧ рд╣реЛрддрд╛ рд╣реИред BLOB рдХреЗ рд▓рд┐рдП, рдЖрдХрд╛рд░ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдорд╛рди рд╕реНрдЯреНрд░рд┐рдВрдЧ ("\ r \ n") рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рд╡рд░реНрдг рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЕрд▓рдЧ рд░рдВрдЧ рдореЗрдВ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрд╛рд▓рд┐рдХрд╛ рдкрдВрдХреНрддрд┐ рдХреА рдКрдВрдЪрд╛рдИ рдирд╣реАрдВ рдмрдврд╝рддреА рд╣реИред рдмреЗрд╢рдХ, рдЪрд┐рддреНрд░ рднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдФрд░ рдПрдХ рдХреНрд▓рд┐рдХ рд╕реЗ рдЖрдк рдЪрд┐рддреНрд░ рдХреЛ рдкреВрд░реНрдг рд╕реНрдХреНрд░реАрди рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдХреНрд▓рд┐рдХ (рдпрд╛ F4 рджрдмрд╛рдХрд░), рджрд┐рдЦрд╛рдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕реНрддрдВрднреЛрдВ рдХреА рдЪреМрдбрд╝рд╛рдИ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЙрдирдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рд╕реЗрд▓ рдкрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХреЙрд▓рдо рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЖрдк рдорд╛рдЙрд╕ рдФрд░ рдХреАрдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рдпрдВрддреНрд░рдг рдХреБрдВрдЬреА рдХреЛ рджрдмрд╛рдП рд░рдЦрддреЗ рд╣реБрдП рдорд╛рдЙрд╕ рд╡реНрд╣реАрд▓ рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рдЖрдкрдХреЛ рдмрд╛рдИрдВ рдФрд░ рджрд╛рдИрдВ рдУрд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпреЗ рд╕рднреА рдЫреЛрдЯреА рдЪреАрдЬреЗрдВ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддреА рд╣реИрдВред

"рдХреБрдЫ рднреА рдирд╣реАрдВ" рдХреНрдпрд╛ рд╣реИ?

рдкрд░рдВрдкрд░рд╛рдЧрдд рд░реВрдк рд╕реЗ, рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ "рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдирд╣реАрдВ" рд╕реНрдерд┐рддрд┐ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ред рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ SqliteDog рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рдХреНрдпрд╛ рд╡рд╣ рджреВрд╕рд░рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ? рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рдХреЛ рдмрдВрдж рдХреНрдпреЛрдВ рдХрд░реЗрдВ - рдмрд╕ рдПрдХ рдФрд░ рдЦреЛрд▓реЗрдВред рдХреНрдпрд╛ рд╡рд╣ рдиреМрдХрд░реА рдкреВрд░реА рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ? рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЖрдкрдХреЛ рдмрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдпрд╣ рдерд╛: SqliteDog рдореЗрдВ рд╣рдореЗрд╢рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рддреЛ SqliteDog "рдореЗрдореЛрд░реА рдореЗрдВ" (SQLite рдХреА рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ) рдПрдХ рдЦрд╛рд▓реА рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рддрд╛ рд╣реИред рдЖрд╡реЗрджрди рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рдПрдХ рд╣реА рдмрд╛рддред рдЬреИрд╕реЗ рд╣реА рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рджрд┐рдЦрд╛рдИ рджреА, рддреБрд░рдВрдд рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдпреЛрдЧ рдкрд░рд┐рджреГрд╢реНрдп рдЙрддреНрдкрдиреНрди рд╣реБрдЖред рдХрднреА-рдХрднреА рдЖрдкрдХреЛ SQLite рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо рдЬрд▓реНрджреА рдпрд╛рдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рдо SqliteDog рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреБрд░рдВрдд SQL рдЗрдирдкреБрдЯ рд╡рд┐рдВрдбреЛ рдЙрдкрд▓рдмреНрдз рд╣реИред рд╣рдо рдирд╛рдо рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ - рд╕реНрд╡рдд: рдкреВрд░реНрдг рд╣реЛрдиреЗ рдХреА рд╕реВрдЪреА рдкреНрд░рдХрдЯ рд╣реЛрддреА рд╣реИред рд╡рд╛рдВрдЫрд┐рдд рдлрд╝рдВрдХреНрд╢рди, рдХреЙрдкреА, рдХрд┐рдпрд╛ рд╣реБрдЖ рдЦреЛрдЬреЗрдВред

рд╡реНрдпрд╛рдкрд╛рд░- offs рд╡реНрдпрд╛рдкрд╛рд░- offs

рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рд╡рд┐рдХрд╛рд╕ рдЖрдЧреЗ рдмрдврд╝рд╛, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐, рд╕рдВрднрд╡рддрдГ, рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдЕрд╕реАрдорд┐рдд рд╣реИред рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдкреНрд░рдХреГрддрд┐ рд╣реИред рдЖрдк рд╣рдореЗрд╢рд╛ рдПрдХ рдФрд░ "рд╡рд┐рд╢рд▓рд┐рд╕реНрдЯ" рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЙрд╕рдХреЗ рдмрд┐рдирд╛ - рдареАрдХ рд╣реИ, рдХреБрдЫ рднреА рдирд╣реАрдВред рдЗрд╕рд▓рд┐рдП, рдПрдХ "рд░реЗрдЬрд░" рдирд┐рд░реНрдгрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: "рдмрдбрд╝реА" рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ "рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг" рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрдгрдп рд╕рд╛рдореВрд╣рд┐рдХ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рд╡рд╛рд▓реЗ рд╕рдХреНрд░рд┐рдп рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдФрд░ "рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг" рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд░рдЦреА рдЧрдИ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд╛рде рджреЗрдЦрдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдмрд╛рд░-рдмрд╛рд░ рдПрдХ рд╣реА рдЪреАрдЬ рдХреЗ рд╕рд╛рде рди рдЖрдПрдВред рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рдПрдХ рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд▓рд┐рдП рд░рд┐рдХреНрддрддрд╛ рдиреЗ рджреВрд╕рд░реЗ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛ рджрд┐рдпрд╛ рдФрд░ рдлрд┐рд░ рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдкрд╣рд▓реА рдмрд╛рд░ "рд╡рд╛рдкрд╕реА" рдХреА рд╕реБрд╡рд┐рдзрд╛ рджреАред рдордЬрд╛рдХрд┐рдпрд╛ рдХреНрд╖рдгреЛрдВ рд╕реЗ рднреА: рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЗрддрдиреЗ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рд╡рд┐рд▓рдВрдмрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЕрдзрд┐рдХ рдЬрд░реВрд░реА рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрдк SqliteDog рдореЗрдВ рдорд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рдЯреИрдм рдирд╣реАрдВ рдЦреАрдВрдЪ рд╕рдХрддреЗред рдпрд╣ "рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг" (рд╢рд╛рдпрдж :) рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдПрдХ рдЕрдиреНрдп рдЯреНрд░реЗрдбрдСрдлрд╝ рдПрдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо (рд╡рд┐рдВрдбреЛрдЬрд╝) рдЪреБрди рд░рд╣рд╛ рд╣реИред рдХрд╛рд╢, рд╣рдо рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдврд╛рдВрдЪрд╛ рдирд╣реАрдВ рдвреВрдВрдв рдкрд╛рддреЗ рдЬреЛ рдЧреБрдгрд╡рддреНрддрд╛ рдФрд░ рдЧрддрд┐ рдХреЛ рдиреБрдХрд╕рд╛рди рдкрд╣реБрдВрдЪрд╛рдП рдмрд┐рдирд╛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкреНрд░рджрд╛рди рдХрд░рддрд╛ред рдЕрдкрдиреА рдЦреБрдж рдХреА рдЪреАрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрд░реНрдерд╛рдд, рдкрд╣рд┐рдпрд╛ рдХреЛ рдордЬрдмреВрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрднреА рднреА рдПрдХ рд╣рд▓рдЪрд▓ рд╣реИ, рд▓рдХреНрд╖реНрдп рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рдерд╛ред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ "рддреЗрдЬ" рдХрд┐рдпрд╛ рдЧрдпрд╛ (рдФрд░ рд▓рдЧрднрдЧ рдПрдХ рд╡рд░реНрд╖ рд▓рд┐рдпрд╛ рдЧрдпрд╛)ред рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╕реНрддрд░ рдкрд░ рдЬрд╡рд╛рдмрджреЗрд╣реА рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдЧреБрдгрд╡рддреНрддрд╛ рдорд┐рд▓реАред

рд▓рд╛рдЗрд╕реЗрдВрд╕

рдлрд┐рд░ рд╣рдо рд░реЛрдХрддреЗ рд╣реИрдВ (рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣реЗрдмрд░рд╛рд╕рд┐рдЯреА рдХреЛ "рдЧрд╛рдерд╛" рдХреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд╣реИ, рддреЛ рдпрд╣ рдЕрдиреБрд╕рд░рдг рдХрд░реЗрдЧрд╛)ред рдЙрддреНрдкрд╛рдж рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рд╣рдордиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рдХрдорд░реНрд╢рд┐рдпрд▓ рдХреЗ рдЕрд▓рд╛рд╡рд╛ SqliteDog рдХрд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдореБрдлреНрдд рд╕рдВрд╕реНрдХрд░рдг рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред рд╕рдордп рдХреА рд╕реАрдорд╛ рдХреЗ рдмрд┐рдирд╛, рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЖрдХрд╛рд░, рдЖрджрд┐ред 30 рджрд┐рдиреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рдж рдирд┐: рд╢реБрд▓реНрдХ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдХреЗрд╡рд▓ рдбрд┐рдЬрд╛рдЗрдирд░ (рдбреЗрдЯрд╛рдмреЗрд╕, рдЯреЗрдмрд▓ рдФрд░ рдЗрдВрдбреЗрдХреНрд╕) рдФрд░ рдХреБрдЫ рдбреЗрдЯрд╛ рдЖрдпрд╛рдд / рдирд┐рд░реНрдпрд╛рдд рдЕрдиреБрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред SqliteDog рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреВрд░реА рддрд░рд╣ рд╕реЗ Russified рд╣реИ (рдмреЗрд╢рдХ, рдкреНрд░рд╢рдВрд╕рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрдЧреНрд░реЗрдЬреА рдкреНрд░рд╕рд╛рд░рдг рд╣реИ)ред рд╕рд╛рдЗрдЯ рдХрд╛ рд░реВрд╕реА рд╕рдВрд╕реНрдХрд░рдг рднреА рдореМрдЬреВрдж рд╣реИред

http://sqlitedog.com рдЫрд╡рд┐

рдирд┐рд╖реНрдХрд░реНрд╖ рдпрд╛ рдЯреАрдПрд▓; рдбреАрдЖрд░

SqliteDog рдХреБрд╢рд▓ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрдХ рд╣реИред рдЗрд╕рдХреЗ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рдиреЗ рд╕рд╛рдорд╛рдиреНрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдФрд░ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рдФрд░ рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдЗрд╕рд▓рд┐рдП, рдПрдХ рдЖрд╡реЗрджрди = рдПрдХ рдЖрдзрд╛рд░ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдПрдХ рдХрдиреЗрдХреНрд╢рди, рдЖрдк ATTACH рдЕрдиреНрдп рдЖрдзрд╛рд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред рдирдореВрдирд╛ рдбреЗрдЯрд╛ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕реВрдЪрдирд╛рддреНрдордХ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдк рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рджреЗрдЦ / рд╕реЙрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЖрдк Esc рджрдмрд╛рдХрд░ рдХрд┐рд╕реА рднреА рд╕рдордп рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред SqliteDog рдХреА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдЕрджреНрд╡рд┐рддреАрдп рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрдиреЗрдХреНрд╢рди рдмрд╛рд░ рдкрд░ рдмрдЯрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЗрдирджреЗрди рдкреНрд░рдмрдВрдзрдиред рдпрд╛ рдПрдХ рдЯреЗрдмрд▓ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдореЛрдб, рдЬрд┐рд╕рдореЗрдВ рдирдИ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЛрдб рдХреА рдЬрд╛рддреА рд╣реИрдВ ("рдЕрдВрддрд┐рдо 1000 рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ", рд╕рд░реНрдХрд▓ рдореЗрдВ рдПрдХ рддреАрд░ рд╕реЗ рдмрдЯрди рджрдмрд╛рдПрдВ)ред рдпрд╛ рдЖрдзрд╛рд░ рдЖрд░реЗрдЦ рдХреЛ рдЦреЛрд▓рдиреЗ рдФрд░ рдЗрд╕реЗ рджреВрд╕рд░реЗ рдореЙрдирд┐рдЯрд░ рдкрд░ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдареАрдХ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ (рд╣рдореЗрд╢рд╛ рдЕрдкрдиреА рдЖрдВрдЦреЛрдВ рдХреЗ рд╕рд╛рдордиреЗ)ред рдпрд╛ рдПрдХ рдХреНрд▓рд┐рдХ рдХреЗ рд╕рд╛рде рдпреВрдирд┐рдХреНрд╕ рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХреЙрд▓рдо рдореВрд▓реНрдп рдореЗрдВ рдХреИрд░рд┐рдЬ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред

рд╣рдореЗрдВ рд╕рдВрд╢реЛрдзрди рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рд╕реБрдЭрд╛рд╡ рд╕реБрдирдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред рдЖрдкрдХреА рд░реБрдЪрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

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


All Articles