« SQLite » : différence entre les versions
(Page créée avec « Lorsque on a besoin d'une base de données relationnelle c'est souvent parce qu'on souhaite y ranger de grosses quantités de données. On veut aussi y accéder à partir de machines tierces avec un accès concurrent et de bonnes performances et dans ce cas on utilisera Oracle si on est riche, PostgeSQL si on est économe et mysal / mariaDB si vraiment les besoins sont limités. ») |
mAucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
Lorsque on a besoin d'une base de données relationnelle c'est souvent parce qu'on souhaite y ranger de grosses quantités de données. On veut aussi y accéder à partir de machines tierces avec un accès concurrent et de bonnes performances et dans ce cas on utilisera Oracle si on est riche, PostgeSQL si on est économe et | Lorsque on a besoin d'une base de données relationnelle c'est souvent parce qu'on souhaite y ranger de grosses quantités de données. On veut aussi y accéder à partir de machines tierces avec un accès concurrent et de bonnes performances et dans ce cas on utilisera [[Oracle]] si on est riche, [[PostgeSQL]] si on est économe et [[MariaDB|mysql/mariaDB]] si vraiment les besoins sont limités. | ||
EN revanche si c'est pour stocker des données en quantité faible, sans besoin de performances élevées et sans problèmes d'accès concurrents SQLite est fait pour nous. | |||
== Installation == | |||
=== Linux Debian /WSL === | |||
<syntaxhighlight lang="bash"> | |||
sudo apt-get update | |||
sudo apt-get -y install sqlite3 | |||
</syntaxhighlight>Suffit pour l'installation. | |||
La version :<syntaxhighlight lang="text"> | |||
sqlite3 --version | |||
3.37.2 2022-01-06 13:25:41 872ba256cbf61d9290b571c0e6d82a20c224ca3ad82971edc46b29818d5dalt1 | |||
</syntaxhighlight> | |||
=== Windows === | |||
On oublie et on utilise WSL! | |||
== Utilisation == | |||
=== Création d'une base === | |||
La base est ce que l'on appelle un schéma dans les bases de données "riches". | |||
Dans SQLite un base de donnée c'est... un fichier texte. | |||
Pour créer une base on fait :<syntaxhighlight lang="bash"> | |||
sqlite3 messages.db | |||
</syntaxhighlight>qui nous donne le "prompt":<syntaxhighlight lang="text"> | |||
SQLite version 3.37.2 2022-01-06 13:25:41 | |||
Enter ".help" for usage hints. | |||
sqlite> | |||
</syntaxhighlight>Les commandes spéciales SQLite commencent par un point ".". <syntaxhighlight lang="text"> | |||
.help affiche ... de l'aide | |||
.databases affiche la ou les bases de données ouvretes | |||
.tables les tables dans la base | |||
.schema <<table>> donne la description d'une table (la commande create table) | |||
</syntaxhighlight> | |||
=== Création table === | |||
Pour créer une table c'est du SQL standard:<syntaxhighlight lang="sqlite3"> | |||
CREATE TABLE messages | |||
( | |||
messageId varchar(40), | |||
timestamp varchar(30), | |||
deviceId varchar(40) | |||
); | |||
</syntaxhighlight>Si on veut avoir la structure d'une table (desc <<nowiki><table>> en Oracle) c'est .schema <<table>></nowiki><syntaxhighlight lang="sqlite3"> | |||
.schema messages | |||
( | |||
messageId varchar(40), | |||
timestamp varchar(30), | |||
deviceId varchar(40)); | |||
</syntaxhighlight> | |||
=== Insert === | |||
Toujours du SQL <syntaxhighlight lang="sqlite3"> | |||
INSERT INTO messages (messageId, timestamp, deviceId) | |||
VALUES ('45cb96e7','2022-08-30T04:47:24','10e14c58'); | |||
</syntaxhighlight> |
Version du 21 février 2024 à 18:38
Lorsque on a besoin d'une base de données relationnelle c'est souvent parce qu'on souhaite y ranger de grosses quantités de données. On veut aussi y accéder à partir de machines tierces avec un accès concurrent et de bonnes performances et dans ce cas on utilisera Oracle si on est riche, PostgeSQL si on est économe et mysql/mariaDB si vraiment les besoins sont limités.
EN revanche si c'est pour stocker des données en quantité faible, sans besoin de performances élevées et sans problèmes d'accès concurrents SQLite est fait pour nous.
Installation
Linux Debian /WSL
sudo apt-get update
sudo apt-get -y install sqlite3
Suffit pour l'installation. La version :
sqlite3 --version
3.37.2 2022-01-06 13:25:41 872ba256cbf61d9290b571c0e6d82a20c224ca3ad82971edc46b29818d5dalt1
Windows
On oublie et on utilise WSL!
Utilisation
Création d'une base
La base est ce que l'on appelle un schéma dans les bases de données "riches".
Dans SQLite un base de donnée c'est... un fichier texte.
Pour créer une base on fait :
sqlite3 messages.db
qui nous donne le "prompt":
SQLite version 3.37.2 2022-01-06 13:25:41
Enter ".help" for usage hints.
sqlite>
Les commandes spéciales SQLite commencent par un point ".".
.help affiche ... de l'aide
.databases affiche la ou les bases de données ouvretes
.tables les tables dans la base
.schema <<table>> donne la description d'une table (la commande create table)
Création table
Pour créer une table c'est du SQL standard:
CREATE TABLE messages
(
messageId varchar(40),
timestamp varchar(30),
deviceId varchar(40)
);
Si on veut avoir la structure d'une table (desc <<table>> en Oracle) c'est .schema <<table>>
.schema messages
(
messageId varchar(40),
timestamp varchar(30),
deviceId varchar(40));
Insert
Toujours du SQL
INSERT INTO messages (messageId, timestamp, deviceId)
VALUES ('45cb96e7','2022-08-30T04:47:24','10e14c58');