SQL Basics

  • SQL = Structured Query Language (Strukturierte Abfrage Sprache)
  • Sprache zur Verwaltung und zum Zugriff auf relationale Datenbanken
  • Bekannte relationale Datenbanken:
NameInformationVerwendung
MySQLseit 2010 im Besitz von Oracle
Details siehe Wikipedia
Facebook, YouTube, Flickr, ...
MariaDBOpen Source Branch von MySQLWikimedia, viele Linux Distributionen, Mozilla, ...
PostgreSQLOpen sourceeinige Linux Distributionen, macOS, ...

SQL Befehle

SQL BefehlBeschreibung
CREATE DATABASE db_nameDatenbank anlegen
DROP DATABASE db_nameDatenbank löschen
CREATE TABLE table_nameTabelle anlegen (leere neu anlegen, oder aus existierenden Daten)
ALTER TABLE table_nameTabelle nachträglich verändern (Spalten hinzufügen, löschen, umbenennen)
DROP TABLE table_nameTabelle löschen
INSERT INTO table_name VALUES (value1, value2, ...)Neuen Eintrag in Tabelle
SELECT columns FROM table_nameeinzelne Spalten auswählen (* für alle)
SELECT columns FROM table_name WHERE column=valueAuswahl filtern (mehrere Bedingungen mit AND und OR verknüpfen)
SELECT columns FROM table_name ORDER BY columnAuswahl sortieren
UPDATE table_name SET column=wert WHERE column=valueEintrag in Tabelle ändern
DELETE FROM table_name WHERE column=valueEintrag aus Tabelle löschen

weitere

Beispiel: einzelne Tabelle mit sqlite3 erstellen

Hinweis: Erscheint der Fehler: Error: Cannot find module 'sqlite3' muss sqlite3 mit npm oder yarn installiert sein:

Codenpm install sqlite3

Folgender Code erzeugt dann eine Datenbank mit einer Tabelle und gibt diese aus:

JavaScript// we need a database tool and use sqlite3
const sqlite3 = require('sqlite3').verbose();

// Connect to the database (or create a new one if it doesn't exist)
const db = new sqlite3.Database('example.db');

// Create a table
db.serialize(() => {
  db.run('CREATE TABLE IF NOT EXISTS users (id INT, name TEXT)');

  // Insert some sample data
  const stmt = db.prepare('INSERT INTO users VALUES (?, ?)');
  stmt.run(1, 'John Doe');
  stmt.run(2, 'Jane Smith');
  stmt.run(4, 'Horst Hund');
  stmt.finalize();

  // Retrieve data and print it
  db.each('SELECT * FROM users', (err, row) => {
    console.log(`${row.id} - ${row.name}`);
  });
});

// Close the database connection
db.close();