SQL锛屾垨缁撴瀯鍖栨煡璇㈣瑷€锛屾槸涓€绉嶇壒瀹氫簬棰嗗煙鐨勮瑷€锛屾棬鍦ㄨ闂拰鎿嶄綔鍏崇郴鏁版嵁搴撲腑鐨勬暟鎹€傚€熷姪SQL璇彞锛屾偍鍙互瀵瑰叧绯绘暟鎹簱鎵ц鍒涘缓銆佹洿鏂般€佹绱㈠拰鍒犻櫎鏁版嵁绛夋搷浣溿€傚叧绯绘暟鎹簱鏄竴绉嶆暟鎹ā鍨嬶紝瀹冧娇鐢ㄨ鍜屽垪鍦ㄨ〃涓粍缁囨暟鎹€傝櫧鐒跺彲鑳芥湁澶氱浣跨敤SQL鐨勫叧绯绘暟鎹簱绠$悊绯荤粺锛屼絾鍑犱箮鎵€鏈夌郴缁熼兘璁捐涓烘湇鍔″櫒绔繘绋嬨€傚叾涓寘鎷細MySQLPostgreSQLSQLiteMSSQL鍦ㄦ湰鏁欑▼涓紝鎴戜滑灏嗚璁篠QL.js锛岃繖鏄竴涓狫avaScriptSQL搴擄紝鍙鎮ㄥ畬鍏ㄥ湪娴忚鍣ㄤ腑鍒涘缓鍜屾煡璇㈠叧绯绘暟鎹簱銆傛垜浠皢閫氳繃浠ヤ笅姝ラ鏉ヨВ閲婁粈涔堟槸SQL.js锛熸瘡涓儴鍒嗛兘鏈夎缁嗙殑渚嬪瓙銆備娇鐢⊿QL.js瀹夎锛堟祻瑙堝櫒鍜孨ode.js锛夌殑浼樼偣鍜岀己鐐圭紪鍐橲QL鏌ヨ鍜屽噯澶囧ソ鐨勮鍙ヤ粈涔堟槸SQL.js锛烻QL.js鏄竴涓狫avaScript搴擄紝鍏佽鎮ㄥ畬鍏ㄥ湪娴忚鍣ㄤ腑鍒涘缓鍜屾煡璇㈠叧绯绘暟鎹簱銆傚畠浣跨敤瀛樺偍鍦ㄦ祻瑙堝櫒鍐呭瓨涓殑铏氭嫙鏁版嵁搴撴枃浠讹紝鍥犳涓嶄細鎸佷箙淇濆瓨瀵规暟鎹簱鐨勬洿鏀广€傝搴撹繕浣跨敤Emscripten灏哠QLite缂栬瘧涓篧ebAssembly(Wasm)銆備娇鐢ㄦ鍔熻兘锛屾偍鍙互杞绘澗鍦板皢鐜版湁鐨凷QLite鏁版嵁搴撳鍏QL.js锛屽苟灏嗗湪SQL.js涓垱寤虹殑鏁版嵁搴撹浆鎹负SQLite銆備娇鐢⊿QL.js鐨勪紭鐐瑰拰缂虹偣浣跨敤SQL.js鏈夊嚑涓ソ澶勩€傚畠鏄负瀹㈡埛绔瀯寤虹殑锛屽畬鍏ㄥ湪瀹㈡埛绔伐浣滐紝杩欐剰鍛崇潃瀹冧笉闇€瑕佷换浣曟湇鍔″櫒绔繘绋嬪嵆鍙伐浣溿€傚畠姣擬ySQL銆丳ostgreSQL鍜屽叾浠栭渶瑕佺涓夋柟杞欢鎵嶈兘浣跨敤鐨勫伐鍏锋洿瀹规槗璁剧疆銆傚紑濮嬩娇鐢⊿QL.js灏卞儚鍦ㄧ幇鏈塇TML椤圭洰涓畨瑁卝Query涓€鏍风畝鍗曘€傚苟涓擲QL.js鎻愪緵浜嗗鎵ц鍖呭惈澶氫釜璇彞鐨勫崟涓猄QL瀛楃涓茬殑鏀寔锛屽涓嬪浘鎵€绀恒€俿qlstr="CREATETABLEtableName(colA,colB);";sqlstr+="INSERTINTOhelloVALUES(0,'hello');"...浣嗕篃鏈変竴涓噸瑕佺殑缂虹偣锛氬綋浣跨敤SQL.js鏃讹紝鏇存敼涓嶆槸鎸佷箙鐨勩€傚啀璇讳竴閬嶏細褰撴偍閲嶆柊鍔犺浇娴忚鍣ㄦ椂锛屽鏁版嵁搴撴墍鍋氱殑鎵€鏈夋洿鏀归兘灏嗘秷澶便€傝繖鏄洜涓篠QL.js浣跨敤瀛樺偍鍦ㄦ祻瑙堝櫒鍐呭瓨涓殑铏氭嫙鏁版嵁搴撴枃浠躲€備絾鏄紝鎮ㄥ彲浠ュ鍏ヤ换浣曠幇鏈夌殑SQLite鏂囦欢骞跺皢鍒涘缓鐨勬暟鎹簱瀵煎嚭涓篔avaScript绫诲瀷鐨勬暟缁勩€傚畨瑁匰QL.js娴忚鍣ㄥ畨瑁呭皢SQL.js闆嗘垚鍒颁竴涓柊鐨勫熀浜庡鎴风鐨勯」鐩腑闈炲父瀹规槗銆傛偍鍙互浠庡寘鍚獵DN鎴栦笅杞芥簮鏂囦欢骞跺皢瀹冧滑閾炬帴鍒版偍鐨勬爣璁伴〉闈㈠紑濮嬨€傞粯璁ゆ儏鍐典笅锛孲QL.js浣跨敤WebAssembly锛岄櫎浜咼avaScript搴撲箣澶栵紝瀹冭繕闇€瑕佸姞杞戒竴涓?wasm鏂囦欢銆傛偍鍙互浠庣綉缁滀笂涓嬭浇姝ゆ枃浠跺苟浣跨敤locateFile鍑芥暟灏嗘鏂囦欢鍔犺浇鍒版偍鐨勭綉椤典腑锛屽涓嬫墍绀恒€?!DOCTYPEhtml>
