{"componentChunkName":"component---node-modules-stvad-gatsby-theme-garden-src-templates-roam-page-js","path":"/SQLite","result":{"data":{"roamPage":{"title":"SQLite","childMdx":{"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"sqlite\"\n  }, \"SQLite\"), mdx(Block, {\n    id: \"-EzcpfAXN\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uB77C\\uC774\\uBE0C\\uB7EC\\uB9AC \\uD615\\uD0DC\\uB85C \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC788\\uB294 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/SQL\",\n      \"title\": \"SQL\",\n      \"className\": \" internal-link\"\n    }, \"SQL\"), \" \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/37e1e\",\n      \"title\": \"데이터베이스\",\n      \"className\": \" internal-link\"\n    }, \"\\uB370\\uC774\\uD130\\uBCA0\\uC774\\uC2A4\"), \"\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","outboundReferences":[{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"sql\"\n  }, \"SQL\"), mdx(Block, {\n    id: \"byW0wWH26\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://www.edgedb.com/blog/we-can-do-better-than-sql#critique-of-sql\"\n    }, \"Critique of SQL\\u200B\"), \", EdgeDB\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"8355c932-e73b-5532-bcc6-379f30c3e1d6","title":"SQL","fields":{"slug":"/SQL"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"데이터베이스\"\n  }, \"\\uB370\\uC774\\uD130\\uBCA0\\uC774\\uC2A4\"), mdx(Block, {\n    id: \"wIY3zbjzW\",\n    content: mdx(React.Fragment, null),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"440c88f8-079b-5160-9ba6-ca9c110d146b","title":"데이터베이스","fields":{"slug":"/37e1e"}}}],"inboundReferences":[{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(Block, {\n    id: \"-Anv0dvjI\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC608\\uC804\\uBD80\\uD130 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/SQLite\",\n      \"title\": \"SQLite\",\n      \"className\": \" internal-link\"\n    }, \"SQLite\"), \"\\uAC00 \\uD0C0 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/37e1e\",\n      \"title\": \"데이터베이스\",\n      \"className\": \" internal-link\"\n    }, \"\\uB370\\uC774\\uD130\\uBCA0\\uC774\\uC2A4\"), \"\\uC5D0 \\uBE44\\uD574 \\uC9C0\\uC9C0 \\uC54A\\uC744 \\uC815\\uB3C4\\uC758 \\uC131\\uB2A5\\uC774\\uB098 \\uAE30\\uB2A5\\uC744 \\uC81C\\uACF5\\uD55C\\uB2E4\\uB294 \\uC774\\uC57C\\uAE30\\uB294 \\uC885\\uC885 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Hacker-News\",\n      \"title\": \"Hacker News\",\n      \"className\": \" internal-link\"\n    }, \"Hacker News\"), \" \\uAD6C\\uC11D\\uC5D0\\uC11C \\uB3CC\\uAE34 \\uD588\\uC74C...\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"e41e8c14-8f77-563e-a1cb-ddb0ebefd370","string":"예전부터 [[SQLite]]가 타 [[데이터베이스]]에 비해 지지 않을 정도의 성능이나 기능을 제공한다는 이야기는 종종 [[Hacker News]] 구석에서 돌긴 했음...","fields":{"parentPage":{"title":"June 9th, 2022","fields":{"slug":"/June-9th-2022"}},"slug":"/Anv0dvjI"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(Block, {\n    id: \"dsAS_2Pdp\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/TIL\",\n      \"title\": \"hashtag_TIL\",\n      \"className\": \"hashtag internal-link\"\n    }, \"TIL\"), \" \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/SQLite\",\n      \"title\": \"SQLite\",\n      \"className\": \" internal-link\"\n    }, \"SQLite\"), \" \\uB0B4\\uC7A5 \\uB3C4\\uAD6C\\uB97C \\uD1B5\\uD574 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/CSV\",\n      \"title\": \"CSV\",\n      \"className\": \" internal-link\"\n    }, \"CSV\"), \"\\uC5D0 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/SQL\",\n      \"title\": \"SQL\",\n      \"className\": \" internal-link\"\n    }, \"SQL\"), \" \\uCFFC\\uB9AC\\uB97C \\uD574\\uBCFC \\uC218 \\uC788\\uB2E4: \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://til.simonwillison.net/sqlite/one-line-csv-operations\"\n    }, \"https://til.simonwillison.net/sqlite/one-line-csv-operations\"))),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"844d4d30-89fb-5e56-9afd-0c17e6a25172","string":"#TIL [[SQLite]] 내장 도구를 통해 [[CSV]]에 [[SQL]] 쿼리를 해볼 수 있다: https://til.simonwillison.net/sqlite/one-line-csv-operations","fields":{"parentPage":{"title":"June 22nd, 2022","fields":{"slug":"/June-22nd-2022"}},"slug":"/dsAS_2Pdp"}}}]},"fields":{"slug":"/SQLite"}}},"pageContext":{"id":"e36a6098-7e3c-5f23-8abe-65e1b6d0366e"}},"staticQueryHashes":["2131059104","2221750479","2468095761"]}