Aller au contenu

UGA - MIASHS - S7 - BDD - Pierre Blarre

Installation de SGBD

Icône Présentation
1 / 1

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
      sudo apt-get install sqlite3
    • Fedora :

      Fenêtre de terminal
      sudo dnf install sqlite
    • Arch Linux :

      Fenêtre de terminal
      sudo pacman -S sqlite
    • Redhat/CentOS :

      Fenêtre de terminal
      sudo yum install sqlite

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 :

Fenêtre de terminal
sqlite3

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 :

.help
Exemple de sortie
Fenêtre de terminal
sqlite> .help
.archive ... Manage SQL archives
.auth ON|OFF Show authorizer callbacks
.backup ?DB? FILE Backup DB (default "main") to FILE
.bail on|off Stop after hitting an error. Default OFF
.cd DIRECTORY Change the working directory to DIRECTORY
.changes on|off Show number of rows changed by SQL
.check GLOB Fail if output since .testcase does not match
.clone NEWDB Clone data into NEWDB from the existing database
.connection [close] [#] Open or close an auxiliary database connection
.databases List names and files of attached databases
.dbconfig ?op? ?val? List or change sqlite3_db_config() options
.dbinfo ?DB? Show status information about the database
.dump ?OBJECTS? Render database content as SQL
.echo on|off Turn command echo on or off
.eqp on|off|full|... Enable or disable automatic EXPLAIN QUERY PLAN
.excel Display the output of next command in spreadsheet
.exit ?CODE? Exit this program with return-code CODE
.expert EXPERIMENTAL. Suggest indexes for queries
.explain ?on|off|auto? Change the EXPLAIN formatting mode. Default: auto
.filectrl CMD ... Run various sqlite3_file_control() operations
.fullschema ?--indent? Show schema and the content of sqlite_stat tables
.headers on|off Turn display of headers on or off
.help ?-all? ?PATTERN? Show help text for PATTERN
.hex-rekey OLD NEW NEW Change the encryption key using hexadecimal
.import FILE TABLE Import data from FILE into TABLE
.import FILE TABLE Import data from FILE into TABLE
.indexes ?TABLE? Show names of indexes
.limit ?LIMIT? ?VAL? Display or change the value of an SQLITE_LIMIT
.lint OPTIONS Report potential schema issues.
.log FILE|on|off Turn logging on or off. FILE can be stderr/stdout
.mode MODE ?OPTIONS? Set output mode
.nonce STRING Suspend safe mode for one command if nonce matches
.nullvalue STRING Use STRING in place of NULL values
.once ?OPTIONS? ?FILE? Output for the next SQL command only to FILE
.open ?OPTIONS? ?FILE? Close existing database and reopen FILE
.output ?FILE? Send output to FILE or stdout if FILE is omitted
.parameter CMD ... Manage SQL parameter bindings
.print STRING... Print literal STRING
.progress N Invoke progress handler after every N opcodes
.prompt MAIN CONTINUE Replace the standard prompts
.quit Stop interpreting input stream, exit if primary.
.read FILE Read input from FILE or command output
.recover Recover as much data as possible from corrupt db.
.rekey OLD NEW NEW Change the encryption key
.restore ?DB? FILE Restore content of DB (default "main") from FILE
.save ?OPTIONS? FILE Write database to FILE (an alias for .backup ...)
.scanstats on|off|est Turn sqlite3_stmt_scanstatus() metrics on or off
.schema ?PATTERN? Show the CREATE statements matching PATTERN
.separator COL ?ROW? Change the column and row separators
.session ?NAME? CMD ... Create or control sessions
.sha3sum ... Compute a SHA3 hash of database content
.shell CMD ARGS... Run CMD ARGS... in a system shell
.show Show the current values for various settings
.stats ?ARG? Show stats or turn stats on or off
.system CMD ARGS... Run CMD ARGS... in a system shell
.tables ?TABLE? List names of tables matching LIKE pattern TABLE
.text-rekey OLD NEW NEW Change the encryption key using hexadecimal
.timeout MS Try opening locked tables for MS milliseconds
.timer on|off Turn SQL timer on or off
.trace ?OPTIONS? Output each SQL statement as it is run
.version Show source, library and compiler versions
.vfsinfo ?AUX? Information about the top-level VFS
.vfslist List all available VFSes
.vfsname ?AUX? Print the name of the VFS stack
.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 :

CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT);
INSERT INTO users (name) VALUES ('Aude');
SELECT * 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 :

Fenêtre de terminal
sqlite3 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 :

Fenêtre de terminal
sqlite3 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 :

Fenêtre de terminal
sqlite3 ma_base_de_donnees.db "SELECT * FROM users;"

Prenez un moment pour explorer les commandes SQLite et les requêtes SQL en terminal