<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=SQLite</id>
	<title>SQLite - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=SQLite"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=SQLite&amp;action=history"/>
	<updated>2026-08-30T08:35:30Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=SQLite&amp;diff=249830&amp;oldid=prev</id>
		<title>Joan: /* Instal.lant SQLite */</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=SQLite&amp;diff=249830&amp;oldid=prev"/>
		<updated>2012-10-26T17:37:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Instal.lant SQLite&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Què és SQLite=&lt;br /&gt;
http://www.sqlite.org/&lt;br /&gt;
&lt;br /&gt;
SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world. The source code for SQLite is in the public domain.&lt;br /&gt;
&lt;br /&gt;
Documentació: http://www.sqlite.org/docs.html&lt;br /&gt;
&lt;br /&gt;
=Instal.lant SQLite=&lt;br /&gt;
descàrrega: http://www.sqlite.org/download.html (van per la versió 3.6)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install sqlite3 libsqlite3-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
sqlite3 ja està instal.lat, s'instal.la el dev.&lt;br /&gt;
Resulta que està instal.lada la versió 2.8.17&lt;br /&gt;
&lt;br /&gt;
Desinstal.lo (sudo apt-get install sqlite3) i torno a instal.lar&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
Configurando sqlite3 (3.5.9-3) ...&lt;br /&gt;
joan@joan-laptop:~$ sqlite&lt;br /&gt;
SQLite version 2.8.17&lt;br /&gt;
Enter &amp;quot;.help&amp;quot; for instructions&lt;br /&gt;
sqlite&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Veig que no era veritat que estigués instal.lada la versió 2.8.17, això deu ser la versió de la consola.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sqlite&amp;gt; .help&lt;br /&gt;
.databases             List names and files of attached databases&lt;br /&gt;
.dump ?TABLE? ...      Dump the database in a text format&lt;br /&gt;
.echo ON|OFF           Turn command echo on or off&lt;br /&gt;
.exit                  Exit this program&lt;br /&gt;
.explain ON|OFF        Turn output mode suitable for EXPLAIN on or off.&lt;br /&gt;
.header(s) ON|OFF      Turn display of headers on or off&lt;br /&gt;
.help                  Show this message&lt;br /&gt;
.indices TABLE         Show names of all indices on TABLE&lt;br /&gt;
.mode MODE             Set mode to one of &amp;quot;line(s)&amp;quot;, &amp;quot;column(s)&amp;quot;, &lt;br /&gt;
                       &amp;quot;insert&amp;quot;, &amp;quot;list&amp;quot;, or &amp;quot;html&amp;quot;&lt;br /&gt;
.mode insert TABLE     Generate SQL insert statements for TABLE&lt;br /&gt;
.nullvalue STRING      Print STRING instead of nothing for NULL data&lt;br /&gt;
.output FILENAME       Send output to FILENAME&lt;br /&gt;
.output stdout         Send output to the screen&lt;br /&gt;
.prompt MAIN CONTINUE  Replace the standard prompts&lt;br /&gt;
.quit                  Exit this program&lt;br /&gt;
.read FILENAME         Execute SQL in FILENAME&lt;br /&gt;
.schema ?TABLE?        Show the CREATE statements&lt;br /&gt;
.separator STRING      Change separator string for &amp;quot;list&amp;quot; mode&lt;br /&gt;
.show                  Show the current values for various settings&lt;br /&gt;
.tables ?PATTERN?      List names of tables matching a pattern&lt;br /&gt;
.timeout MS            Try opening locked tables for MS milliseconds&lt;br /&gt;
.width NUM NUM ...     Set column widths for &amp;quot;column&amp;quot; mode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Utilitzant SQLite=&lt;br /&gt;
http://www.sqlite.org/sqlite.html&lt;br /&gt;
&lt;br /&gt;
Des de la línia de comandes de la shell:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sqlite3 test.db&lt;br /&gt;
$ sqlite3 test.db &amp;quot;create table t1 (t1key INTEGER PRIMARY KEY,data TEXT,num double,timeEnter DATE);&amp;quot;&lt;br /&gt;
$ sqlite3 test.db &amp;quot;insert into t1 (data,num) values ('This is sample data',3);&amp;quot;&lt;br /&gt;
$ sqlite3 test.db &amp;quot;insert into t1 (data,num) values ('More sample data',6);&amp;quot;&lt;br /&gt;
$ sqlite3 test.db &amp;quot;insert into t1 (data,num) values ('And a little more',9);&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As expected, doing a select returns the data in the table. Note that the primary key &amp;quot;t1key&amp;quot; auto increments; however, there are no default values for timeEnter. To populate the timeEnter field with the time, an update trigger is needed. Note that you should not use the abbreviation &amp;quot;INT&amp;quot; when working with the PRIMARY KEY. You must use &amp;quot;INTEGER&amp;quot; for the primary key to update.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sqlite3 test.db &amp;quot;select * from t1 limit 2&amp;quot;;&lt;br /&gt;
    1|This is sample data|3|&lt;br /&gt;
    2|More sample data|6|&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Des de la línia de comandes del SQLite:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sqlite3 ex1&lt;br /&gt;
SQLite version 3.3.10&lt;br /&gt;
Enter &amp;quot;.help&amp;quot; for instructions&lt;br /&gt;
sqlite&amp;gt; create table tbl1(one varchar(10), two smallint);&lt;br /&gt;
sqlite&amp;gt; insert into tbl1 values('hello!',10);&lt;br /&gt;
sqlite&amp;gt; insert into tbl1 values('goodbye', 20);&lt;br /&gt;
sqlite&amp;gt; select * from tbl1;&lt;br /&gt;
hello!|10&lt;br /&gt;
goodbye|20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===La taula '''SQLITE_MASTER''':===&lt;br /&gt;
&lt;br /&gt;
The database schema in an SQLite database is stored in a special table named &amp;quot;sqlite_master&amp;quot;. You can execute &amp;quot;SELECT&amp;quot; statements against the special sqlite_master table just like any other table in an SQLite database. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    $ sqlite3 ex1&lt;br /&gt;
    SQlite vresion 3.3.10&lt;br /&gt;
    Enter &amp;quot;.help&amp;quot; for instructions&lt;br /&gt;
    sqlite&amp;gt; select * from sqlite_master;&lt;br /&gt;
        type = table&lt;br /&gt;
        name = tbl1&lt;br /&gt;
    tbl_name = tbl1&lt;br /&gt;
    rootpage = 3&lt;br /&gt;
         sql = create table tbl1(one varchar(10), two smallint)&lt;br /&gt;
    sqlite&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De les comandes que podem consultar amb .help, m'interessa especialment&lt;br /&gt;
===mode: canviar el format de sortida===&lt;br /&gt;
Podem fer moltes coses. Per exemple, &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sqlite&amp;gt; .separator &amp;quot;, &amp;quot;&lt;br /&gt;
sqlite&amp;gt; select * from tbl1;&lt;br /&gt;
hello, 10&lt;br /&gt;
goodbye, 20&lt;br /&gt;
sqlite&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===enviar resultat a fitxer i carregar fitxer===&lt;br /&gt;
Enviem el resultat d'una select al fitxer:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sqlite&amp;gt; .mode list&lt;br /&gt;
sqlite&amp;gt; .separator |&lt;br /&gt;
sqlite&amp;gt; .output fitxer.txt&lt;br /&gt;
sqlite&amp;gt; select * from tbl1;&lt;br /&gt;
sqlite&amp;gt; .exit&lt;br /&gt;
$ cat test_file_1.txt&lt;br /&gt;
hello|10&lt;br /&gt;
goodbye|20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I ara importem el fitxer:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
joan@joan-laptop:~$ sqlite3 ex1&lt;br /&gt;
SQLite version 3.5.9&lt;br /&gt;
Enter &amp;quot;.help&amp;quot; for instructions&lt;br /&gt;
sqlite&amp;gt; delete from tbl1;&lt;br /&gt;
sqlite&amp;gt; select * from tbl1;&lt;br /&gt;
sqlite&amp;gt; .import fitxer.txt tbl1&lt;br /&gt;
sqlite&amp;gt; select * from tbl1;&lt;br /&gt;
hello!|10&lt;br /&gt;
goodbye|20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Programant SQLite=&lt;br /&gt;
&lt;br /&gt;
Amb un script shell podem fer coses més o menys complicades:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sqlite3 ex1 'select * from tbl1' | awk '{printf &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;%s&amp;lt;td&amp;gt;%s\n&amp;quot;,$1,$2 }'&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hello!|10&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;goodbye|20&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
man awk -&amp;gt; pattern scanning and text processing language&lt;br /&gt;
&lt;br /&gt;
{{Autor}}, febrer 2009&lt;br /&gt;
[[Categoria: SQLite]]&lt;br /&gt;
[[Categoria: Bases de dades]]&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>