Installation de SGBD
Comme nous l’avons déjà mentionné, il existe de nombreux systèmes de gestion de bases de données relationnelles.
Par défaut, les SGBD-R ne sont pas dotés d’interfaces graphiques, uniquement d’un accès par terminal.
Le SGBD SQLite
SQLite est un SGBD-R léger, rapide, sans serveur et sans configuration.
- Il est idéal pour le développement d’applications mobiles et est présent dans de nombreuses applications Android et iOS.
- Il est intégré et compatible dans de nombreux langages de programmation (Python, PHP, Java, etc.).
- Il est simple à utiliser et idéal pour les petites applications.
- SQLite stocke les bases de données dans un fichier unique.
- Cependant, il est limité pour les applications nécessitant des performances élevées, la gestion de gros volumes de données et la gestion de plusieurs utilisateurs.
Installation
Si ce n’est pas déjà fait, installez SQLite sur votre machine.
En fonction de votre OS et préférences, vous pouvez installer SQLite de différentes manières :
- Fichier précompilé pour Linux : sqlite-tools-linux-x64-3460100.zip (1.99 MiB)
- Via le gestionnaire de paquets de votre distribution :
-
Debian/Ubuntu :
Fenêtre de terminal 1sudo apt-get install sqlite3 -
Fedora :
Fenêtre de terminal 1sudo dnf install sqlite -
Arch Linux :
Fenêtre de terminal 1sudo pacman -S sqlite -
Redhat/CentOS :
Fenêtre de terminal 1sudo yum install sqlite
-
-
Avec le fichier précompilé pour MAC actuellement sqlite-tools-osx-x64-3460100.zip (3.55 MiB)
-
Avec Homebrew :
1brew install sqlite3
Utilisation dans un terminal
Pour les utilisateurs de Windows, préférez l’utilisation du terminal PowerShell.
Pour plus de facilité, vous pouvez utiliser les terminaux intégrés à VSCode.
Pour utiliser SQLite dans un terminal en mode interactif, il suffit de taper la commande sqlite3
:
1sqlite3
Utilisation dans un terminal
Une fois dans le terminal SQLite, vous pouvez entrer des commandes SQLite pour piloter/configuer le sgbd d’une part et exécuter des requêtes SQL d’autre part.
Les commandes SQLite sont précédées d’un point .
Par exemple, la commande .help
affiche l’aide et la liste des commandes disponibles :
1.help
Exemple de sortie
1sqlite> .help2
3.archive ... Manage SQL archives4.auth ON|OFF Show authorizer callbacks5.backup ?DB? FILE Backup DB (default "main") to FILE6.bail on|off Stop after hitting an error. Default OFF7.cd DIRECTORY Change the working directory to DIRECTORY8.changes on|off Show number of rows changed by SQL9.check GLOB Fail if output since .testcase does not match10.clone NEWDB Clone data into NEWDB from the existing database11.connection [close] [#] Open or close an auxiliary database connection12.databases List names and files of attached databases13.dbconfig ?op? ?val? List or change sqlite3_db_config() options14.dbinfo ?DB? Show status information about the database15.dump ?OBJECTS? Render database content as SQL16.echo on|off Turn command echo on or off17.eqp on|off|full|... Enable or disable automatic EXPLAIN QUERY PLAN18.excel Display the output of next command in spreadsheet19.exit ?CODE? Exit this program with return-code CODE20.expert EXPERIMENTAL. Suggest indexes for queries21.explain ?on|off|auto? Change the EXPLAIN formatting mode. Default: auto22.filectrl CMD ... Run various sqlite3_file_control() operations23.fullschema ?--indent? Show schema and the content of sqlite_stat tables24.headers on|off Turn display of headers on or off25.help ?-all? ?PATTERN? Show help text for PATTERN26.hex-rekey OLD NEW NEW Change the encryption key using hexadecimal27.import FILE TABLE Import data from FILE into TABLE28.import FILE TABLE Import data from FILE into TABLE29.indexes ?TABLE? Show names of indexes30.limit ?LIMIT? ?VAL? Display or change the value of an SQLITE_LIMIT31.lint OPTIONS Report potential schema issues.32.log FILE|on|off Turn logging on or off. FILE can be stderr/stdout33.mode MODE ?OPTIONS? Set output mode34.nonce STRING Suspend safe mode for one command if nonce matches35.nullvalue STRING Use STRING in place of NULL values36.once ?OPTIONS? ?FILE? Output for the next SQL command only to FILE37.open ?OPTIONS? ?FILE? Close existing database and reopen FILE38.output ?FILE? Send output to FILE or stdout if FILE is omitted39.parameter CMD ... Manage SQL parameter bindings40.print STRING... Print literal STRING41.progress N Invoke progress handler after every N opcodes42.prompt MAIN CONTINUE Replace the standard prompts43.quit Stop interpreting input stream, exit if primary.44.read FILE Read input from FILE or command output45.recover Recover as much data as possible from corrupt db.46.rekey OLD NEW NEW Change the encryption key47.restore ?DB? FILE Restore content of DB (default "main") from FILE48.save ?OPTIONS? FILE Write database to FILE (an alias for .backup ...)49.scanstats on|off|est Turn sqlite3_stmt_scanstatus() metrics on or off50.schema ?PATTERN? Show the CREATE statements matching PATTERN51.separator COL ?ROW? Change the column and row separators52.session ?NAME? CMD ... Create or control sessions53.sha3sum ... Compute a SHA3 hash of database content54.shell CMD ARGS... Run CMD ARGS... in a system shell55.show Show the current values for various settings56.stats ?ARG? Show stats or turn stats on or off57.system CMD ARGS... Run CMD ARGS... in a system shell58.tables ?TABLE? List names of tables matching LIKE pattern TABLE59.text-rekey OLD NEW NEW Change the encryption key using hexadecimal60.timeout MS Try opening locked tables for MS milliseconds61.timer on|off Turn SQL timer on or off62.trace ?OPTIONS? Output each SQL statement as it is run63.version Show source, library and compiler versions64.vfsinfo ?AUX? Information about the top-level VFS65.vfslist List all available VFSes66.vfsname ?AUX? Print the name of the VFS stack67.width NUM1 NUM2 ... Set minimum column widths for columnar output
Utilisation dans un terminal
Pour les requêtes SQL, il n’y a pas de point préfixe. Par exemple, pour créer une table users
et y insérer un utilisateur Aude
:
1CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT);2INSERT INTO users (name) VALUES ('Aude');3SELECT * FROM users;
Utilisation dans un terminal
Pour préciser une base de données, il faut lancer sqlite3
avec le nom du fichier de la base de données :
1sqlite3 ma_base_de_donnees.db
Utilisation dans un terminal
On peut importer du code .sql
dans une base de données SQLite avec la commande suivante :
1sqlite3 ma_base_de_donnees.db < mon_fichier.sql
Utilisation dans un terminal
Enfin, SQLite dispose d’un mode non interactif qui permet d’exécuter des requêtes SQL directement depuis le terminal :
1sqlite3 ma_base_de_donnees.db "SELECT * FROM users;"
Prenez un moment pour explorer les commandes SQLite et les requêtes SQL en terminal