diff --git a/sae/tex/datenbanken.tex b/sae/tex/datenbanken.tex index 884f5c2..a64d397 100644 --- a/sae/tex/datenbanken.tex +++ b/sae/tex/datenbanken.tex @@ -30,3 +30,95 @@ \end{tabular} \\ % Das Gründungsjahr ist durch den Interpreten ersichtlich und nicht durch die CD\_ID. Das heißt, Interpret und Gründungsjahr sollten in eine Tabelle ausgelagert werden. + +\section{SQL Befehle} + \subsection{Tabelle erstellen} + \begin{lstlisting}[frame=single] + CREATE TABLE tabellenname + (id INT NOT NULL AUTO_INCREMENT, + wert VARCHAR(255) NOT NULL, PRIMARY (id)); + \end{lstlisting} + + \subsection{Werte eintragen} + \begin{lstlisting}[frame=single] + INSERT INTO tabellenname (id, wert) + VALUES (1, 'Test'); + \end{lstlisting} + + \subsection{Bestehende Werte ändern} + \begin{lstlisting}[frame=single] + UPDATE tabellenname + SET wert = 'Update TEST' + WHERE id = 1; + \end{lstlisting} + + \subsection{Werte aus Tabelle löschen} + \begin{lstlisting}[frame=single] + DELETE FROM tabellenname + WHERE id = 1; + \end{lstlisting} + + \subsection{Komplette Tabelle löschen} + \begin{lstlisting}[frame=single] + DROP tabellenname; + \end{lstlisting} + + \subsection{Alle Werte aus Tabelle löschen} + \begin{lstlisting}[frame=single] + TRUNCATE tabellenname; + \end{lstlisting} + + \subsection{Werte anzeigen} + \subsubsection{Alle anzeigen} + \begin{lstlisting}[frame=single] + SELECT * FROM tabellenname; + \end{lstlisting} + + \subsubsection{Nur bestimmte Spalten anzeigen} + \begin{lstlisting}[frame=single] + SELECT werte FROM tabellenname; + \end{lstlisting} + + \subsubsection{Spalten Beschriftungen} + \begin{lstlisting}[frame=single] + SELECT werte AS "Text" + FROM tabellenname; + \end{lstlisting} + + \subsubsection{Zeilen zählen} + Bei 3 Einträgen in Werte: + \begin{lstlisting}[frame=single] + SELECT COUNT(werte) AS "Anzahl Texte" + FROM tabellenname; + \end{lstlisting} + Ergebnis: Anzahl Texte 3 + + \subsubsection{Werte aufsummieren} + Angenommen die Tabelle enthält in der Spalte anzahl + die Werte: 1, 3, 3, 7 + \begin{lstlisting}[frame=single] + SELECT SUM(anzahl) AS "Summe Anzahl" + FROM tabellenname; + \end{lstlisting} + Ergebnis wäre dann: Summe Anzahl 14 + + \subsubsection{Weitere Rechenfunktionen} + Außer COUNT() und SUM() gibt es noch: + \begin{itemize} + \item AVG: Average, Durchschnitt über Werte bilden + \item MIN: Den kleinsten Wert ausgeben + \item MAX: Den größten Wert ausgeben + \item ROUND(spalte, dezimalstellen): Gerundete Werte ausgeben + \end{itemize} + + + \subsubsection{Werte miteinander verrechnen} + Angenommen die Tabelle enthält in der Spalte anzahl + die Werte: 4, 2 und in der Spalte preis die Werte + 5, 4. + \begin{lstlisting}[frame=single] + SELECT (anzahl * preis) AS "Preis gesamt" + FROM tabellenname; + \end{lstlisting} + Die Ergebnisse wären dann: 20, 8 + diff --git a/sae/tex/saeroot.pdf b/sae/tex/saeroot.pdf index f57fee1..66b5206 100644 Binary files a/sae/tex/saeroot.pdf and b/sae/tex/saeroot.pdf differ diff --git a/sae/tex/saeroot.tex b/sae/tex/saeroot.tex index d6a75cf..57fbc41 100644 --- a/sae/tex/saeroot.tex +++ b/sae/tex/saeroot.tex @@ -10,6 +10,7 @@ \usepackage{amssymb} \usepackage{scrpage2} \usepackage{graphicx} +\usepackage{listings} \usepackage[colorlinks=false]{hyperref} \graphicspath{ {../img/} } \author{Janek Schoffit} %Für Metadaten @@ -56,6 +57,7 @@ \ihead{Janek Schoffit} \ohead{\today} %\today für das heutige Datum \cfoot{\pagemark} %Seitenzahlen \ofoot für rechts + \lstset{language=SQL} %Code listing Sprache \begin{tabular}{l} % \toprule \LARGE \textbf{SAE Stoffsammlung}\\ %\midrule