<!DOCTYPE html> <html><head> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link href="sqlite.css" rel="stylesheet"> <title>SQLite: Single File Database</title> <!-- path= --> </head> <body> <div class=nosearch> <a href="index.html"> <img class="logo" src="images/sqlite370_banner.gif" alt="SQLite" border="0"> </a> <div><!-- IE hack to prevent disappearing logo --></div> <div class="tagline desktoponly"> Small. Fast. Reliable.<br>Choose any three. </div> <div class="menu mainmenu"> <ul> <li><a href="index.html">Home</a> <li class='mobileonly'><a href="javascript:void(0)" onclick='toggle_div("submenu")'>Menu</a> <li class='wideonly'><a href='about.html'>About</a> <li class='desktoponly'><a href="docs.html">Documentation</a> <li class='desktoponly'><a href="download.html">Download</a> <li class='wideonly'><a href='copyright.html'>License</a> <li class='desktoponly'><a href="support.html">Support</a> <li class='desktoponly'><a href="prosupport.html">Purchase</a> <li class='search' id='search_menubutton'> <a href="javascript:void(0)" onclick='toggle_search()'>Search</a> </ul> </div> <div class="menu submenu" id="submenu"> <ul> <li><a href='about.html'>About</a> <li><a href='docs.html'>Documentation</a> <li><a href='download.html'>Download</a> <li><a href='support.html'>Support</a> <li><a href='prosupport.html'>Purchase</a> </ul> </div> <div class="searchmenu" id="searchmenu"> <form method="GET" action="search"> <select name="s" id="searchtype"> <option value="d">Search Documentation</option> <option value="c">Search Changelog</option> </select> <input type="text" name="q" id="searchbox" value=""> <input type="submit" value="Go"> </form> </div> </div> <script> function toggle_div(nm) { var w = document.getElementById(nm); if( w.style.display=="block" ){ w.style.display = "none"; }else{ w.style.display = "block"; } } function toggle_search() { var w = document.getElementById("searchmenu"); if( w.style.display=="block" ){ w.style.display = "none"; } else { w.style.display = "block"; setTimeout(function(){ document.getElementById("searchbox").focus() }, 30); } } function div_off(nm){document.getElementById(nm).style.display="none";} window.onbeforeunload = function(e){div_off("submenu");} /* Disable the Search feature if we are not operating from CGI, since */ /* Search is accomplished using CGI and will not work without it. */ if( !location.origin || !location.origin.match || !location.origin.match(/http/) ){ document.getElementById("search_menubutton").style.display = "none"; } /* Used by the Hide/Show button beside syntax diagrams, to toggle the */ function hideorshow(btn,obj){ var x = document.getElementById(obj); var b = document.getElementById(btn); if( x.style.display!='none' ){ x.style.display = 'none'; b.innerHTML='show'; }else{ x.style.display = ''; b.innerHTML='hide'; } return false; } var antiRobot = 0; function antiRobotGo(){ if( antiRobot!=3 ) return; antiRobot = 7; var j = document.getElementById("mtimelink"); if(j && j.hasAttribute("data-href")) j.href=j.getAttribute("data-href"); } function antiRobotDefense(){ document.body.onmousedown=function(){ antiRobot |= 2; antiRobotGo(); document.body.onmousedown=null; } document.body.onmousemove=function(){ antiRobot |= 2; antiRobotGo(); document.body.onmousemove=null; } setTimeout(function(){ antiRobot |= 1; antiRobotGo(); }, 100) antiRobotGo(); } antiRobotDefense(); </script> <h2>Single-file Cross-platform Database</h2> <p> A database in SQLite is a single disk file¹. Furthermore, the <a href="fileformat2.html">file format</a> is cross-platform. A database that is created on one machine can be copied and used on a different machine with a different architecture. SQLite databases are portable across 32-bit and 64-bit machines and between <a href="http://en.wikipedia.org/wiki/Endianness">big-endian</a> and <a href="http://en.wikipedia.org/wiki/Endianness">little-endian</a> architectures. </p> <p> The SQLite database file format is also stable. All releases of SQLite version 3 can read and write database files created by the very first SQLite 3 release (version 3.0.0) going back to 2004-06-18. This is "backwards compatibility". The developers promise to maintain backwards compatibility of the database file format for all future releases of SQLite 3. "Forwards compatibility" means that older releases of SQLite can also read and write databases created by newer releases. SQLite is usually, but not completely forwards compatible. </p> <p> The stability of the SQLite database file format and the fact that the file format is cross-platform combine to make SQLite database files an excellent choice as an <a href="appfileformat.html">Application File Format</a>. The US Library Of Congress acknowledges this by listing SQLite as a <a href="locrsf.html">recommended storage format</a> for long-term preservation of digital content. </p> </p> <hr> <div style='font-size: 75%;'> <p>Notes: <ol> <li>Temporary journal files are created as part of transaction control, but those extra files are not part of the steady-state database. </ol> </div> <p align="center"><small><i>This page last modified on <a href="https://sqlite.org/docsrc/honeypot" id="mtimelink" data-href="https://sqlite.org/docsrc/finfo/pages/onefile.in?m=ff3408d859b7942ff">2020-04-06 18:59:20</a> UTC </small></i></p>