当前位置: 首页 > Web前端 > HTML5

NodeJS5分钟连接MySQLCRUD_0

时间:2023-04-05 20:56:48 HTML5

鏈枃浠嬬粛鏈枃涓昏璁茶В濡備綍鍦∟ode.js涓繛鎺ySQL銆傚湪闃呰鏈枃涔嬪墠锛屾偍闇€瑕佸湪鎮ㄧ殑鐢佃剳涓婂畨瑁匨ySQL锛屾渶濂藉畨瑁呬竴涓暟鎹簱绠$悊宸ュ叿銆傛垜浣跨敤鐨勬槸MySQLWorkbench锛岃繖鏄竴涓畼鏂圭殑MySQL绠$悊宸ュ叿銆備綘涔熷彲浠ョ敤Navicat锛岃繖涓伐鍏蜂篃寰堝ソ鐢ㄣ€侻ySQL涓嬭浇鍦板潃MySQLWorkbench涓嬭浇鍦板潃鍒濆鍖栭」鐩湪瀹為檯杩愯涔嬪墠锛岄鍏堣鏈変竴涓簱锛岀敤浜庡瓨鍌ㄦ暟鎹€傞渶瑕佹敞鎰忕殑鏄湪瀹夎MySQL鐨勬椂鍊欓渶瑕佽浣忚嚜宸辩殑璐﹀彿瀵嗙爜锛屽洜涓鸿繛鎺ユ暟鎹簱鐨勬椂鍊欓渶瑕佺敤鍒般€傛垜浣跨敤MySQLWorkbench鐨勫浘褰㈢晫闈㈡潵寤簃ysql鏁版嵁搴撱€佽〃鍜屾暟鎹簱銆傛偍鍙互浣跨敤鍏朵粬绫讳技鐨勫伐鍏枫€傚崟鍑绘鍥炬爣锛岀劧鍚庤緭鍏ュ簱鐨勫悕绉帮紝鐒跺悗鍗曞嚮搴旂敤浠ユ瀯寤哄簱銆傚綋鐒讹紝浣犱篃鍙互浣跨敤SQL璇彞寤哄簱銆?銆佸瘑鐮?password)銆佹樀绉?nickname)杩欎簺瀛楁銆傚睍寮€testdb锛屽彸鍑籘ables锛岄€夋嫨CreateTable锛岃繘鍏ュ缓琛ㄧ晫闈€備互涓婃楠や负锛氳缃〃鍚嶃€傛坊鍔犲瓧娈点€侾K涓轰富閿紝NN涓嶈兘涓虹┖锛孉I鑷銆傚崟鍑诲簲鐢ㄥ垱寤鸿〃銆傚鏋滀笉鎬曢夯鐑︼紝涔熷彲浠ヤ娇鐢⊿QL璇彞寤鸿〃CREATETABLE`testdb`.`users`(`id`INTNOTNULLAUTO_INCREMENT,`username`VARCHAR(20)NOTNULL,`password`VARCHAR(20)NOTNULL,`nickname`VARCHAR(20)NOTNULL,PRIMARYKEY(`id`));缁忚繃涓€浜涙搷浣滐紝琛ㄥ氨鍒涘缓濂戒簡銆備絾鏄鏃惰〃涓繕娌℃湁鏁版嵁锛屾帴涓嬫潵鎴戜滑灏嗕娇鐢∟ode.js瀵瑰叾杩涜鎿嶄綔銆傚垵濮嬪寲Node椤圭洰鍒涘缓椤圭洰鐩綍锛屾垜鍛藉悕涓簄ode-mysql-demo锛岀劧鍚庡垵濮嬪寲椤圭洰npminit-y姝ゆ椂椤圭洰涓細澶氬嚭涓€涓猵ackage.json鏂囦欢锛岃瘉鏄庡垵濮嬪寲瀹屾垚鎴愬姛鐨勩€傚畨瑁匨ySQL渚濊禆鍖卬pminstallmysql浣跨敤涓婅堪鍛戒护瀹夎MySQL渚濊禆鍖呫€傚畨瑁呭畬鎴愬悗锛岄」鐩腑浼氬鍑轰竴涓猲ode_modules鏂囦欢澶癸紝package.json涓細鍑虹幇mysql鍜屽畨瑁呯殑鐗堟湰鍙枫€傚畬鎴愯繖涓ゆ鍚庯紝鍒濆鍖栧氨瀹屾垚浜嗐€傚湪鏍圭洰褰曚笅鍒涘缓涓€涓猧ndex.js鏂囦欢杩炴帴MySQL锛岀劧鍚庤緭鍏ュ涓嬩唬鐮侊細constmysql=require('mysql')//importmysql//閰嶇疆杩炴帴椤筩onstconnection=mysql.createConnection({host:'localhost',user:'root',password:'123456',port:'3306',database:'testdb'})//鎵ц杩炴帴鎿嶄綔connection.connect()涓婇潰鐨勪唬鐮佸叾瀹炲氨鏄?姝ワ細寮曞叆mysql閰嶇疆杩炴帴锛屼娇鐢╟onnect()鏂规硶锛岄厤缃」涓猴細host:domain銆傚浜庢湰鍦版祴璇曪紝鎮ㄥ彲浠ヤ娇鐢╨ocalhostuser:user銆傛祴璇曚竴鑸娇鐢╮ootpassword:瀵嗙爜銆俻ort锛氬畨瑁呮暟鎹簱鏃惰閰嶇疆鐨勭鍙c€傞粯璁や负3306database锛氭暟鎹簱銆傝緭鍏ヨ杩炴帴鐨勬暟鎹簱鍚嶇О杩涜MySQL閰嶇疆锛屽紑濮嬭繛鎺ySQL锛屽彲浠ュ鏁版嵁搴撹繘琛屽鍒犳敼鏌ャ€傝娣诲姞insert锛屽厛娣诲姞鍑犳潯鏁版嵁//Newdataconstsql=`insertintousers(username,password,nickname)values('leihou','123456','杩呴浄鐚?);`connection.query(sql,(err,result)=>{if(err){console.error(err)return}console.log(result)})鍒涘缓涓€鏉QL璇彞锛屼娇鐢╥nsertintousers鍚憉sers琛ㄦ坊鍔犳暟鎹€傝繖鍙ヨ瘽鍏跺疄寰堢畝鍗曘€備綘鍙互閫氳繃缈昏瘧姣忎釜鍗曡瘝鏉ョ悊瑙h繖鍙ヨ瘽鐨勫唴瀹广€傛渶鍚庝娇鐢╭uery()鏂规硶鎵ц鎿嶄綔銆傜涓€涓弬鏁版槸SQL璇彞锛涚浜屼釜鍙傛暟鏄洖璋冨嚱鏁般€傛暟鎹垱寤烘垚鍔熷悗锛屾帶鍒跺彴浼氭墦鍗板涓嬪唴瀹癸細OkPacket{fieldCount:0,affectedRows:1,insertId:1,serverStatus:2,message:'',protocol41:true,changedRows:0}insertId涓烘彃鍏ョ殑ID;affectedRows鏄彈褰卞搷鐨勮鏁般€傞€氬父娣诲姞鎴愬姛鍚庯紝鎴戜滑鍙互灏唅nsertId杩斿洖缁欏墠绔€備负浜嗘鏌elect锛屾垜浣跨敤涓婇潰鐨凷QL璇彞娣诲姞浜?鏉℃暟鎹€傚洜涓烘柊鐨勬搷浣滄瘮杈冪畝鍗曪紝鎴戝氨涓嶉噸澶嶆紨绀轰簡銆傛煡璇㈡搷浣滃叾瀹炴槸鏈€澶氱殑锛屾帴涓嬫潵浼氫竴涓€浠嬬粛銆傛煡璇㈡墍鏈夋暟鎹甤onstsql=`select*fromusers;`connection.query(sql,(err,result)=>{if(err){console.error(err)return}console.log(result)})*琛ㄧず鏌ヨ鎵€鏈夊瓧娈点€俧romusers琛ㄧず鏌ヨ鐢ㄦ埛琛ㄣ€傛鏃惰繑鍥炵殑缁撴灉濡備笅[RowDataPacket{id:1,username:'leihou',password:'123456',nickname:'闆风尨'},RowDataPacket{id:2,username:'shark',password:'123456',nickname:'SharkPepper'},RowDataPacket{id:3,username:'cockroach',password:'123456',nickname:'cockroachbully'}]鏌ヨ鎸囧畾瀛楁//鐪佺暐閮ㄥ垎浠g爜constsql=`selectid,usernamefromusers;`杩斿洖缁撴灉:[RowDataPacket{id:1,username:'leihou'},RowDataPacket{id:2,username:'shark'},RowDataPacket{id:3,username:'cockroach'}]鏉′欢鏌ヨ//鐪佺暐閮ㄥ垎ofthecode//鏉′欢鏌ヨ锛屼娇鐢╳hereconstsql=`select*fromuserswhereusername='shark';`//and(queryusername=shake,andnickname='sharkpepper')constsql=`select*fromusername='shark'andnickname='sharkchili';`//or(queryusername='shark'orusername='leihou')constsql=`select*fromuserswhereusername='shark'orusername='leihou';`//not(queryusernameisnotequalto'shark')constsql=`select*fromuserswhereusername<>'shark';`妯$硦鏌ヨ妯$硦鏌ヨ鐨勫叧閿瓧濡俢onstsql=`select*fromuserswhereusernamelike'%o%';`杩欐潯璇彞鐨勬剰鎬濇槸鎵惧嚭username涓墍鏈夊甫o鐨勬暟鎹畐ordasc鎺掑簭鎿嶄綔鏄娇鐢╫rderby鎸囧畾瀛楁銆俢onstsql=`select*fromusersorderbyidasc;`浠ョ浉鍙嶇殑椤哄簭浣跨敤desc鍏抽敭瀛椼€俢onstsql=`select*fromusersorderbyiddesc;`姝ゆ椂鎸夌収id瀛楁鐨勯€嗗簭鎺掑簭銆侰hangeupdate濡傛灉瑕佷慨鏀规暟鎹紝鍙互浣跨敤update銆傛瘮濡傛垜鎯虫妸杩呴浄鐚寸殑鐢ㄦ埛鍚嶆敼鎴愮尨瀛愩€俢onstsql=`updateuserssetusername='monkey'wherenickname='ThunderMonkey';`connection.query(sql,(err,result)=>{if(err){console.error(err)return}鎺у埗鍙般€俵og(result)})琚慨鏀癸紝杩斿洖鏁版嵁濡備笅锛歄kPacket{fieldCount:0,affectedRows:1,insertId:0,serverStatus:34,warningCount:0,message:'(Rowsmatched:1Changed:1Warnings:0',protocol41:true,changedRows:1}affectedRows鍙楀奖鍝嶇殑鍑芥暟鏄?琛岋紝姝ゆ椂鏌ヨ鏁版嵁鍙互鍙戠幇鏁版嵁淇敼鎴愬姛锛宒eletedelete鍦ㄥ疄闄呴」鐩腑搴旇寰堝皯鐢ㄥ埌寮€鍙戜腑锛屽鏋滈渶瑕佸垹闄ょ敤鎴凤紝閫氬父鏄慨鏀圭敤鎴风殑鏌愪釜瀛楁锛岃揪鍒扳€滆蒋鍒犻櫎鈥濈殑鏁堟灉銆備絾鏄綘杩橀渶瑕佺煡閬撳浣曞垹闄ゆ暟鎹簱鐨勭湡瀹炲唴瀹癸紝鎵€浠ュ涔犲惂~鍒犻櫎id涓?鐨勬暟鎹甤onstsql=`deletefromuserswhereid='3';`connection.query(sql,(err,result)=>{if(err){console.error(err)return}console.log(result)})浣跨敤delete鍏抽敭瀛楋紝浣跨敤where鎸囧畾id=3瑕佹搷浣滅殑鏁版嵁銆傚垹闄ゆ垚鍔熷悗锛屾帶鍒跺彴浼氳緭鍑猴細OkPacket{fieldCount:0,affectedRows:1,insertId:0,serverStatus:2,warningCount:0,message:'',protocol41:true,changedRows:0}浠ヤ笂灏辨槸Node.js鎿嶄綔MySQL鍏ラ棬銆傚叧闂繛鎺ユ渶鍚庯紝濡傛灉鎮ㄥ畬鎴愪簡鏁版嵁搴撴搷浣滐紝鎮ㄥ彲浠ヤ娇鐢╡nd()鏂规硶鍏抽棴涓嶮ySQL鐨勮繛鎺ャ€?/鍏抽棴杩炴帴connection.end()寤鸿鐪嬪畬鏈珷锛屽啀閰嶅悎銆妌ode http璇锋眰銆嬩腑鐨勬搷浣滐紝缂栧啓涓€浜涚畝鍗曠殑鎺ュ彛銆傪煈嶃€妌ode http銆嬸煈嶃€奵onsole.log涔熻兘鎻掑浘銆嬸煈嶃€婂墠绔渶瑕佺殑鍏嶈垂鍦ㄧ嚎api鎺ュ彛銆嬸煈嶃€娿€庡墠绔繀澶囥€忔湰鍦版暟鎹帴鍙?鈥斺€?json-server 浠庡叆闂ㄥ埌鑶ㄨ儉銆嬬偣璧?鍏虫敞+鏀惰棌=瀛︿範浜?/p>