CINXE.COM

JAV SQL 查询器

<!doctype html><html><head><meta charset="utf8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>JAV SQL 查询器</title><link rel="stylesheet" href="https://npm.elemecdn.com/codemirror@5.58.1/lib/codemirror.css"><style>html{margin:auto}@media screen and (min-width:800px){html{width:80%;background:#222}body{background:linear-gradient(#aaa 0,#ddd 10px,#fff 55px);border:1px solid #000;padding:10px 20px;box-shadow:5px 0 30px #000;border-radius:8px}}.title{display:flex;align-items:center;margin-bottom:10px}h1{color:#222;flex-grow:1;text-align:center}@media screen and (min-width:800px){h1{margin-right:116px}}.button{color:#333;background:linear-gradient(#eee,#ddd);border:1px solid #222;border-radius:3px;padding:7px;margin-right:5px;transition:.3s;font-family:ubuntu,sans-serif;font-size:1em}.button:active{background:linear-gradient(#ddd,#eee)}.button:hover,button:focus{box-shadow:0 0 2px #222}#execute{margin-top:5px;width:10%;min-width:100px}.CodeMirror{border:1px solid #222;height:auto}.CodeMirror-scroll{overflow-y:hidden;overflow-x:auto}.error{color:red;transition:.5s;overflow:hidden;margin:15px}#output{overflow:auto}table{width:auto;margin:auto;border:1px solid #000;border-collapse:collapse;margin-bottom:10px}td,th{border:1px solid #777}td img{max-width:150px}td a{text-decoration:none}</style></head><body><div class="title"><a href="https://jinjier.art"><img width="96" height="96" src="/jinjier.jpeg" title="JAV金鸡儿奖官网"></a><h1>JAV SQL 查询器</h1></div><main><textarea id="commands"></textarea> <button id="execute" class="button">执行</button><div id="error" class="error"></div><pre id="output">正在连接数据库,请稍候...</pre></main><script src="https://npm.elemecdn.com/codemirror@5.58.1/lib/codemirror.js"></script><script src="https://npm.elemecdn.com/codemirror@5.58.1/mode/sql/sql.js"></script><script src="https://npm.elemecdn.com/sql.js@1.8.0/dist/sql-wasm.js"></script><script src="https://npm.elemecdn.com/jszip@3.10.1/dist/jszip.min.js"></script><script>const wasmFile="https://npm.elemecdn.com/sql.js@1.8.0/dist/sql-wasm.wasm";let defaultSQL="/* 📙 使用帮助\n1. 查询历届JAV金鸡儿奖,如:\nSELECT note, SUBSTR(name, 0, 40) FROM ranks WHERE kind = 4 ORDER BY date DESC, id;\n\n2. 查询FANZA通贩销量榜,如:\nSELECT number, icon_url, SUBSTR(name, 0, 40), note FROM ranks WHERE note = '影片榜 - 2024上半年';\nSELECT number, icon_url, name, note FROM ranks WHERE note LIKE '女优榜%月' ORDER BY date DESC, number LIMIT 100;\nSELECT note, number, name FROM ranks WHERE name = '相沢みなみ' AND note LIKE '女优榜%' ORDER BY date DESC;\n\n3. 查询JavLibrary TOP500影片榜,如:\nSELECT number, icon_url, SUBSTR(name, 0, 40), date, note FROM ranks WHERE note = 'JavLibray TOP500';\nSELECT number, icon_url, SUBSTR(name, 0, 40), date, note FROM ranks WHERE note = 'JavLibray TOP500' AND name LIKE 'IP%';\n\n4. 查询JavDB TOP250影片榜,如:\nSELECT number, icon_url, SUBSTR(name, 0, 40), date, note FROM ranks WHERE note = 'JavDB TOP250';\nSELECT number, icon_url, SUBSTR(name, 0, 40), date, note FROM ranks WHERE note = 'JavDB FC2 TOP250';\nSELECT number, icon_url, SUBSTR(name, 0, 40), date, note FROM ranks WHERE note = 'JavDB 2023 TOP250';\n** 数据更新于 20250120 */\nSELECT note, SUBSTR(name, 0, 40) FROM ranks WHERE kind = 4 ORDER BY date DESC, id;\n".trim(),dbFile=new URLSearchParams(location.search).get("v");"2023"==dbFile?(dbFile="https://npm.elemecdn.com/jinjier-art-assets@1.0.0/sql/2023.gif",defaultSQL="/*\n📕 历史数据,仅限以下文章使用:\n1. https://jinjier.art/2022 《数据思维看AV——2022年度新人报告》\n2. https://jinjier.art/top 《JavLibrary & JavDB TOP榜单分析》\n3. https://jinjier.art/fanza 《FANZA销量榜 TOP榜单分析》\n4. https://jinjier.art/nba 《三巨头=总冠军? 兼谈比赛观赏性》\n📗 最新数据请访问 https://jinjier.art/sql\n*/\nSELECT '2023' AS 数据库版本, date AS 最后更新于 FROM ranks ORDER BY date DESC LIMIT 1;\n".trim()):dbFile="20250120.gif";const execBtn=document.getElementById("execute"),outputElm=document.getElementById("output"),errorElm=document.getElementById("error"),commandsElm=document.getElementById("commands");function checkError(e){e?(console.log(e),errorElm.style.height="2em",errorElm.textContent=e.message):errorElm.style.height="0"}const tableCreate=function(){function r(e,t){var n;return 0===e.length?"":(n="</"+t+">",(t="<"+t+">")+(e=e.map(e=>{var t;return"string"!=typeof e?e:e.endsWith(".jpg")?`<img src="${e}" loading="lazy" decoding="async">`:e.endsWith(" 获奖")?`<font color="red">${e}</font>`:!(t=e.match(/^[A-Z]+-\d+/))||/無碼|^MD-|^GDCM-/.test(e)?e:`<a href="/search?q=${t=t[0]}" target="_blank">${t}</a>`+e.replace(t,"")})).join(n+t)+n)}return function(e,t){var n=document.createElement("table"),e="<thead>"+r(e,"th")+"</thead>",t=t.map(function(e){return r(e,"td")});return e+="<tbody>"+r(t,"tr")+"</tbody>",n.innerHTML=e,n}}();function execEditorContents(){checkError(),execute(editor.getValue()+";")}execBtn.addEventListener("click",execEditorContents,!0);const editor=CodeMirror.fromTextArea(commandsElm,{mode:"text/x-mysql",viewportMargin:1/0,indentWithTabs:!0,smartIndent:!0,lineNumbers:!0,matchBrackets:!0,autofocus:!0,extraKeys:{"Ctrl-Enter":execEditorContents}});function tictoc(e,t){var n=performance.now(),t=(t(),performance.now()-n);console.log(e+`: ${t}ms`)}window.performance&&performance.now||(window.performance={now:Date.now});let db;function execute(e){outputElm.textContent="正在查询...";let t;tictoc("执行SQL",()=>{try{t=db.exec(e)}catch(e){outputElm.textContent="",checkError(e)}}),t&&tictoc("展示数据",()=>{outputElm.innerHTML="";for(let e=0;e<t.length;e++)outputElm.appendChild(tableCreate(t[e].columns,t[e].values))})}tictoc("初始化数据库",()=>{var e=initSqlJs({locateFile:e=>wasmFile}),t=fetch(dbFile).then(e=>e.blob()).then(JSZip.loadAsync).then(e=>e.file("jinjier.sqlite3").async("arrayBuffer"));Promise.all([e,t]).then(e=>{var[e,t]=e,e=(db=new e.Database(new Uint8Array(t)),new URLSearchParams(location.search).get("q"));editor.setValue(e||defaultSQL),execEditorContents()}).catch(e=>checkError(e))})</script><script async src="https://www.googletagmanager.com/gtag/js?id=G-CSDR61VYNK"></script><script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-CSDR61VYNK")</script><script type="text/javascript">!function(e,t,n,c,a,r){e[n]=e[n]||function(){(e[n].q=e[n].q||[]).push(arguments)},(a=t.createElement(c)).async=1,a.src="https://www.clarity.ms/tag/e9mehudvuf",(r=t.getElementsByTagName(c)[0]).parentNode.insertBefore(a,r)}(window,document,"clarity","script")</script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10