Node.js рдореЗрдВ MySQL рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░реА рд╕реБрд╡рд┐рдзрд╛рдПрдВ

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

рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рд╕реБрд╡рд┐рдзрд╛рдПрдВ


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, "рд░рд┐рдЯрд░реНрди" рд╢рдмреНрдж рдХреЗ рддрд╣рдд рдореЗрд░рд╛ рдорддрд▓рдм рджреВрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЙрд▓рдмреИрдХ рд╕реЗ рд╣реЛрдЧрд╛, рди рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдкред

рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛: рдХрдиреЗрдХреНрд╢рдиред queryRow (sql, рдорд╛рди, рдХреЙрд▓рдмреИрдХ) рдПрдХ рд╣реИрд╢ (рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгреА) рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдлрд╝реАрд▓реНрдб рдирд╛рдо рдХреБрдВрдЬреА рдмрди рдЬрд╛рддреЗ рд╣реИрдВ (рдХреНрд╡реЗрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░рдгреА рдореЗрдВ рд╕рд░рдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп)ред
рдЙрджрд╛рд╣рд░рдг
connection.queryRow('SELECT * FROM Language where LanguageId=?', [3], function(err, row) { console.dir({queryRow:row}); /* Example: queryRow: { LanguageId: 3, LanguageName: 'Russian', LanguageSign: 'ru', LanguageISO: 'ru', Caption: '' } */ }); 

рдПрдХ рд╕реНрдХреЗрд▓рд░ (рдпрд╛рдиреА, рдПрдХ рдПрдХрд▓ рдорд╛рди) рд▓рд╛рдирд╛ : рдХрдиреЗрдХреНрд╢рдиред queryValue (sql, рдорд╛рди, рдХреЙрд▓рдмреИрдХ) рдПрдХ рдПрдХрд▓ рдорд╛рди рджреЗрддрд╛ рд╣реИ (рдПрдХрд▓ рдорд╛рди рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рд╕рд░рдгреА рдореЗрдВ рд╕рд░рдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп)ред рдПрдХ рд░рд┐рдХреЙрд░реНрдб рд╕реЗ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╕рдордп рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдИрдЖрдИрдПрдо рдирд╛рдо рд╕реЗ рд╕рдВрдХреЗрдд 1 рдпрд╛ рдХрд╛рд░реНрдп рдЧрдгрдирд╛ (*), рдЕрдзрд┐рдХрддрдо (рдлрд╝реАрд▓реНрдб), рдЖрджрд┐ред
рдЙрджрд╛рд╣рд░рдг
 connection.queryValue('SELECT LanguageName FROM Language where LanguageId=?', [8], function(err, name) { console.dir({queryValue:name}); /* Example: queryValue: 'Italiano' */ }); 

рдПрдХрд▓ рд╕реНрддрдВрдн рд▓рд╛рдиреЗ : рдХрдиреЗрдХреНрд╢рдиред рдХреНрд╡реЗрд░реАрдХреЙрд▓ (sql, рдорд╛рди, рдХреЙрд▓рдмреИрдХ) рдХреНрд╡реЗрд░реА рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝реАрд▓реНрдб рдХреЗ рдореВрд▓реНрдпреЛрдВ рд╕реЗ рднрд░рд╛ рдПрдХ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдпрд╣ рдХреНрд╖реИрддрд┐рдЬ рд░рд┐рдХреЙрд░реНрдб рдХреНрд╡реЗрд░реА рдХреЗ рдЪрдпрди рдХреЗ рд╡рд┐рдкрд░реАрдд, рдПрдХ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдХреЙрд▓рдо рдХрд╛ рдЪрдпрди рд╣реИред
UPD: gelas рдиреЗ рдореБрдЭреЗ рдХреНрд╡реЗрд░реА рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╢реНрд╡рд╕реНрдд рдХрд┐рдпрд╛, рдлрд┐рд░ рдХреНрд╡реЗрд░реА рд╕реЗ рдХреНрд╡реЗрд░реА рдХреЗ рд╕рдорд╛рдиред
рдЙрджрд╛рд╣рд░рдг
 connection.queryCol('SELECT LanguageSign FROM Language', [], function(err, result) { console.dir({queryCal:result}); /* Example: queryArray: [ 'de', 'en', 'es', 'fr', 'it', 'pl', 'ru', 'ua' ] */ }); 

рд╣реИрд╢ рдлреЗрдЯ : рдХрдиреЗрдХреНрд╢рдиред queryHash (sql, рдорд╛рди, рдХреЙрд▓рдмреИрдХ) рджреЛ-рд╕реНрддрд░реАрдп рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╢рд┐рдХрд╛рд░ рдХрд╛ рдПрдХ рд╣реИрд╢ (рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгреА) рджреЗрддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рдкрд╣рд▓реЗ рд╕реНрддрд░ рдХреА рдХреБрдВрдЬрд┐рдпрд╛рдБ рдХреНрд╡реЗрд░реА рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╕реЗ рдкрд╣рд▓реЗ рдлрд╝реАрд▓реНрдб рдХреЗ рдорд╛рди рд╣реИрдВ, рдФрд░ рджреВрд╕рд░реЗ рд╕реНрддрд░ рдХреА рдХреБрдВрдЬрд┐рдпрд╛рдБ рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдо (рдкрд╣рд▓реЗ рд╕рд╣рд┐рдд) рдХреЗ рд╕рднреА рдлрд╝реАрд▓реНрдб рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг
 connection.queryHash( 'SELECT LanguageSign, LanguageId, LanguageName, Caption, LanguageISO FROM Language', [], function(err, result) { console.dir({queryHash:result}); /* Example: queryHash: { en: { LanguageSign: 'en', LanguageId: 2, LanguageName: 'English', Caption: '', LanguageISO: 'en' }, ru: { LanguageSign: 'ru', LanguageId: 3, LanguageName: 'Russian', Caption: '', LanguageISO: 'ru' }, de: { LanguageSign: 'de', LanguageId: 7, LanguageName: 'Deutsch', Caption: '', LanguageISO: 'de' }, it: { LanguageSign: 'it', LanguageId: 8, LanguageName: 'Italiano', Caption: '', LanguageISO: 'it' } } */ }); 

рдХреБрдВрдЬреА / рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рдХрд╛ рдПрдХ рдЪрдпрди: рдХрдиреЗрдХреНрд╢рдиред queryKeyValue (sql, рдорд╛рди, рдХреЙрд▓рдмреИрдХ) рдПрдХ рд╣реИрд╢ (рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгреА) рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рдХреБрдВрдЬреА рдХреНрд╡реЗрд░реА рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╕реЗ рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рдХреНрд╖реЗрддреНрд░ рд╣реИред
рдЙрджрд╛рд╣рд░рдг
 connection.queryKeyValue( 'SELECT LanguageISO, LanguageName FROM Language', [], function(err, keyValue) { console.dir({queryKeyValue:keyValue}); /* Example: keyValue: { en: 'English', ru: 'Russian', uk: 'Ukrainian', es: 'Espanol', fr: 'Francais', de: 'Deutsch', it: 'Italiano', pl: 'Poliski' } */ }); 


рдЖрддреНрдордирд┐рд░реАрдХреНрд╖рдг рдХреА рд╕реБрд╡рд┐рдзрд╛


рдЕрд░реНрдерд╛рддреН, рдЙрдирдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛, рд╕рдВрд░рдЪрдирд╛рдУрдВ рдФрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдФрд░ рдЗрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рдпрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдирд┐рд░реНрдорд╛рдгред

рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ : рдХрдиреЗрдХреНрд╢рдиред рдкреНрд░рд╛рдердорд┐рдХ (рддрд╛рд▓рд┐рдХрд╛, рдХреЙрд▓рдмреИрдХ) рдПрдХ рд╣реИрд╢ (рд╕рд╣рдпреЛрдЧреА рд╕рд░рдгреА) рджреЗрддрд╛ рд╣реИ, рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде, рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕реЗрдЯ рджреЗрдЦреЗрдВред
рдЙрджрд╛рд╣рд░рдг
 connection.primary('Language', function(err, primary) { console.dir({primary:primary}); /* Example: primary: { Table: 'language', Non_unique: 0, Key_name: 'PRIMARY', Seq_in_index: 1, Column_name: 'LanguageId', Collation: 'A', Cardinality: 9, Sub_part: null, Packed: null, Null: '', Index_type: 'BTREE', Comment: '', Index_comment: '' } */ }); 

рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛: рдХрдиреЗрдХреНрд╢рдиред рд╡рд┐рджреЗрд╢реА (рддрд╛рд▓рд┐рдХрд╛, рдХреЙрд▓рдмреИрдХ) рдПрдХ рд╣реИрд╢ (рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгреА) рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдбрдмрд▓ рдиреЗрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде, рдкрд╣рд▓реЗ рд╕реНрддрд░ рдкрд░ рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдирд╛рдо рд╣реИрдВ, рдФрд░ рджреВрд╕рд░реЗ рдкрд░ рдореЗрдЯрд╛рдбрд╛рдЯрд╛ рдЗрд╕ рдХреБрдВрдЬреА рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд░рд╣рд╛ рд╣реИред рдЦреЗрддреЛрдВ рдХреЗ рд╕реЗрдЯ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред
рдЙрджрд╛рд╣рд░рдг
 connection.foreign('TemplateCaption', function(err, foreign) { console.dir({foreign:foreign}); /* Example: foreign: { fkTemplateCaptionLanguage: { CONSTRAINT_NAME: 'fkTemplateCaptionLanguage', COLUMN_NAME: 'LanguageId', ORDINAL_POSITION: 1, POSITION_IN_UNIQUE_CONSTRAINT: 1, REFERENCED_TABLE_NAME: 'language', REFERENCED_COLUMN_NAME: 'LanguageId' }, fkTemplateCaptionTemplate: { CONSTRAINT_NAME: 'fkTemplateCaptionTemplate', COLUMN_NAME: 'TemplateId', ORDINAL_POSITION: 1, POSITION_IN_UNIQUE_CONSTRAINT: 1, REFERENCED_TABLE_NAME: 'template', REFERENCED_COLUMN_NAME: 'TemplateId' } */ }); 

рдЕрдЦрдВрдбрддрд╛ рдмрд╛рдзрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛: рдХрдиреЗрдХреНрд╢рдиред рдмрд╛рдзрд╛рдПрдВ (рддрд╛рд▓рд┐рдХрд╛, рдХреЙрд▓рдмреИрдХ) рдПрдХ рд╣реИрд╢ (рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгреА) рджреЗрддрд╛ рд╣реИ, рдбрдмрд▓ рдиреЗрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде, рдкрд╣рд▓рд╛ рд╕реНрддрд░ рдЕрдЦрдВрдбрддрд╛ рдмрд╛рдзрд╛ рдХрд╛ рдирд╛рдо рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдзрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╣реИред рдЦреЗрддреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред
рдЙрджрд╛рд╣рд░рдг
 connection.constraints('TemplateCaption', function(err, constraints) { console.dir({constraints:constraints}); /* Example: constraints: { fkTemplateCaptionLanguage: { CONSTRAINT_NAME: 'fkTemplateCaptionLanguage', UNIQUE_CONSTRAINT_NAME: 'PRIMARY', REFERENCED_TABLE_NAME: 'Language', MATCH_OPTION: 'NONE', UPDATE_RULE: 'RESTRICT', DELETE_RULE: 'CASCADE' }, fkTemplateCaptionTemplate: { CONSTRAINT_NAME: 'fkTemplateCaptionTemplate', UNIQUE_CONSTRAINT_NAME: 'PRIMARY', REFERENCED_TABLE_NAME: 'Template', MATCH_OPTION: 'NONE', UPDATE_RULE: 'RESTRICT', DELETE_RULE: 'CASCADE' } } */ }); 

рддрд╛рд▓рд┐рдХрд╛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛: рдХрдиреЗрдХреНрд╢рдиред рдлрд╝реАрд▓реНрдб (рддрд╛рд▓рд┐рдХрд╛, рдХреЙрд▓рдмреИрдХ) рдкреНрд░рддреНрдпреЗрдХ рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдирд╛рдо, рдкреНрд░рдХрд╛рд░, рд╕рднреА рд╕рдВрд╢реЛрдзрдХ рдФрд░ рдЭрдВрдбреЗ, рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ (рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ) рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг
 connection.fields('Language', function(err, fields) { console.dir({fields:fields}); /* Example: fields: { LanguageId: { Field: 'LanguageId', Type: 'int(10) unsigned', Collation: null, Null: 'NO', Key: 'PRI', Default: null, Extra: 'auto_increment', Privileges: 'select,insert,update,references', Comment: 'Id(EN),(RU)' }, LanguageName: { Field: 'LanguageName', Type: 'varchar(32)', Collation: 'utf8_general_ci', Null: 'NO', Key: 'UNI', Default: null, Extra: '', Privileges: 'select,insert,update,references', Comment: 'Name(EN),(RU)' }, ... } */ }); 

рдЗрд╕ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛: рдХрдиреЗрдХреНрд╢рдиред рдбреЗрдЯрд╛рдмреЗрд╕ (рдХреЙрд▓рдмреИрдХ) рдбреЗрдЯрд╛рдмреЗрд╕ рдирд╛рдореЛрдВ (рдпрд╛ "рд╕реНрдХреАрдорд╛," рдХрд╛ рдПрдХ рд╕рд░рдгреА рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХрднреА-рдХрднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ)ред
рдЙрджрд╛рд╣рд░рдг
 connection.databases(function(err, databases) { console.dir({databases:databases}); /* Example: databases: [ 'information_schema', 'mezha', 'mysql', 'performance_schema', 'test' ] */ }); 

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЪрдпрдирд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛: рдХрдиреЗрдХреНрд╢рдиред рддрд╛рд▓рд┐рдХрд╛рдУрдВ (рдХреЙрд▓рдмреИрдХ) рдореЗрдВ рдбрдмрд▓ рдиреЗрд╕реНрдЯрд┐рдВрдЧ рдХрд╛ рд╣реИрд╢ (рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгреА) рд╣реЛрддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рдкрд╣рд▓реЗ рд╕реНрддрд░ рдкрд░ рдХреБрдВрдЬрд┐рдпрд╛рдБ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдирд╛рдо рд╣реЛрддреА рд╣реИрдВ, рдФрд░ рджреВрд╕рд░реЗ рдкрд░, рдкреНрд░рддреНрдпреЗрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдореЗрдЯрд╛рдбреЗрдЯрд╛ред
рдЙрджрд╛рд╣рд░рдг
 connection.tables(function(err, tables) { console.dir({tables:tables}); /* Example: tables: { Language: { TABLE_NAME: 'Language', TABLE_TYPE: 'BASE TABLE', ENGINE: 'InnoDB', VERSION: 10, ROW_FORMAT: 'Compact', TABLE_ROWS: 9, AVG_ROW_LENGTH: 1820, DATA_LENGTH: 16384, MAX_DATA_LENGTH: 0, INDEX_LENGTH: 49152, DATA_FREE: 8388608, AUTO_INCREMENT: 10, CREATE_TIME: Mon Jul 15 2013 03:06:08 GMT+0300 ( ()), UPDATE_TIME: null, CHECK_TIME: null, TABLE_COLLATION: 'utf8_general_ci', CHECKSUM: null, CREATE_OPTIONS: '', TABLE_COMMENT: '_Language:Languages(EN),(RU)' }, ... } */ }); 

UPD: рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ: рдХрдиреЗрдХреНрд╢рдиред рдбреЗрдЯрд╛рдмреЗрд╕рдЯреЗрдмрд▓реНрд╕ (рдбреЗрдЯрд╛рдмреЗрд╕, рдХреЙрд▓рдмреИрдХ) рдбрдмрд▓ рдиреЗрд╕реНрдЯрд┐рдВрдЧ рдХрд╛ рдПрдХ рд╣реИрд╢ (рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгреА) рджреЗрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдкрд╣рд▓реЗ рд╕реНрддрд░ рдкрд░ рдЪрд╛рдмрд┐рдпрд╛рдБ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдирд╛рдо рд╣реИрдВ, рдФрд░ рджреВрд╕рд░реЗ рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг
 connection.databaseTables("databaseName", function(err, tables) { console.dir({databaseTables:tables}); /* Example: tables: { Language: { TABLE_NAME: 'Language', TABLE_TYPE: 'BASE TABLE', ENGINE: 'InnoDB', VERSION: 10, ROW_FORMAT: 'Compact', TABLE_ROWS: 9, AVG_ROW_LENGTH: 1820, DATA_LENGTH: 16384, MAX_DATA_LENGTH: 0, INDEX_LENGTH: 49152, DATA_FREE: 8388608, AUTO_INCREMENT: 10, CREATE_TIME: Mon Jul 15 2013 03:06:08 GMT+0300 ( ()), UPDATE_TIME: null, CHECK_TIME: null, TABLE_COLLATION: 'utf8_general_ci', CHECKSUM: null, CREATE_OPTIONS: '', TABLE_COMMENT: '_Language:Languages(EN),(RU)' }, ... } */ }); 

рдирд┐рд░реНрджрд┐рд╖реНрдЯ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛: рдХрдиреЗрдХреНрд╢рдиред tableInfo (рддрд╛рд▓рд┐рдХрд╛, рдХреЙрд▓рдмреИрдХ) рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реИрд╢ (рд╕рд╣рдпреЛрдЧреА рд╕рд░рдгреА) рджреЗрддрд╛ рд╣реИ (рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ)ред
рдЙрджрд╛рд╣рд░рдг
 connection.tableInfo('Language', function(err, info) { console.dir({tableInfo:info}); /* Example: tableInfo: { Name: 'language', Engine: 'InnoDB', Version: 10, Row_format: 'Compact', Rows: 9, Avg_row_length: 1820, Data_length: 16384, Max_data_length: 0, Index_length: 49152, Data_free: 9437184, Auto_increment: 10, Create_time: Mon Jul 15 2013 03:06:08 GMT+0300 ( ()), Update_time: null, Check_time: null, Collation: 'utf8_general_ci', Checksum: null, Create_options: '', Comment: '' } */ }); 

рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдХреА рд╕рднреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛: рдХрдиреЗрдХреНрд╢рдиред рдЕрдиреБрдХреНрд░рдорд┐рдд (рддрд╛рд▓рд┐рдХрд╛, рдХреЙрд▓рдмреИрдХ) рд╣реИрд╢ (рд╕рд╣рдпреЛрдЧреА рд╕рд░рдгреА) рджреЗрддрд╛ рд╣реИ? рдЗрд╕рдореЗрдВ рдкрд╣рд▓реЗ рд╕реНрддрд░ рдХреА рдЪрд╛рдмрд┐рдпрд╛рдБ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреАрдЬрд╝ () рдХрд╛ рдирд╛рдо рд╣реИрдВ, рдФрд░ рджреВрд╕рд░реЗ рд╕реНрддрд░ рдХреА рдХреБрдВрдЬреА рдкреНрд░рддреНрдпреЗрдХ рдХреБрдВрдЬреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╣реИрдВ (рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреА рд╡рд┐рд╕реНрддреГрдд рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ)ред
рдЙрджрд╛рд╣рд░рдг
 connection.indexes('Language', function(err, info) { console.dir({tableInfo:info}); /* Example: indexes: { PRIMARY: { Table: 'language', Non_unique: 0, Key_name: 'PRIMARY', Seq_in_index: 1, Column_name: 'LanguageId', Collation: 'A', Cardinality: 9, Sub_part: null, Packed: null, Null: '', Index_type: 'BTREE', Comment: '', Index_comment: '' }, akLanguage: { Table: 'language', Non_unique: 0, Key_name: 'akLanguage', Seq_in_index: 1, Column_name: 'LanguageName', Collation: 'A', Cardinality: 9, Sub_part: null, Packed: null, Null: '', Index_type: 'BTREE', Comment: '', Index_comment: '' } } */ }); 

MySQL рд╕рд░реНрд╡рд░ рдкрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛: рдХрдиреЗрдХреНрд╢рдиред рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ (рдХреЙрд▓рдмреИрдХ) рд╣реИрд╢ рдХреА рдПрдХ рд╕рд░рдгреА рджреЗрддреА рд╣реИрдВ рдЬрд╣рд╛рдБ рдЗрд╕рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рджрд┐рдП рдЧрдП рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг
 connection.processes(function(err, processes) { console.dir({processes:processes}); /* Example: processes: [ { ID: 62, USER: 'mezha', HOST: 'localhost:14188', DB: 'mezha', COMMAND: 'Query', TIME: 0, STATE: 'executing', INFO: 'SELECT * FROM information_schema.PROCESSLIST' }, { ID: 33, USER: 'root', HOST: 'localhost:39589', DB: null, COMMAND: 'Sleep', TIME: 1, STATE: '', INFO: null } ] */ }); 

рд╡реИрд╢реНрд╡рд┐рдХ MySQL рдЪрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ : рдХрдиреЗрдХреНрд╢рдиред GlobalVariables (рдХреЙрд▓рдмреИрдХ)
рдЙрджрд╛рд╣рд░рдг
 connection.globalVariables(function(err, globalVariables) { console.dir({globalVariables:globalVariables}); /* Example: globalVariables: { MAX_PREPARED_STMT_COUNT: '16382', MAX_JOIN_SIZE: '18446744073709551615', HAVE_CRYPT: 'NO', PERFORMANCE_SCHEMA_EVENTS_WAITS_HISTORY_LONG_SIZE: '10000', INNODB_VERSION: '5.5.32', FLUSH_TIME: '1800', MAX_ERROR_COUNT: '64', ... } */ }); 

MySQL рдХреА рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛: рдХрдиреЗрдХреНрд╢рдиред рдЧреНрд▓реЛрдмрд▓рд╕реНрдЯреИрдЯрд╕ (рдХреЙрд▓рдмреИрдХ)
рдЙрджрд╛рд╣рд░рдг
 connection.globalStatus(function(err, globalStatus) { console.dir({globalStatus:globalStatus}); /* Example: globalStatus: { ABORTED_CLIENTS: '54', ABORTED_CONNECTS: '2', BINLOG_CACHE_DISK_USE: '0', BINLOG_CACHE_USE: '0', BINLOG_STMT_CACHE_DISK_USE: '0', BINLOG_STMT_CACHE_USE: '0', BYTES_RECEIVED: '654871', BYTES_SENT: '212454927', COM_ADMIN_COMMANDS: '594', ... } */ }); 

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ MySQL рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ : рдХрдиреЗрдХреНрд╢рдиред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ (рдХреЙрд▓рдмреИрдХ)
рдЙрджрд╛рд╣рд░рдг
 connection.users(function(err, users) { console.dir({users:users}); /* Example: users: [ { Host: 'localhost', User: 'root', Password: '*90E462C37378CED12064BB3388827D2BA3A9B689', Select_priv: 'Y', Insert_priv: 'Y', Update_priv: 'Y', Delete_priv: 'Y', Create_priv: 'Y', Drop_priv: 'Y', Reload_priv: 'Y', Shutdown_priv: 'Y', Process_priv: 'Y', File_priv: 'Y', Grant_priv: 'Y', References_priv: 'Y', Index_priv: 'Y', Alter_priv: 'Y', Show_db_priv: 'Y', Super_priv: 'Y', Create_tmp_table_priv: 'Y', Lock_tables_priv: 'Y', Execute_priv: 'Y', Repl_slave_priv: 'Y', Repl_client_priv: 'Y', Create_view_priv: 'Y', Show_view_priv: 'Y', Create_routine_priv: 'Y', Alter_routine_priv: 'Y', Create_user_priv: 'Y', Event_priv: 'Y', Trigger_priv: 'Y', Create_tablespace_priv: 'Y', ssl_type: '', ssl_cipher: <Buffer >, x509_issuer: <Buffer >, x509_subject: <Buffer >, max_questions: 0, max_updates: 0, max_connections: 0, max_user_connections: 0, plugin: '', authentication_string: '' }, ... ] */ }); 


рд╕рд╡рд╛рд▓ рдкреИрджрд╛ рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛


рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдорд╛рд╕реНрдЯрд░ рдХреА рдЙрдкрдпреБрдХреНрддрддрд╛рдПрдВ SQL рдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрд╛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдореИрдВ рдЦреБрдж рдЗрд╕ рддрд░рд╣ рдХреА рдЪреАрдиреА рдХрд╛ рд╕рдорд░реНрдердХ рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдЙрди рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рдкреАрдврд╝реА рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдореИрдВ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреА рд▓рдХреНрдЬрд░реА рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реВрдВред

рд╢рд░реНрдд рдкреАрдврд╝реА : рдХрдиреЗрдХреНрд╢рдиред рдЬрд╣рд╛рдВ (рд╕реНрдерд┐рддрд┐рдпрд╛рдВ) рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ, рдФрд░ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреА рддрд░рд╣, рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдирд╣реАрдВ, рдЕрд░реНрдерд╛рддреНред рдХреЙрд▓рдмреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред JSON рд╢реИрд▓реА рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╢рд░реНрддреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд WHERE SQL рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЕрд╡рд╢реНрдп рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
рдЙрджрд╛рд╣рд░рдг
 var where = connection.where({ id: 5, year: ">2010", price: "100..200", level: "<=3", sn: "*str?", label: "str", code: "(1,2,4,10,11)" }); console.dir(where); // Output: "id = 5 AND year > '2010' AND (price BETWEEN '100' AND '200') AND // level <= '3' AND sn LIKE '%str_' AND label = 'str' AND code IN (1,2,4,10,11)" 

рд╢рд░реНрдд рдХреЗ рд╕рд╛рде рдЪрдпрди : рдХрдиреЗрдХреНрд╢рдиред рдЪрдпрди рдХрд░реЗрдВ (рддрд╛рд▓рд┐рдХрд╛, рдЬрд╣рд╛рдВ рдлрд╝рд┐рд▓реНрдЯрд░, рдХреЙрд▓рдмреИрдХ)
рдЙрджрд╛рд╣рд░рдг
 connection.select('Language', '*', { LanguageId: "1..3" }, function(err, results) { console.dir({select:results}); }); 

рд░рд┐рдХреЙрд░реНрдб рдбрд╛рд▓реЗрдВ : рдХрдиреЗрдХреНрд╢рдиред рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдВ (рддрд╛рд▓рд┐рдХрд╛, рдкрдВрдХреНрддрд┐, рдХреЙрд▓рдмреИрдХ)
рдЙрджрд╛рд╣рд░рдг
 connection.insert('Language', { LanguageName: 'Tatar', LanguageSign:'TT', LanguageISO:'TT', Caption:'Tatar' }, function(err, recordId) { console.dir({insert:recordId}); }); 

рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рд╕рдВрдкрд╛рджрди : рдХрдиреЗрдХреНрд╢рдиред рдЕрджреНрдпрддрди (рддрд╛рд▓рд┐рдХрд╛, рдкрдВрдХреНрддрд┐, рдХреЙрд▓рдмреИрдХ)
рдЙрджрд╛рд╣рд░рдг
 connection.update('Language', { LanguageId: 25, LanguageName:'Tatarca', LanguageSign:'TT', LanguageISO:'TT', Caption:'Tatarca' }, function(err, affectedRows) { console.dir({update:affectedRows}); }); 

рдЕрдЧрд░ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ рддреЛ рдРрд╕реА рдХреЛрдИ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдпрд╛ рдкрд░рд┐рд╡рд░реНрддрди рди рдХрд░реЗрдВ: рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдВ : рдХрдиреЗрдХреНрд╢рдиред рдКрдкрд░ (рддрд╛рд▓рд┐рдХрд╛, рдкрдВрдХреНрддрд┐, рдХреЙрд▓рдмреИрдХ)
рдЙрджрд╛рд╣рд░рдг
 connection.upsert('Language', { LanguageId: 25, LanguageName:'Tatarca', LanguageSign:'TT', LanguageISO:'TT', Caption:'Tatarca' }, function(err, affectedRows) { console.dir({upsert:affectedRows}); }); 

рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдлрд╝рд┐рд▓реНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдпрд╛ рдХрд┐рд╕реА рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛: рдХрдиреЗрдХреНрд╢рди.рдХрд╛рдЙрдВрдЯ (рддрд╛рд▓рд┐рдХрд╛, рдЬрд╣рд╛рдБ рдлрд╝реАрд▓реНрдЯрд░, рдХреЙрд▓рдмреИрдХ)
рдЙрджрд╛рд╣рд░рдг
 connection.count('Language', { LanguageId: ">3" }, function(err, count) { console.dir({count:count}); /* Example: count: 9 */ }); 

рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдпрд╛ рдХрдИ рд░рд┐рдХреЙрд░реНрдб рд╣рдЯрд╛рдПрдВ : рдХрдиреЗрдХреНрд╢рдиред рд╣рдЯрд╛рдПрдВ (рддрд╛рд▓рд┐рдХрд╛, рдЬрд╣рд╛рдВ рдлрд╝рд┐рд▓реНрдЯрд░, рдХреЙрд▓рдмреИрдХ)
рдЙрджрд╛рд╣рд░рдг
 connection.delete('Language', { LanguageSign:'TT' }, function(err, affectedRows) { console.dir({delete:affectedRows}); }); 


рдорд╛рдорд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ


UPD: рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рдбреНрд░рд╛рдЗрд╡рд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдХрд╛ рдЕрдореВрд░реНрдд рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди ORM рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдЬрд┐рддрдирд╛ рдКрдВрдЪрд╛ рдирд╣реАрдВред рдореИрдВ рдЗрд╕ рдмреЛрдЭрд┐рд▓ рдмрд╛рдд рдХреЛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдФрд░ рдореИрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рджреЛрд╖ (рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ) рд╕рдореВрд╣реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
 // Library dependencies var mysql = require('mysql'), mysqlUtilities = require('utilities'); var connection = mysql.createConnection({ host: 'localhost', user: 'userName', password: 'secret', database: 'databaseName' }); connection.connect(); // Mix-in for Data Access Methods and SQL Autogenerating Methods mysqlUtilities.upgrade(connection); // Mix-in for Introspection Methods mysqlUtilities.introspection(connection); // Do something using utilities connection.queryRow( 'SELECT * FROM _Language where LanguageId=?', [3], function(err, row) { console.dir({queryRow:row}); } ); // Release connection connection.end(); 


рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдиреЛрдб- mysql рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдЪ рднреА рд╣реИ: https://github.com/felixge/node-mysql

рдФрд░ рддреАрд╕рд░рд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ Node.js рдХреЗ рд▓рд┐рдП рдЗрдореНрдкреНрд░реЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдиреА рд╣реИред MySQL рдХреЗ рд╕рднреА рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдореЗрдВ рддреБрд░рдВрдд рдЗрдореНрдкреНрд░реЗрд╕ рдореЗрдВ рд╕реИрдВрдкрд▓рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рджреЛ рд╕рдореВрд╣ рд╣реЛрддреЗ рд╣реИрдВ, рд╡реЗ рдХрдиреЗрдХреНрд╢рди рдЦреБрд▓рдиреЗ рдкрд░ рдЕрдкрдиреЗ рдЖрдк рдорд┐рдХреНрд╕ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдХреЗрд╡рд▓ рдЗрдиреНрдЯреНрд░реЛрд╕реНрдкреЗрдХреНрд╢рди рдХреЛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рдЖрдкрдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд▓рдЧ-рдЗрди рдХреЛ рдЕрдирд╕реБрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рддрд╛рдХрд┐ MySQL рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧ-рдЗрди рдХрд╛ рд╕реЗрдЯ рдЗрд╕ рддрд░рд╣ рд╣реЛ:
  plugins: { require: [ "db", "db.mysql", "db.mysql.introspection", ... ] },... 

рддрдм рдкреНрд▓рдЧрдЗрди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдорд┐рд╢реНрд░рдг рдХрд░рддрд╛ рд╣реИ: рдЕрдЧрд░ (db.mysql.introspection) db.mysql.introspection (рдХрдиреЗрдХреНрд╢рди);
рдпрд╣рд╛рдВ рдЗрдВрдкреНрд░реЗрд╢рди рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд▓рд┐рдП рд╕реЛрд░реНрд╕ рдХреЛрдб рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рд╕рдВрджрд░реНрдн


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

рдореБрдЦреНрдп рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдпрд╣рд╛рдБ рд╣реИ:
рдЬреАрдердм рдкрд░: https://github.com/tshemsedinov/node-mysql-utilities
Nmp рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ: https://npmjs.org/package/mysql-utilities

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


All Articles