Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi1:sql

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Nächste Überarbeitung Beide Seiten, nächste Überarbeitung
lpi1:sql [2014/07/16 14:30]
o.bertuch [Installation Pakete]
lpi1:sql [2015/08/17 13:00]
ingo_wichmann [Subselect]
Zeile 1: Zeile 1:
 ====== Installation Pakete ====== ====== Installation Pakete ======
-SuSE, Debian: +SuSE, Debian: ​''​sqlite3''​
-  ​sqlite3+
  
-CentOS: +CentOS: ​''​sqlite''​
-  ​sqlite+
  
 ====== Unix Benutzer in SQLite Datenbank überführen ====== ====== Unix Benutzer in SQLite Datenbank überführen ======
Zeile 19: 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 30: Zeile 29:
  shell text   shell text 
 ); );
 +
 +SQL
 </​code>​ </​code>​
-  SQL 
  
 ==== Benutzer importieren ==== ==== Benutzer importieren ====
Zeile 44: 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 66: 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 116: Zeile 120:
  
 ==== Das Skript in einer Datei ==== ==== Das Skript in einer Datei ====
-''​unix_users2sql.sh''​ : +<file bash unix_users2sql.sh>​
-<code bash>+
 #!/bin/bash #!/bin/bash
  
Zeile 165: Zeile 168:
   done   done
 done < /etc/group | sqlite3 accounts.db done < /etc/group | sqlite3 accounts.db
-</code>+</file>
  
 ==== Der fertige SQL-Dump ==== ==== Der fertige SQL-Dump ====
Zeile 302: 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;
lpi1/sql.txt · Zuletzt geändert: 2015/08/17 13:07 von ingo_wichmann