Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
| lpi1:sql [2014/09/18 07:40] stefan_miethke [Das Skript in einer Datei] | lpi1:sql [2015/08/17 13:07] (aktuell) ingo_wichmann [Dokumentation] | ||
|---|---|---|---|
| Zeile 17: | Zeile 17: | ||
| Aufbau gemäß ''/etc/passwd'' : | Aufbau gemäß ''/etc/passwd'' : | ||
| - | sqlite3 accounts.db <<SQL | ||
| <code sql> | <code sql> | ||
| + | sqlite3 accounts.db <<SQL | ||
| + | |||
| CREATE TABLE users ( | CREATE TABLE users ( | ||
| uid text, | uid text, | ||
| Zeile 28: | Zeile 29: | ||
| shell text | shell text | ||
| ); | ); | ||
| + | |||
| + | SQL | ||
| </code> | </code> | ||
| - | SQL | ||
| ==== Benutzer importieren ==== | ==== Benutzer importieren ==== | ||
| Zeile 42: | Zeile 44: | ||
| SQL INSERT Statement zum Einfügen der Daten in die Tabelle ''users'': | SQL INSERT Statement zum Einfügen der Daten in die Tabelle ''users'': | ||
| - | cat <<SQL  | ||
| <code sql> | <code sql> | ||
| + | cat <<SQL  | ||
| + | |||
| INSERT INTO users ( uid, password, uidNumber, gidNumber, gecos, home, shell ) | INSERT INTO users ( uid, password, uidNumber, gidNumber, gecos, home, shell ) | ||
| VALUES ( '$uid', '$password', '$uidNumber', '$gidNumber', '$gecos', '$home', '$shell' ); | VALUES ( '$uid', '$password', '$uidNumber', '$gidNumber', '$gecos', '$home', '$shell' ); | ||
| + | |||
| + | SQL | ||
| </code> | </code> | ||
| - | SQL | ||
| === Mit ''while''-Schleife alle Benutzer importieren === | === Mit ''while''-Schleife alle Benutzer importieren === | ||
| Zeile 64: | Zeile 68: | ||
| Für die ''/etc/group'' werden zwei Tabellen benötigt: | Für die ''/etc/group'' werden zwei Tabellen benötigt: | ||
| - | sqlite3 accounts.db <<SQL  | ||
| <code sql> | <code sql> | ||
| - | CREATE TABLE groups ( gid text, password text, gidNumber integer ); | + | sqlite3 accounts.db <<SQL | 
| - | CREATE TABLE members ( gidNumber integer, uid text ); | + | |
| + | CREATE TABLE groups ( gid text, password text, gidNumber integer ); | ||
| + | CREATE TABLE members ( gidNumber integer, uid text ); | ||
| + | |||
| + | SQL | ||
| </code> | </code> | ||
| - | SQL | ||
| ==== Gruppen importieren ==== | ==== Gruppen importieren ==== | ||
| Zeile 299: | Zeile 305: | ||
| ===== Subselect ===== | ===== Subselect ===== | ||
| - | Die Durchschnitt der Gruppennummern aus der Tabelle ''users'' berechnen: | + | Den Durchschnitt der Gruppennummern aus der Tabelle ''users'' berechnen: | 
| <code sql> | <code sql> | ||
| select avg(gidNumber) from users; | select avg(gidNumber) from users; | ||
| Zeile 357: | Zeile 363: | ||
| ====== Dokumentation ====== | ====== Dokumentation ====== | ||
| * [[http://www.sqlite.org/lang.html]] | * [[http://www.sqlite.org/lang.html]] | ||
| - | * {{:visual_sql_joins_orig.jpg?200|}} | + | * {{:visual_sql_joins_orig.jpg?200|}} ( [[http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins| Quelle]] ) |