<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SQL Befehle - hilfreiche-tools.de</title>
	<atom:link href="https://www.hilfreiche-tools.de/sql-befehle/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.hilfreiche-tools.de/sql-befehle/</link>
	<description>Ihr Onlineportal für alle Rechner, Generatoren und Tools</description>
	<lastBuildDate>Wed, 27 Mar 2019 06:56:09 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.4</generator>

<image>
	<url>https://www.hilfreiche-tools.de/wp-content/uploads/2019/02/cropped-logo-1-32x32.gif</url>
	<title>SQL Befehle - hilfreiche-tools.de</title>
	<link>https://www.hilfreiche-tools.de/sql-befehle/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>SQL Befehle Update</title>
		<link>https://www.hilfreiche-tools.de/sql-befehle-update/</link>
		
		<dc:creator><![CDATA[kirchner]]></dc:creator>
		<pubDate>Thu, 28 Feb 2019 19:51:36 +0000</pubDate>
				<category><![CDATA[SQL-Befehle]]></category>
		<guid isPermaLink="false">https://www.hilfreiche-tools.de/sql-befehle-update/</guid>

					<description><![CDATA[<p>Wir bieten Ihnen hier ein einfaches Tool zur Erstellung eines SQL Update Befehls für einen Datenbankabfrage zur Verfügung stellen. Um</p>
<p>Der Beitrag <a href="https://www.hilfreiche-tools.de/sql-befehle-update/">SQL Befehle Update</a> erschien zuerst auf <a href="https://www.hilfreiche-tools.de">Hilfreiche Tools</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Wir bieten Ihnen hier ein einfaches Tool zur Erstellung eines <strong>SQL Update Befehls</strong> für einen Datenbankabfrage zur Verfügung stellen.</p>
<p>Um den SQL Befehl zuerstellen füllen Sie einfach die unten stehenden Felder aus:</p>
<h2></h2>
<form method="POST" id="tool_frame" name="tool_frame" enctype="multipart/form-data"><p>Mit UPDATE können Werte aus einer Tabelle verändert werden. Aufbau :<br>
<table>
<tr><td>UPDATE</td></tr>
<tr><td>Tabelle</td></tr>
<tr><td>SET Spalte=Wert[,Spalte=Wert][,...]</td></tr>
<tr><td>WHERE Bedingung</td></tr>
</table>
</p>
<p><b>Wie verändert man alle Werte eines Feldes in einer Tabelle?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Name der Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s1[tabelle]" value="tabellenname"></td>
	</tr>
	<tr>
		<td><b>Feld das geändert werden soll</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s1[feld]" value="feld"></td>
	</tr>
	<tr>
		<td><b>Neuer Wert des Feldes</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s1[wert]" value="wert"></td>
	</tr>
</table>
<p><b>Wie verändert man den Wert bestimmter Felder in einer Tabelle?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Name der Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s2[tabelle]" value="tabellenname"></td>
	</tr>
	<tr>
		<td><b>Feld das geändert werden soll</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s2[feld]" value="feld"></td>
	</tr>
	<tr>
		<td><b>Neuer Wert des Feldes</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s2[wert]" value="wert"></td>
	</tr>
	<tr>
		<td><b>Feld das geprüft werden soll</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s2[feld2]" value="suchfeld"></td>
	</tr>
	<tr>
		<td><b>Nach welcher Bedingung soll geprüft werden?</b></td>
		<td>&nbsp;</td>
		<td align="right"><SELECT name="s2[beding]" ><option value="0">=</option>
<option value="1">&lt;</option>
<option value="2">&gt;</option>
<option value="3">!=</option>
<option value="4">LIKE</option>
<option value="5">IS NULL</option>
<option value="6">IS NOT NULL</option>
</SELECT></td>
	</tr>
	<tr>
		<td><b>Auf welchen Wert soll geprüft werden?</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s2[kondi]" value="kondition"></td>
	</tr>
</table>
<p><b>Wie verändert man den Wert über zwei Tabellen?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Name der 1. Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s3[tabelle1]" value="tabellenname"></td>
	</tr>
	<tr>
		<td><b>Name der 2. Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s3[tabelle2]" value="tabellenname"></td>
	</tr>
	<tr>
		<td><b>Name des abhängigen Feldes aus Tabelle 1</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s3[feld1]" value="feldname"></td>
	</tr>
	<tr>
		<td><b>Nach welcher Bedingung soll geprüft werden?</b></td>
		<td>&nbsp;</td>
		<td align="right"><SELECT name="s3[beding]" ><option value="0">=</option>
<option value="1">&lt;</option>
<option value="2">&gt;</option>
<option value="3">!=</option>
<option value="4">LIKE</option>
<option value="5">IS NULL</option>
<option value="6">IS NOT NULL</option>
</SELECT></td>
	</tr>
	<tr>
		<td><b>Name des abhängigen Feldes aus Tabelle 2</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s3[feld2]" value="feldname"></td>
	</tr>
	<tr>
		<td><b>Filter für Tabelle 1</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s3[feld3]" value="suchfeld"></td>
	</tr>
	<tr>
		<td><b>Nach welcher Bedingung soll geprüft werden?</b></td>
		<td>&nbsp;</td>
		<td align="right"><SELECT name="s3[filter]" ><option value="0">=</option>
<option value="1">&lt;</option>
<option value="2">&gt;</option>
<option value="3">!=</option>
<option value="4">LIKE</option>
<option value="5">IS NULL</option>
<option value="6">IS NOT NULL</option>
</SELECT></td>
	</tr>
	<tr>
		<td><b>Auf welchen Wert soll geprüft werden?</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s3[filterkondi]" value="kondition"></td>
	</tr>
	<tr>
		<td><b>Name des zu ändernden Feldes aus Tabelle 1</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s3[feldt1]" value="feldname"></td>
	</tr>
	<tr>
		<td><b>Neuer Wert des Feldes</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s3[wert]" value="wert"></td>
	</tr>
</table>
<p id="linie"></p>
<div style="float:left; width: 100%; height: auto;"></div><DIV id="ergebnis_box" ></DIV><div style="float:left; width: 100%; height: auto;"></div><div style="float:left; width: 100%; height: auto; margin-top:10px;"><input class="user_click" id="button_generieren" type="button" value="Berechnen"><input type="hidden" id="tool_id" name="tool" value="sql_update"><input type="hidden" name="action" value="opentool_script"><input type="hidden" name="aktion" value="go"><input type="hidden" id="out" value="2"></form></div>
<h2>Stell uns deine Frage. Wir antworten dir schnellstens...</h2><form method="POST" id="frage_frame" name="frage_frame"><input style="float: left; width: 59%; display: inline" type="text" name="hdfrage" placeholder="Stell uns Deine Frage..."> <input style="float: left; width: 40%; display: inline" type="text" name="hdmail" placeholder="Deine E-Mail-Adresse"><button type="button" id="hdbutton" class="fragen_click">Jetzt Frage an Experten abschicken</button><input type="hidden" id="tool_id" name="tool" value="2608"><input type="hidden" name="action" value="fragen_script"></form><div></div><div id="frageresponse"></div>
<h2>Wie funktioniert SQL?</h2>
<p>SQL bedeutet Structured Query Language. Die strukturierte Abfrage-Sprache hat sich in der Arbeit mit relationalen Datenbanken als Standard weltweit etabliert. Diese Tabellen enthalten Nutzdaten oder Systemdaten und sind durch den Datentyp der Spalten und ihrem Namen definiert. Eine beliebige Menge Daten finden ohne definierte Ordnung Eingang in die Tabellen. Technisch gesehen ist eine Datenbank ein Server-Programm, welches SQL Befehle Update und andere durch seine Client-Anwendungen entgegennimmt.</p>
<p>Meist sorgt eine TCP/IP-Verbindung für die Kommunikation zwischen Client und Server. Darüber nimmt die Datenbank Befehle entgegen und liefert ihre Abfrage-Resultate aus. In den 70er-Jahren wurde SQL erstmals von Oracle in einem Produkt kommerzialisiert. Da Daten langlebig sind, ist die Standardisierung und kontinuierliche Weiterentwicklung der Sprache bedeutungsvoll. SQL definiert, was Sie tun, und nicht, wie die Aufgabe auszuführen ist. Dies unterscheidet sie von anderen Programmiersprachen. Das Wie (Algorithmus) legt der Datenbankserver fest.</p>
<h2>SQL Befehle Update: Wozu dienen Sie?</h2>
<p>Folgendes sind die sechs wichtigsten Befehle von SQL:</p>
<ul>
<li>insert,</li>
<li>drop table</li>
<li>create table,</li>
<li>update,</li>
<li>select,</li>
<li>delete.</li>
</ul>
<p>Die Sprache besteht aus über 100 teils komplexen Befehlen und vielen Funktionen. Sie akzeptiert Schlüsselwörter in Groß- und Kleinschreibung. Datumswerte und Strings sind in einfache Anführungszeichen gesetzt. Ein Strichpunkt trennt verschiedene SQL-Befehle. Die Programmiersprache behandelt Zeilenumbrüche wie Leerzeichen.</p>
<p>SQL Befehle Update aktualisieren die Daten in einer Tabelle. Sie modifizieren Datensätze in Tabellen, wobei nur eine Tabelle gleichzeitig der Modifikation unterliegt. Der allgemeine Befehl lautet:</p>
<p><strong>UPDATE<br />
Tabelle<br />
SET Spalte=Wert[,Spalte=Wert][,&#8230;]<br />
WHERE Bedingung</strong></p>
<p>Anstelle von &#8222;Tabelle&#8220; setzen Sie den Namen der zu modifizierenden Tabelle ein. Set weist einem oder mehreren Feldern neue Werte zu. Nach WHERE steht, für welche Felder der Befehl zur Anwendung kommt. Ein Beispiel dazu: Die Ozonwerte in Bern sind nach einer falschen Messung um sechs Prozent zu erhöhen. Der Tabellenname ist &#8222;Messwerte&#8220;.</p>
<p><strong>update Messwerte<br />
set ozon = ozon * 1.06<br />
where station = &#8218;Bern&#8216;</strong></p>
<p>Das Update korrigiert somit nur die Messwerte für Bern, da dies in der Bedingung steht. Jeder Wert, der diese erfüllt erhält den Wert 1.06, also ein Ganzes plus sechs Prozent dazu. Im ANSI-Standard ist es möglich, eine JOIN-Verknüpfung anzuhängen. Diese schränkt die Aktualisierung der betroffenen Zeilen genauer ein. Die WHERE-Klausel wählt einzelne Zeilen aus.</p>
<h2>Wie funktioniert der Rechner?</h2>
<p>Als Einleitung finden Sie die generelle Formel für SQL Befehle Update:</p>
<p><strong>UPDATE<br />
Tabelle<br />
SET Spalte=Wert[,Spalte=Wert][,&#8230;]<br />
WHERE Bedingung</strong></p>
<p>Der Rechner behandelt drei Fälle von Update-Befehlen. Beim Ersten geht es darum, alle Werte eines Feldes in einer Tabelle zu verändern. Der zweite Fall handelt davon, wie Werte bestimmter Felder einer Tabelle eine Veränderung erhalten. Bei der dritten und kompliziertesten Art verändern Sie einen Wert über zwei Tabellen.</p>
<h2>Alle Werte eines Feldes ändern</h2>
<p>Beim Verändern aller Werte eines Feldes geben Sie als erstes den Namen der Tabelle ein. Das zu ändernde Feld tippen Sie in das Kästchen neben dem Satz &#8222;Feld das geändert werden soll&#8220;. Dazu überschreiben Sie den Begriff &#8222;feld&#8220; im Innern. Zuletzt geben Sie den neuen Wert des Feldes über dem Begriff &#8222;wert&#8220; ein. Mit dieser Art verändern Sie zum Beispiel alle Temperaturwerte einer Tabelle um 5 %. Sie bemerken, dass alle Werte um fünf Prozent zu hoch sind und setzen alle auf 95 % zurück.</p>
<p>Der Name der Tabelle ist Klima, das geänderte Feld nennt sich Temperatur. Beim Wert geben Sie Folgendes ein: &#8222;Temperatur * 0.95. Das bedeutet, alle Werte der Spalte Temperatur werden um fünf Prozent vermindert. Mit einem Klick auf das Feld &#8222;generieren&#8220; erscheint dieser Befehl im Ergebnis-Rechteck:</p>
<p><strong>UPDATE Klima SET Temperatur = &#8218;Temperatur * 0.95&#8216;</strong></p>
<p>Automatisch senkt der Befehl die Temperatur für jedes Kästchen der Spalte um fünf Prozent. Damit korrigieren Sie mit nur einem Klick alle Temperatur-Werte der Tabelle. Die WHERE-Bedingung ist in diesem Fall unnötig, da sie alle Temperaturwerte angleichen.</p>
<h2>Werte bestimmter Felder einer Tabelle verändern</h2>
<p>Im Unterschied zum ersten Fall verändern Sie hier nur die Temperaturwerte der Stadt Zürich um zwei Prozent. Die Eingaben in die ersten drei Felder geschieht analog zu denjenigen des ersten Falls. Überschreiben Sie zuerst den Begriff &#8222;tabellenname&#8220; mit Klima oder klima. Die Groß-/Kleinschreibung spielt keine Rolle. Das Feld, das geändert werden soll, ist die Temperatur oder temperatur. Um diese um zwei Prozent zu erhöhen und die bestehenden Werte zu korrigieren, schreiben Sie über &#8222;wert&#8220;: Temperatur * 1.02.</p>
<p>Da Sie nur die Werte der Stadt Zürich verändern, überschreiben Sie &#8222;suchfeld&#8220; mit Station. Dies ist der Name der Spalte, in der verschiedene Wetterstationen der Schweiz befinden. Bei &#8222;Nach welcher Bedingung soll geprüft werden&#8220; wählen Sie mithilfe des Pfeils das = aus. Die Frage &#8222;Nach welchem Wert soll geprüft werden&#8220; beantworten Sie mit &#8222;zuerich&#8220;. Vermeiden Sie Umlaute, da diese in den Formeln nicht korrekt erscheinen. Im Ergebnis-Rechteck erscheint nun der gesuchte Befehl:</p>
<p><strong>UPDATE Klima SET Temperatur = &#8218;Temperatur * 1.02&#8216; WHERE Station = &#8218;Zuerich&#8216;</strong></p>
<p>Im Gegensatz zum ersten Fall kommt hier die WHERE-Bedingung zu tragen. Sie bestimmt, dass Sie nur die Werte von der Wetterstation Zürich dank der SQL Befehle Update verändern.</p>
<h2>Einen Wert über zwei Tabellen verändern</h2>
<p>Die Werte von Zürich sind in den Tabellen Klima1 und Klima2 um zwei Prozent zu erhöhen. Dies gelingt dank eines Inner Joins im selben Befehl. Sie füllen die Anfrage folgendermaßen aus.<br />
Name der 1. Tabelle                                          Klima1<br />
Name der 2. Tabelle                                          Klima2<br />
Name des abhängigen Feldes aus Tabelle 1     Temperatur<br />
Nach welcher Bedingung soll geprüft werden? =<br />
Name des abhängigen Feldes aus Tabelle 2     Temperatur<br />
Filter für Tabelle 1                                          Station<br />
Nach welcher Bedingung soll geprüft werden? =<br />
Auf welchen Wert soll geprüft werden?              Zuerich<br />
Name des zu ändernden Feldes aus Tabelle 1 Temperatur<br />
Neuer Wert des Feldes                                      Temperatur * 1.02</p>
<p>Dies bedeutet, alle Felder der Spalte Temperatur, deren Messungen in Zürich stattfanden, erhalten eine Erhöhung um zwei Prozent. Mit einem Klick auf das Feld Generieren erhalten Sie im Ergebnis-Rechteck den Befehl:</p>
<p><strong>UPDATE Klima1 A INNER JOIN Klima2 B ON B.Temperatur = A.Temperatur SET A.Temperatur = &#8218;temperatur * 1.02&#8216; WHERE A.Station = &#8218;Zuerich&#8216;</strong></p>
<p>Der Rechner ist ein Hilfsmittel, um Tabellen im beruflichen und privaten Umfeld auf drei Arten zu aktualisieren. Wer in SQL noch nicht sattelfest ist, lernt die Handhabung, mithilfe dieses Rechners besser zu bewältigen.</p>
<h2>H&auml;ufig gestellte Fragen</h2><p><a href="#was-genau-steckt-hinter-der-mysql-update-funktion?">Was genau steckt hinter der mySQL Update-Funktion?</a></p><p><a href="#welche-unterschiedlichen-update-funktionen-gibt-es?">Welche unterschiedlichen Update-Funktionen gibt es?</a></p><p><a href="#-kann-man-die-update-funktion-rueckgaengig-machen?"> Kann man die Update-Funktion rückgängig machen?</a></p><h2>H&auml;ufig gestellte Fragen</h2><h3 id="was-genau-steckt-hinter-der-mysql-update-funktion?">Was genau steckt hinter der mySQL Update-Funktion?</h3><p><p>
	Die mySQL Update-Funktion erlaubt es dem Benutzer mit administrativem Zugriff auf eine mySQL-Datenbank innerhalb einer oder mehrerer mySQL-Tabellen &Auml;nderungen an Daten vorzunehmen. Mit Hilfe von Attributen k&ouml;nnen die zu &auml;ndernden Daten genauer spezifiziert werden. Auch eine Verfeinerung der Art der &Auml;nderung ist durch Attribute m&ouml;glich. Der Grundbefehl der mySQL Update-Funktion lautet <i>UPDATE tabelle1 SET spalte1 = &#39;Test&#39;</i>. F&uuml;hrt man diesen Befehl aus, dann wird in der <u>tabelle1</u> in der <i>spalte1</i> bei jedem Datensatz der Eintrag <i>Test</i> stehen. Aus diesem Grund ist es unabdingbar, die Anweisung genauer auf bestimmte Werte zu spezifizieren.</p>
</p><h3 id="welche-unterschiedlichen-update-funktionen-gibt-es?">Welche unterschiedlichen Update-Funktionen gibt es?</h3><p><p>
	Die einfachste aller mySQL Update-Funktionen sieht vor, einen Wert in einer bestimmten Spalte und in einer bestimmten Reihe zu ver&auml;ndern. Vergleichbar ist dies mit Microsoft Excel, wo ich zum Beispiel in der Spalte 1, Reihe 10 einen Nachnamen von &quot;Meier&quot; in &quot;M&uuml;ller&quot; &auml;ndern m&ouml;chte. Dies erreiche ich mit dem Befehl <i>UPDATE namensliste SET name = &#39;Mueller&#39; WHERE name = &#39;Meier&#39;</i>. Doch mySQL ist an dieser Stelle einfach gestrickt und macht genau das, was man dem System befiehlt: alle Nachnamen &quot;Meier&quot; werden in &quot;M&uuml;ller&quot; ge&auml;ndert, egal bei welchem Vornamen. Das kann bei bestimmten Daten gew&uuml;nscht sein, doch im Falle einer Namensliste ist es h&ouml;chstwahrscheinlich nicht so. Daher empfiehlt es sich, ein WHERE-Statement auszuw&auml;hlen, was f&uuml;r den gew&uuml;nschten Datensatz einmalig ist, zum Beispiel das Geburtsdatum. &Uuml;ber die genauere Definition des WHERE-Statements l&auml;sst sich somit die versehentliche Bearbeitung nahezu ausschlie&szlig;en. Der Befehl <i>UPDATE namensliste SET name = &#39;Mueller&#39; WHERE name = &#39;Meier&#39; AND geburtsdatum = &#39;24.05&#39;</i> &auml;ndert dann den Nachnamen des gew&uuml;nschten Herrn Meiers in M&uuml;ller, welcher am 24. Mai Geburtstag hat.<br />
	Nehmen wir an, es handelt sich bei der Tabelle im Beispiel um die Mitgliederkartei eines Vereins. Dann ist es wenig sinnvoll, diese Daten zu manipulieren, wenn ein Benutzer gerade auf Daten zugreift oder Daten schreibt. In diesem Fall sorgt das Attribut LOW_PRIORITY daf&uuml;r, dass die Ausf&uuml;hrung des Update-Befehls erst dann erfolgt, wenn keine Zugriffe mehr stattfinden. Die Syntax lautet dann <i>UPDATE LOW_PRIORITY namensliste SET name = &#39;Mueller&#39; WHERE name = &#39;Meier&#39;</i>. In manchen F&auml;llen kann es gew&uuml;nscht sein, dass ein Befehl zu Ende ausgef&uuml;hrt wird, auch wenn Fehler auftreten (z.B. bei tausenden von Datens&auml;tzen). In diesem Fall kann das ATTRIBUT IGNORE hinzugef&uuml;gt werden. Syntax: <i>UPDATE LOW_PRIORITY IGNORE namensliste SET name = &#39;Mueller&#39; WHERE name = &#39;Meier&#39;</i>Fehler werden dann ignoriert und die Anweisung wird weiter ausgef&uuml;hrt.<br />
	Der Update-Befehl ist ebenfalls in der Lage, mit bestehenden Werten zu rechnen. Als Beispiel nehmen wir eine Geburtstagsliste aller Mitglieder des Vereins. Mit dem folgenden Befehl kann nun tagesaktuell das Alter der Mitglieder aktualisiert werden: <i>UPDATE geburtstagsliste SET alter = alter+1 WHERE geburtstag = &#39;12.02.&#39;</i>. Das Ergebnis sieht so aus, dass alle Mitglieder, die am 12. Februar Geburtstag haben, bei Ausf&uuml;hrung des Befehls ein Jahr &auml;lter werden. Anstatt dem 12.02. k&ouml;nnte man eine Variable angeben und diesen Befehl jeden Tag automatisch ausf&uuml;hren lassen. Bei vielen Mitgliedern w&uuml;rde so jeden Tag zu einer definierten Uhrzeit die Geburtstagsliste automatisch aktualisiert werden.<br />
	Die Rechenfunktionen werden immer von links nach rechts gelesen. Somit ist es m&ouml;glich, mehrere Rechenfunktionen in einem Befehl anzugeben. Zahlen beispielsweise alle Mitglieder unterschiedliche Mitgliedsbeitr&auml;ge und sollen diese in zwei Schritten angepasst werden, so ist auch dies m&ouml;glich. Nehmen wir an, jedes Mitglied soll ab sofort 10% mehr Beitrag zahlen und bekommt einen Rabatt von 30,-&euro;. Dies kann je nach H&ouml;he der Beitragszahlung in der Summe weniger oder mehr Mitgliedsbeitrag ausmachen. Erreichen kann man diese Berechnung durch den Befehl <i>UPDATE &Uuml;bersicht_beitraege SET monatsbeitrag = monatsbeitrag*1.1, monatsbeitrag+30</i>. Somit wird der aktuelle Monatsbeitrag mit 1,1 multipliziert (plus 10%) und erst danach um 30,-&euro; erh&ouml;ht.<br />
	Der Update-Befehl bietet in der Theorie einige weitere Attribute, deren praktischer Nutzen teilweise zweifelhaft ist. Eine gute und schnelle &Uuml;bersicht &uuml;ber die wichtigsten Befehle und deren Syntax kann man online einsehen. Da mySQL ein quelloffenes System ist, werden s&auml;mtliche Befehle auch dort dokumentiert. Hier geht es direkt zum Kapitel <a href="http://dev.mysql.com/doc/refman/5.1/de/update.html">&quot;Update-Befehl&quot;</a>.</p>
</p><h3 id="-kann-man-die-update-funktion-rueckgaengig-machen?"> Kann man die Update-Funktion rückgängig machen?</h3><p><p>
	Der Update-Befehl wird wie alle anderen <a href="https://www.hilfreiche-tools.de/sql-befehle/">mySQL-Befehle</a> auch direkt in die Datenbank geschrieben, ohne R&uuml;cksicht auf Verluste. Daher empfiehlt es sich in produktiven Tabellen oder Datenbanken, die bereits im Zugriff anderer Systeme sind, eine Sicherung anzulegen. Bei mySQL gibt es ebenfalls die M&ouml;glichkeit, das sogenannte &quot;Binary Log&quot; zu aktivieren. Diese Protokolldatei dokumentiert dann die vorgenommen &Auml;nderungen in Maschinencode. Anhand der darin gespeicherten Informationen k&ouml;nnen Datenbankspezialisten die meisten &Auml;nderungen r&uuml;ckg&auml;ngig machen. Doch diese Arbeit kostet Zeit und somit meisten auch Geld.<br />
	Der einfache Weg - ein Backup der Inhalte &uuml;ber die integrierte mySQL-Funktion - ist meistens sehr performant, sicher und bewahrt den unerfahrenen Benutzer davor, kritische Daten nach dem Ausf&uuml;hren unperfekter Befehlszeilen im Nirvana zu wissen.</p>
</p>
<p>Der Beitrag <a href="https://www.hilfreiche-tools.de/sql-befehle-update/">SQL Befehle Update</a> erschien zuerst auf <a href="https://www.hilfreiche-tools.de">Hilfreiche Tools</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL Select Join</title>
		<link>https://www.hilfreiche-tools.de/sql-befehle-selectjoin/</link>
		
		<dc:creator><![CDATA[kirchner]]></dc:creator>
		<pubDate>Thu, 28 Feb 2019 19:51:13 +0000</pubDate>
				<category><![CDATA[SQL-Befehle]]></category>
		<guid isPermaLink="false">https://www.hilfreiche-tools.de/sql-befehle-selectjoin/</guid>

					<description><![CDATA[<p>Hier finden Sie den Code für ein MySQL Select Join Befehl. Um diesen Code einfach zu generieren, bieten wir Ihnen</p>
<p>Der Beitrag <a href="https://www.hilfreiche-tools.de/sql-befehle-selectjoin/">SQL Select Join</a> erschien zuerst auf <a href="https://www.hilfreiche-tools.de">Hilfreiche Tools</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Hier finden Sie den Code für ein <strong>MySQL Select Join Befehl</strong>. Um diesen Code einfach zu generieren, bieten wir Ihnen hier ein einfaches Tool zur Erstellung eines Select-Join Befehls für einen Datenbankabfrage an.</p>
<form method="POST" id="tool_frame" name="tool_frame" enctype="multipart/form-data"><p>Mittels JOIN lassen sich Werte über mehrere Tabellen auslesen. Betrachtet wird hier der INNER JOIN. Aufbau :<br>
<table>
<tr><td>SELECT</td></tr>
<tr><td>ALIAS.Spalte [,ALIAS.Spalte][,...]</td></tr>
<tr><td>FROM Tabelle ALIAS [,Tabelle ALIAS][,...]</td></tr>
<tr><td>INNER JOIN Tabelle ALIAS</td></tr>
<tr><td>ON Bedingung</td></tr>
<tr><td>WHERE Bedingung</td></tr>
<tr><td>ORDER BY ALIAS.Spalte [,ALIAS.Spalte][,...]</td></tr>
</table>
</p>
<p><b>Wie lese ich Werte eines oder mehrerer Felder auf zwei Tabellen aus?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Name der 1. Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s4[tabelle1]" value="tabellenname"></td>
	</tr>
	<tr>
		<td><b>Name der 2. Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s4[tabelle2]" value="tabellenname"></td>
	</tr>
	<tr>
		<td><b>Name der Felder aus Tabelle 1 (durch Komma getrennt)</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s4[feld1]" value="feldname"></td>
	</tr>
	<tr>
		<td><b>Name der Felder aus Tabelle 2 (durch Komma getrennt)</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s4[feld2]" value="feldname"></td>
	</tr>
	<tr>
		<td><b>Vergleichsfeld aus Tabelle 1?</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s4[kondi1]" value="kondition"></td>
	</tr>
	<tr>
		<td><b>Vergleichsfeld aus Tabelle 2?</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s4[kondi2]" value="kondition"></td>
	</tr>
	<tr>
		<td><b>Nach welcher Bedingung soll geprüft werden?</b></td>
		<td>&nbsp;</td>
		<td align="right"><SELECT name="s4[beding]" ><option value="0">=</option>
<option value="1">&lt;</option>
<option value="2">&gt;</option>
<option value="3">!=</option>
<option value="4">LIKE</option>
<option value="5">IS NULL</option>
<option value="6">IS NOT NULL</option>
</SELECT></td>
	</tr>
	<tr>
		<td><b>Filter für Tabelle 1</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s4[feld3]" value="suchfeld"></td>
	</tr>
	<tr>
		<td><b>Nach welcher Bedingung soll geprüft werden?</b></td>
		<td>&nbsp;</td>
		<td align="right"><SELECT name="s4[filter]" ><option value="0">=</option>
<option value="1">&lt;</option>
<option value="2">&gt;</option>
<option value="3">!=</option>
<option value="4">LIKE</option>
<option value="5">IS NULL</option>
<option value="6">IS NOT NULL</option>
</SELECT></td>
	</tr>
	<tr>
		<td><b>Auf welchen Wert soll geprüft werden?</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s4[filterkondi]" value="kondition"></td>
	</tr>
</table>
<p id="linie"></p>
<div style="float:left; width: 100%; height: auto;"></div><DIV id="ergebnis_box" ></DIV><div style="float:left; width: 100%; height: auto;"></div><div style="float:left; width: 100%; height: auto; margin-top:10px;"><input class="user_click" id="button_generieren" type="button" value="Berechnen"><input type="hidden" id="tool_id" name="tool" value="sql_select_join"><input type="hidden" name="action" value="opentool_script"><input type="hidden" name="aktion" value="go"><input type="hidden" id="out" value="2"></form></div>
<h2>Stell uns deine Frage. Wir antworten dir schnellstens...</h2><form method="POST" id="frage_frame" name="frage_frame"><input style="float: left; width: 59%; display: inline" type="text" name="hdfrage" placeholder="Stell uns Deine Frage..."> <input style="float: left; width: 40%; display: inline" type="text" name="hdmail" placeholder="Deine E-Mail-Adresse"><button type="button" id="hdbutton" class="fragen_click">Jetzt Frage an Experten abschicken</button><input type="hidden" id="tool_id" name="tool" value="2605"><input type="hidden" name="action" value="fragen_script"></form><div></div><div id="frageresponse"></div>
<h2>Wozu dient SQL?</h2>
<p>Die Abkürzung SQL bedeutet Structured Query Language, zu Deutsch &#8222;strukturierte Abfrage-Sprache&#8220;. Sie kommt in der Datenverarbeitung zur Anwendung. Mit diversen Befehlen wie</p>
<ul>
<li>Select,</li>
<li>Delete oder</li>
<li>Where</li>
</ul>
<p>organisiert sie Daten in Tabellen. Dank gezielter Anfragen löschen Sie Angaben oder verschieben sie in andere Tabellen. Sie wählen Datengruppen nach Namen oder Werten aus. Die SQL Befehle Select-Join sind ein Teil eines komplexen Systems, das im Geschäft wie im Privaten die Organisation von Daten in Tabellen vereinfacht.</p>
<p>Dank SQL erstellen Sie Strukturen in relationalen Datenbanken, bearbeiten sie und fragen die darauf basierenden Datenbestände ab. Die Sprache gründet auf der relationalen Algebra und verfügt über eine einfache Syntax. Semantisch ist SQL an die englische Umgangssprache angelehnt. In den 70ern verwendete Oracle sie das erste Mal kommerziell in einem Produkt. Mittlerweile ist sie Standard in der Datenverarbeitung.</p>
<h2>Was ist die Aufgabe der Join-Verknüpfung?</h2>
<p>Die Join-Verknüpfung kommt zur Anwendung, wenn die benötigten Daten sich in verschiedenen Tabellen befinden. In einem Geschäft sind zu einer Bestellung folgende Daten vorhanden:</p>
<ul>
<li>Menge,</li>
<li>Artikel,</li>
<li>Datum,</li>
<li>Vertreter.</li>
</ul>
<p>Sie befinden sich in drei Tabellen: Pro Zeile findet sich ein Verweis auf die zu einzelnen Bestellungen gehörenden Datensätze. Mithilfe von SQL Befehle Select-Join ist es möglich, alle Daten zu einer Bestellung aus den verschiedenen Datensätzen zusammenzufassen.</p>
<p>Ein Join fasst zwei Tabellen zu einem neuen, virtuellen Exemplar zusammen. Ein zweiter Join-Befehl fügt dem Konstrukt eine Dritte hinzu. Der Begriff Select-Join ist eine Erweiterung des Select-Befehls. Join erweitert die Möglichkeit des Auswählens um die Option, Daten aus verschiedenen Tabellen herauszusuchen. Mit einem einfachen Select wählen Sie Daten innerhalb einer einzigen Tabelle aus.</p>
<h2>Was ist der Inner Join?</h2>
<p>Bei einem Inner Join verbinden Sie zwei Tabellen. Dabei erscheinen die Datensätze, die in beiden Tabellen einen Treffer landen. Ohne Inner Join erscheinen auch diejenigen, welche nur in einer Tabelle vorhanden sind. Sie besitzen für Ihr Geschäft eine Liste mit Kundennummern und eine zweite mit Telefonnummern. Mithilfe der SQL Befehle Select-Join kreieren Sie eine virtuelle Liste, die die Kundennummern mit dem Namen und der Rufnummer verbindet.</p>
<p>Dazu verbinden Sie die Liste Kundennummern per Inner Join mit der Liste Telefonnummern. Die Verknüpfung der Datensätze geschieht über die nach dem ON genannten Spalten Kundennummern.Kundennummer und Rufnummern.Kundennummer. Es sind diverse Unteranfragen möglich. Weiter verknüpfen Sie die neue Tabelle mit der Adressliste, damit als Endergebnis eine Tabelle mit Kundennummer, Name, Rufnummer und Adresse entsteht.</p>
<h2>Was ist ein Alias?</h2>
<p>SQL Befehle Select-Join benötigen die Verwendung von Alias. Sie dienen dazu, die Abfrage (Querys) mit alternativen Namen für Tabellen und Spalten zu vereinfachen. Die Menge an Codes reduziert sich. Eine weitere Funktion von Alias ist der Schutz der echten Namen von Tabellenfeldern. Indem Sie ein Alias kreieren, ändern Sie den Tabellennamen nicht dauerhaft, sondern nur für ein SELECT-Query.</p>
<p>Dies ist vor allem bei Tabellen und Spalten sinnvoll, die einen langen Namen haben. Dieser verkompliziert die Abfrage. Normalerweise deuten Alias auf den Originalnamen hin. Für die Tabelle &#8222;Preise&#8220; findet der Alias &#8222;Pr&#8220; Verwendung. In SQL formalisiert sieht das so aus:</p>
<p>SELECT * FROM table_name [AS] alias_name.<br />
Für das Beispiel der Preise heißt das:<br />
SELECT * FROM preise [AS] pr.</p>
<h2>Wie funktioniert der Rechner?</h2>
<p>Zu Beginn finden Sie als Erklärung die allgemeine Formel für die Verknüpfung mehrerer Tabellen:</p>
<p>SELECT<br />
ALIAS.Spalte [,ALIAS.Spalte][,&#8230;]<br />
FROM Tabelle ALIAS [,Tabelle ALIAS][,&#8230;]<br />
INNER JOIN Tabelle ALIAS<br />
ON Bedingung<br />
WHERE Bedingung<br />
ORDER BY ALIAS.Spalte [,ALIAS.Spalte][,&#8230;]<br />
Sie gilt für SQL Befehle Select-Join, welche die Auswahl bestimmter Daten in mehreren Tabellen erlauben.</p>
<p>Zur Vereinfachung benutzt der Rechner Alias. Sie geben alle gewünschten Angaben ein, damit im Ergebnisfeld der Befehl erscheint. Die Frage am Anfang der Tabelle ist: &#8222;Wie lese ich Werte eines oder mehrerer Felder aus zwei Tabellen aus?&#8220; Der Rechner funktioniert nicht, falls Sie Daten aus drei oder mehr Tabellen benötigen. Aus zwei Tabellen bringen Sie so viele Daten zusammen wie Sie brauchen, da Sie die verschiedenen Angaben im Feld durch ein Komma getrennt darstellen.</p>
<h2>Wie erhalten Sie den gewünschten Befehl?</h2>
<p>Mit zehn Angaben erhalten Sie den gewünschten Befehl. In die ersten zwei Felder geben Sie die Namen der ersten und zweiten Tabelle ein. Bei Feld drei tippen Sie die Angaben der ersten Tabelle, die sie in die neue virtuelle Tabelle übernehmen. Bei mehr als einer Angabe trennen Sie die verschiedenen Wörter durch Kommas. Viertens kommen die Daten in die Tabelle, die aus der zweiten Tabelle in den neuen Eingang finden. Sie benutzen ebenfalls das Komma, um die diversen Wörter zu trennen. Die Anzahl der Angaben ist unlimitiert.</p>
<p>Fünftens nennen Sie das Vergleichsfeld von Tabelle eins. Dasjenige von Tabelle zwei folgt als Sechstes. Die Frage &#8222;Nach welcher Bedingung soll geprüft werden?&#8220; beantworten Sie je nach Fall mit gleich, größer als, kleiner als, Like, is null oder is not null. Eine weitere Option ist !=. Mit dem Pfeil links der Zeilen wählen Sie die gewünschte Art aus. Als Nächstes geben Sie den Filter für Tabelle eins ein und überschreiben das Wort Suchfeld. Im zweitletzten Feld wählen Sie wie oben die Bedingung mit dem Pfeil aus. Die Frage &#8222;Auf welchen Wert soll geprüft werden?&#8220; beantworten Sie als Letztes.</p>
<h2>SQL Befehle Select-Join: ein Beispiel</h2>
<p>Sie besitzen von Ihren Kunden eine Liste mit Kundennummern, Namen und Adressen so wie eine mit Kundennummern und Geburtstagen Das Ziel ist es, die Vor- und Nachnamen mit den Geburtstagen zusammenzubringen von allen Kundennummer ab dem 10. Eintrag. Sie erstellen dazu eine neue Tabelle mithilfe des Select-Join-Befehls. Die Namen der Tabellen sind adressen und geburtstage. Aus der ersten Tabelle übernehmen Sie nachname, vorname und aus der zweiten geburtstage. Vergleichsfeld der Tabelle eins lautet adresse.nachname, das der zweiten geburtstag.nachname. Die Bedingung ist in diesem Fall =. Als letztes gilt: kundennummer &gt; 10. Im Ergebnis-Rechteck erscheint Folgendes:</p>
<p>&#8222;Alle Werte bestimmter Felder ohne mehrfache Zeilen aus einer Tabelle auslesen.<br />
SELECT A.nachname, A.vorname, B.geburtsdatum FROM adressen A INNER JOIN geburtstage B ON A.adresse.nachname = B.geburtstag.nachname WHERE A.kundennummer &gt; &#8217;10&#8216;.&#8220;</p>
<p>Der Buchstabe A ist der Alias für Tabelle eins, B steht für Tabelle zwei. Sie benutzen den Rechner für die Verbindung von Daten, die sich in zwei verschiedenen Tabellen befinden. Mithilfe des Befehls erstellen Sie die neue Tabelle, die alle gewünschten Informationen enthält.</p>
<h2>H&auml;ufig gestellte Fragen</h2><p><a href="#was-genau-ist-ein-select/join-befehl-bei-einer-sql-abfrage?">Was genau ist ein Select/Join-Befehl bei einer SQL-Abfrage?</a></p><p><a href="#was-ist-die-join-klausel-fuer-den-select-befehl?">Was ist die JOIN-Klausel für den SELECT-Befehl?</a></p><p><a href="#was-ist-bei-der-verknuepfung-von-tabellen-ueber-die-join-klausel-zu-beachten?">Was ist bei der Verknüpfung von Tabellen über die JOIN-Klausel zu beachten?</a></p><h2>H&auml;ufig gestellte Fragen</h2><h3 id="was-genau-ist-ein-select/join-befehl-bei-einer-sql-abfrage?">Was genau ist ein Select/Join-Befehl bei einer SQL-Abfrage?</h3><p><p>
	Der Select/Join-Befehl ist die Kombination des Select-Befehls mit einem Join-Attribut. Mit Hilfe des Select-Befehls lassen sich die Daten und Inhalte einer mySQL-Tabelle zur&uuml;ckgeben. Mit diversen Parametern kann man die Suche einschr&auml;nken und verfeinern, sodass nicht gew&uuml;nschte oder nicht ben&ouml;tigte Daten gar nicht angezeigt werden. Das Join-Attribut erweitert die einfach Select-Abfrage um die M&ouml;glichkeit, auch Daten und Inhalte von anderen Tabellen in die Abfrage mit einflie&szlig;en zu lassen. Dies ist mit der Select-Abfrage ohne Weiteres nicht m&ouml;glich, da dort nur eine bestimmte Tabelle abgefragt wird.<br />
	Einfache Joins werden bereits durch den WHERE-Paramater erzeugt, wenn auch meistens unbewusst.</p>
</p><h3 id="was-ist-die-join-klausel-fuer-den-select-befehl?">Was ist die JOIN-Klausel für den SELECT-Befehl?</h3><p><p>
	F&uuml;r die einfachste Join-Klausel ist noch nicht einmal ein bestimmtes Attribut notwendig. Die Definition geschieht einfach anhand von Kommata, mit der die Daten verkettet werden. Man spricht hier von einem <i>implicit join</i>. Die Syntax lautet <i>SELECT &#39;nachname&#39;.&#39;namensliste&#39;, &#39;geburtsdatum&#39;.&#39;geburtstagsliste&#39; FROM &#39;namensliste&#39;, &#39;geburtstagsliste&#39;</i>. Der Befehl f&uuml;hrt dazu, dass s&auml;mtliche vorhandenen Daten miteinander verkn&uuml;pft, also &quot;gejoined&quot; werden. Im Beispiel ist das allerdings nicht gew&uuml;nscht, denn wenn in der Namensliste 10 Eintr&auml;ge sind und in der Geburtstagsliste ebenfalls, dann erhalten wir nun 100 Ergebnisse. Der Grund ist, dass mit diesem Befehl alle Inhalte der Tabelle &quot;Namensliste&quot; mit der Tabelle &quot;Geburtstagsliste&quot; verkn&uuml;pft werden. Das Ergebnis ist also 10 * 10 = 100. In entsprechend gro&szlig;en Datens&auml;tzen w&uuml;rde sich die Anzahl der zur&uuml;ckgegebenen Ergebnissen pro Eintrag in der referenzierten Tabelle um den Inhalt der urspr&uuml;nglichen Tabelle multiplizieren, daher ist beim ausf&uuml;hren einen <i>implicit joins</i> Vorsicht geboten. Ist der Datenbestand gro&szlig;, kann eine solche Abfrage den Datenbankserver oder die Datenbankinstanz schnell zum Absturz oder an die Belastungsgrenzen bringen.<br />
	Um ein brauchbares Ergebnis zu erhalten, welches frei von unerw&uuml;nschten Verkettungen ist, muss ein Befehl abgesetzt werden, der zwei Spalten miteinander vergleicht und somit eine Bedingung zwischen den beiden Tabellen herstellt. Dies erreicht man durch einen sogenannten LEFT JOIN. Mit dem Befehl <i>SELECT &#39;nachname&#39;, &#39;vorname&#39; &#39;geburtstag&#39; FROM &#39;namensliste&#39; LEFT JOIN &#39;geburtstagsliste&#39; ON &#39;namensliste&#39;.nachname&#39;=&#39;geburtstagsliste&#39;.&#39;nachname&#39;</i> erh&auml;lt man die gew&uuml;nschte Ausgabe. Alle Namen sind nun dem entsprechenden Geburtstag zugeordnet, jedoch nicht nach allen M&ouml;glichkeiten miteinander kombiniert, sondern der Kondition ON entsprechend zugordnet. Der Ausdruck LEFT JOIN bezeichnet zugleich die Funktionsweise: alle Konditionen, die links des Join-Attributes stehen, werden den rechten Konditionen verkn&uuml;pft.<br />
	Eine weitere M&ouml;glichkeit der Verkn&uuml;pfung ist der RIGHT JOIN. Hier wird zuerst die rechte Seite des JOIN interpretiert und dann mit der linken Seite verglichen. Je nachdem, welche Inhalte die verkn&uuml;pften Tabellen haben, kann es zu unterschiedlichen Ergebnissen kommen. Existiert beispielsweise in der Tabelle &quot;Namensliste&quot; ein Herr mit dem Nachnamen &quot;Kr&uuml;ger&quot;, aber in der &quot;Geburtstagsliste&quot; nicht, so wird in der Ausgabe per LEFT JOIN eine Zeile mit dem Inhalt NULL ausgegeben, da in der &quot;Geburtstagsliste&quot; kein Herr Namens &quot;Kr&uuml;ger&quot; gefunden wurde. Mit einem RIGHT JOIN w&uuml;rde diese Zeile mit dem Inhalt NULL gar nicht auftauchen, da der Inhalt in der zuerst interpretierten Tabelle nicht existierte und somit auch nicht verglichen wurde.</p>
</p><h3 id="was-ist-bei-der-verknuepfung-von-tabellen-ueber-die-join-klausel-zu-beachten?">Was ist bei der Verknüpfung von Tabellen über die JOIN-Klausel zu beachten?</h3><p><p>
	Wer eine Join-Klausel im Select-Befehl verwendet, der sollte sich im Vorfeld der Abfrage in etwas dar&uuml;ber Gedanken machen, welche Funktion der jeweilige Join-Typ hat und was f&uuml;r Ergebnisse zu erwarten sind. Tauchen in der Abfrage viele NULL-Werte auf, empfiehlt es sich, testweise die Join-Richtung umzukehren. Au&szlig;erdem ist penibel darauf zu achten, welche Syntax man benutzt. Das Join-Attribut geh&ouml;rt in der Verwendung bei gro&szlig;en Datenbankabfrage zu den komplexesten Befehlen, die mySQL zu bieten hat. Viele Entwickler und Datenbankadministratoren bei&szlig;en sich bei der Fehlersuche sprichw&ouml;rtlich die Z&auml;hne aus.<br />
	Viele mySQL-User sind der Meinung, dass eine einfache Verkettung von Ausgaben (implicit join) kein &quot;richtiger&quot; Join ist, weil es kein Join-Attribut im Befehl enth&auml;lt. Doch in der Praxis lassen sich durch einen <i>implict join</i> durchaus brauchbare Ergebnisse abfragen. In Kombination mit dem WHERE-Attribut k&ouml;nnen somit die zur&uuml;ckgegebenen Ergebnisse eingeschr&auml;nkt und anschlie&szlig;end weiterverarbeitet werden.</p>
</p>
<p>Der Beitrag <a href="https://www.hilfreiche-tools.de/sql-befehle-selectjoin/">SQL Select Join</a> erschien zuerst auf <a href="https://www.hilfreiche-tools.de">Hilfreiche Tools</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL-Befehle DELETE</title>
		<link>https://www.hilfreiche-tools.de/sql-befehle-delete/</link>
		
		<dc:creator><![CDATA[kirchner]]></dc:creator>
		<pubDate>Thu, 28 Feb 2019 19:52:05 +0000</pubDate>
				<category><![CDATA[SQL-Befehle]]></category>
		<guid isPermaLink="false">https://www.hilfreiche-tools.de/sql-befehle-delete/</guid>

					<description><![CDATA[<p>Tool für SQl Befehle &#8211; Löschen einer Datenbank mit unterschiedlichesten Funktionen Was ist SQL? Structured Query Language, abgekürzt SQL, bedeutet</p>
<p>Der Beitrag <a href="https://www.hilfreiche-tools.de/sql-befehle-delete/">SQL-Befehle DELETE</a> erschien zuerst auf <a href="https://www.hilfreiche-tools.de">Hilfreiche Tools</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Tool für SQl Befehle &#8211; Löschen einer Datenbank mit unterschiedlichesten Funktionen</p>
<h2></h2>
<form method="POST" id="tool_frame" name="tool_frame" enctype="multipart/form-data"><p>Mit DELETE können Werte aus einer Tabelle gelöscht werden. Aufbau :<br>
<table>
<tr><td>DELETE FROM</td></tr>
<tr><td>Tabelle</td></tr>
<tr><td>WHERE Bedingung</td></tr>
</table>
</p>
<p><b>Wie lösche ich alle Datensätze in einer Tabelle?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Name der Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s1[tabelle]" value="tabellenname"></td>
	</tr>
</table>
<p><b>Wie löscht man bestimmte Datensätze in einer Tabelle?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Name der Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s2[tabelle]" value="tabellenname"></td>
	</tr>
	<tr>
		<td><b>Feld das geprüft werden soll</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s2[feld2]" value="suchfeld"></td>
	</tr>
	<tr>
		<td><b>Nach welcher Bedingung soll geprüft werden?</b></td>
		<td>&nbsp;</td>
		<td align="right"><SELECT name="s2[beding]" ><option value="0">=</option>
<option value="1">&lt;</option>
<option value="2">&gt;</option>
<option value="3">!=</option>
<option value="4">LIKE</option>
<option value="5">IS NULL</option>
<option value="6">IS NOT NULL</option>
</SELECT></td>
	</tr>
	<tr>
		<td><b>Auf welchen Wert soll geprüft werden?</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s2[kondi]" value="kondition"></td>
	</tr>
</table>
<p><b>Wie man Datensätze in einer Tabelle wenn in einer zweiten kein Eintrag existiert?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Name der 1. Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s3[tabelle1]" value="tabellenname"></td>
	</tr>
	<tr>
		<td><b>Name der 2. Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s3[tabelle2]" value="tabellenname"></td>
	</tr>
	<tr>
		<td><b>Name des abhängigen Feldes aus Tabelle 1</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s3[feld1]" value="feldname"></td>
	</tr>
	<tr>
		<td><b>Name des abhängigen Feldes aus Tabelle 2</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s3[feld2]" value="feldname"></td>
	</tr>
</table>
<p id="linie"></p>
<div style="float:left; width: 100%; height: auto;"></div><DIV id="ergebnis_box" ></DIV><div style="float:left; width: 100%; height: auto;"></div><div style="float:left; width: 100%; height: auto; margin-top:10px;"><input class="user_click" id="button_generieren" type="button" value="Berechnen"><input type="hidden" id="tool_id" name="tool" value="sql_delete"><input type="hidden" name="action" value="opentool_script"><input type="hidden" name="aktion" value="go"><input type="hidden" id="out" value="2"></form></div>
<h2>Stell uns deine Frage. Wir antworten dir schnellstens...</h2><form method="POST" id="frage_frame" name="frage_frame"><input style="float: left; width: 59%; display: inline" type="text" name="hdfrage" placeholder="Stell uns Deine Frage..."> <input style="float: left; width: 40%; display: inline" type="text" name="hdmail" placeholder="Deine E-Mail-Adresse"><button type="button" id="hdbutton" class="fragen_click">Jetzt Frage an Experten abschicken</button><input type="hidden" id="tool_id" name="tool" value="2611"><input type="hidden" name="action" value="fragen_script"></form><div></div><div id="frageresponse"></div>
<h2>Was ist SQL?</h2>
<p>Structured Query Language, abgekürzt SQL, bedeutet auf Deutsch strukturierte Abfrage-Sprache. Sie dient dazu, Daten in einer Datenbank zu verwalten. Mit den Befehlen Löschen, Selektieren, Eintragen und Aktualisieren organisieren Sie Daten mithilfe von strukturierten Befehlen. Mit SQL erstellen Sie Datenbanken, löschen und modifizieren sie. Es ist ein nützliches Tool, um Daten von Firmen oder dem privaten Umfeld zu verwalten. Sie sparen Zeit und erreichen die Bereinigung oder Erweiterung von Listen innerhalb kürzester Frist.</p>
<p>Die Grundzüge der Sprache sind einfach zu lernen. Als Basis dienen Tabellen, die aus Spalten und Zeilen bestehen. Somit sind jedem Feld klare Koordinaten zugeordnet. Bei einer Auflistung von Kundennamen kommt es vor, dass zwei Personen gleich heißen. Mit dem Primary Key verleihen Sie jeder Zeile eine eindeutige ID. Beim Einfügen neuer Namen prüft das System automatisch den Wert der zuletzt eingetragenen ID und zählt eins dazu. Damit das funktioniert, benötigt die Spalte die Eigenschaft &#8222;auto increment&#8220;. Mit SQL Befehle Delete sorgen Sie für Bereinigung nicht mehr benötigter Datensätze. Damit löschen Sie ungültige Adressen oder Namen aus dem Verzeichnis.</p>
<h2>SQL Befehle Delete: Wie wenden Sie ihn an?</h2>
<p>Der SQL-Befehl DELETE dient zum Löschen von Datensätzen aus Tabellen. Nicht benötigte Daten belasten den Computer unnötig und sorgen für Unübersichtlichkeit. Die Festplatte ist je nach Größe überlastet mit Eingaben, die unnötig Platz verbrauchen. Ein kontinuierliches Löschen von Daten ist ein notwendiger Prozess, der Risiken birgt. Sind sie unachtsam, löschen Sie etwas, das Sie weiterhin benötigen. Achtung: Das Löschen von Daten in einer Tabelle wirkt sich auf andere Datensätze aus falls diese miteinander in Beziehung stehen. Der Befehl ON DELETE NO ACTION verhindert das Löschen von Daten in Vatertabellen.</p>
<p>In einer Tabelle mit Kundendaten ist Sarah Keller zwei Mal vorhanden. Sie entscheiden sich dazu, den Eintrag mit der Kundennummer 24 zu löschen. Dies sieht in SQL so aus:</p>
<p>DELETE FROM kunde<br />
WHERE kundennr = 24;</p>
<p><strong>Verallgemeinert heißt dieser Befehl:</strong></p>
<p>DELETE FROM tabellenname<br />
[WHERE auswahlbedingung];</p>
<p>Wenn Sie eine ganze Tabelle löschen brauchen Sie den WHERE-Zusatz nicht. Grundsätzlich geben Sie bei Tabellenname denjenigen an, aus dem Sie einen Datensatz löschen. Der Vorgang berücksichtigt die Integritätsregeln der betroffenen Datenbank. SQL Befehle Delete funktioniert nicht, falls in einer Tochtertabelle dieselben Daten stehen.</p>
<h2>Unterabfragen in Delete-Befehlen</h2>
<p>Sie löschen die Daten aller Kunden, die ihre Rechnung vor dem 1. Januar 2015 bezahlten. Dieser Vorgang ist mit einer Unterabfrage möglich. Sie lautet:<br />
DELETE FROM kunde WHERE id<br />
IN<br />
(<br />
SELECT kundennr FROM bestellung GROUP BY kundennr<br />
HAVING MAX(rechnungsdatum) &lt; &#8218;2015-01-01&#8216;<br />
);<br />
Dieses Tool ist nützlich, um Kunden zu gruppieren und besser zu organisieren.</p>
<h2>Wie funktioniert der Rechner für SQL Befehle Delete?</h2>
<p>Zu Beginn steht die allgemeine Formel für einen Delete-Befehl:<br />
DELETE FROM<br />
Tabelle<br />
WHERE Bedingung</p>
<p><strong>Es stehen drei Arten von Löschvorgängen zur Verfügung:</strong><br />
a) Löschen von allen Datensätzen in einer Tabelle,<br />
b) Löschen von bestimmten Datensätzen in einer Tabelle,<br />
c) Löschen von Datensätzen, wenn in einer zweiten kein Eintrag dazu existiert.</p>
<p>Bei a) benötigen Sie nur den Tabellennamen, um alle Daten daraus zu löschen. Falls die Adressdatei ihrer Firma veraltet ist und Sie eine neue aufbauen, geben Sie nach der Frage &#8222;Wie lösche ich alle Datensätze in einer Tabelle?&#8220; den Namen &#8222;adressen&#8220; ein. Dazu löschen Sie vorgängig den Begriff &#8222;Tabellenname&#8220; im Kästchen. Der Klick auf &#8222;Generieren&#8220; ergibt folgenden SQL Befehle Delete:<br />
DELETE FROM adressen</p>
<h2>Bestimmte Datensätze löschen</h2>
<p>Die Vorlage zu b) ist folgende:<br />
Wie löscht man bestimmte Datensätze in einer Tabelle?<br />
Name der Tabelle      ____________<br />
Feld das geprüft werden soll      ____________<br />
Nach welcher Bedingung soll geprüft werden? _____<br />
Auf welchen Wert soll geprüft werden? _________</p>
<p>Sehen Sie die Tabelle mit Informationen zu Verkäufen einer Firma in ihren Shops in verschiedenen Städten.</p>
<p><strong>Tabelle: Store_Information</strong><br />
Store     Name         Sales         Txn_Date<br />
Los Angeles         2400         05.Jun.2004<br />
San Diego         650             07.Jun.2004<br />
Los Angeles         400             08.Jun.2004<br />
Boston                 550             08.Jun.2004</p>
<p>Ziel ist, alle Informationen zur Verkaufsstelle in Los Angeles zu löschen. Im Kästchen neben &#8222;Name der Tabelle&#8220; überschreiben Sie das Wort &#8222;Tabellenname&#8220; mit &#8222;Store Information&#8220;. Nach &#8222;Feld das geprüft werden soll&#8220; tippen Sie &#8222;Store Name&#8220; über den Begriff &#8222;Suchfeld&#8220;. Die Bedingung, nach der geprüft wird ist =. Bei anderen Beispielen wählen Sie je nach Bedarf nach einem Klick auf den Pfeil das richtige Wort oder Zeichen aus. Im letzten Feld nach &#8222;Nach welchem Wert soll geprüft werden&#8220; überschreiben Sie &#8222;Kondition&#8220; mit Los Angeles.</p>
<p><strong>Mit dem Klick auf das Feld &#8222;Generieren&#8220; erscheint folgender Befehl:</strong><br />
DELETE FROM store information WHERE store name = &#8218;los angeles&#8216;</p>
<p>Er erlaubt das Löschen der nicht mehr benötigten Daten in der ganzen Tabelle. Ein mühsames Suchen und die Fehleranfälligkeit bei handgelöschten Daten bleibt Ihnen erspart. Beachten Sie, dass beim Rechner alle Informationen wie in den vorgedruckten Wörtern mit Kleinbuchstaben beginnen.</p>
<h2>Wie löschen Sie Daten einer von einer zweiten abhängigen Tabelle?</h2>
<p>Sie haben ein Geschäft für Malerzubehör und möchten ihre Adressliste bereinigen. Sie löschen alle Einträge aus den Adressen, die im letzten Jahr keine Bestellungen tätigten. Damit das nicht zu einem komplizierten Verfahren ausartet, gibt der vom Rechner generierte Befehl die Hilfe, um es in wenigen Momenten zu erledigen.</p>
<p>Sie füllen den dritten Teil des Rechners mit Informationen aus. Der Name der ersten Tabelle ist &#8222;adressen&#8220; und derjenige der zweite &#8222;bestellungen&#8220;. Dazu überschreiben Sie die beiden Wörter &#8222;tabellenname&#8220; entsprechend. Die beiden abhängigen Felder sind die Namen der Kunden. Nach dem Klick auf &#8222;Generieren&#8220; erscheint Folgendes im Ergebnis-Rechteck:<br />
DELETE FROM adressen WHERE NOT EXISTS (SELECT * FROM bestellungen WHERE bestellungen.name=adressen.name</p>
<p>Der Befehl löscht in der Adressdatei die Namen, die in der Bestelldatei nicht existieren. Damit haben Sie Ihre Liste bereinigt und führen die Namen der Kunden nicht mehr, die im letzten Jahr keine Artikel kauften.</p>
<h2>Wem dient der Rechner?</h2>
<p>Er ist ein Hilfsmittel für Personen mit Tabellen, welche diese gerne sinnvoll und effizient verwalten. Er ermöglicht das Generieren von Befehlen für drei Fälle des Löschens von Daten für andere Optionen konsultieren Sie zusätzliche Quellen. Er hilft Anfängern in der SQL-Sprache, sich darin besser zurechtzufinden und erste Befehle zu verstehen.</p>
<h2>H&auml;ufig gestellte Fragen</h2><p><a href="#kann-ein-delete-befehl-rueckgaengig-gemacht-werden?-">Kann ein Delete Befehl rückgängig gemacht werden? </a></p><p><a href="#was-kennzeichnet-den-sql-delete-befehl?">Was kennzeichnet den SQL Delete Befehl?</a></p><h2>H&auml;ufig gestellte Fragen</h2><h3 id="kann-ein-delete-befehl-rueckgaengig-gemacht-werden?-">Kann ein Delete Befehl rückgängig gemacht werden? </h3><p><p>
	Bei Datenbanksystemen gibt es meist zwei verschiedene Modi, um SQL Befehle abzusetzten.<br />
	In der interaktiven Kommunikation ist meist ein sogenanntes &quot;Autocommit&quot; voreingestellt. Dies schlie&szlig;t jeden abgesetzten Befehl an die Datenbank ab. Der Befehl kann dann nicht mehr r&uuml;ckg&auml;ngig gemacht werden.<br />
	Im anderen Modus werden die Befehle als Transaktionen geb&uuml;ndelt durchgef&uuml;hrt. Bis zu dem expliziten Commit Befehl, der die abgesetzten Befehle als endg&uuml;ltig kennzeichnet, kann ein Rollback Befehl gegeben werden, der die bisherigen Befehl dieser Transaktion wieder zur&uuml;cksetzt. Solche Transaktionen sperren Tabellen oder mindestens die betroffenen Zeilen f&uuml;r andere Benutzer, so dass in einem Mehrbenutzersystem Transaktionen &uuml;blicherweise nur im Rahmen von Programmen eingesetzt werden, die dann h&auml;ufig nachts laufen oder sehr kurz und sehr schnell sind.</p>
</p><h3 id="was-kennzeichnet-den-sql-delete-befehl?">Was kennzeichnet den SQL Delete Befehl?</h3><p><p>
	Der Delete Befehl ist der L&ouml;schbefehl in SQL (Structured Query Language). Er bezieht sich auf eine einzelne Tabelle und l&ouml;scht Zeilen in dieser Tabelle.<br />
	Welche unterschiedlichen Delete Befehle gibt es?<br />
	In SQL gibt es genau genommen nur einen einzigen Delete Befehl. Dieser kommt in zwei verschiedenen Auspr&auml;gungen vor.<br />
	Die einfachste Form ist &quot;Delete from Tabellenname&quot;, die bewirkt, dass alle Zeilen in der Tabelle gel&ouml;scht werden. Diese Form des Befehls wird meist nur am Anfang der Erstellung einer Datenbank angewandt, wenn Testdaten enthalten sind. Dann m&ouml;chte man die Definition der Tabelle erhalten, aber die Testdaten wieder l&ouml;schen.<br />
	Sp&auml;ter, im Normalbetriebe der Datenbank, wird das L&ouml;schen &uuml;blicherweise auf ausgew&auml;hlte Zeilen in der Tabelle beschr&auml;nkt. Das erfolgt durch die Where Klausel, in der eine oder mehrere Bedingungen angegeben werden. Der Befehl erh&auml;lt f&uuml;r eine Bedingung die Form &quot;Delete from Tabellenname Where spaltenname Bedingung&quot;. Der Spaltenname ist dabei h&auml;ufig der sogenannte Schl&uuml;ssel der Tabelle und die Bedingung, da&szlig; der Schl&uuml;ssel gleich einem bestimmten Wert ist. Durch einen Schl&uuml;ssel wird eine Zeile in der Tabelle eindeutig identifiziert, so da&szlig; dann durch den Befehl genau eine Zeile in der Tabelle gel&ouml;scht wird. Handelt es sich bei dem Spaltennamen nicht um den Schl&uuml;ssel, k&ouml;nnen mehrere Zeilen betroffen sein. Als Beispiel kann man sich eine Tabelle vorstellen, in der die Spalten Kundennummer, Nachname, Vorname, Telefon gespeichert sind. Bei einer solchen Tabelle wird die Kundennummer als Schl&uuml;ssel eingef&uuml;hrt, damit eine eindeutige Identifikation eines Kunden m&ouml;glich ist. Wird dann in der Bedingung Bezug genommen auf die Kundennummer, wird nur eine Zeile ausgew&auml;hlt. Bei allen anderen Spalten ist es ungewi&szlig;, ob eine oder mehrere Zeilen betroffen sind.<br />
	Die Bedingung mu&szlig; aber nicht das Gleichsetzen sein. So k&ouml;nnen in einer Tabelle, die beispielsweise ein Vorgangsdatum enth&auml;lt, Daten &auml;lteren Datums alle gel&ouml;scht werden, wenn in der Bedingung definiert wird, da&szlig; das Datum kleiner als ein Referenzdatum sein soll.<br />
	Es gibt, wie oben gesagt, auch die M&ouml;glichkeit, mehrere Bedingungen zu definieren. Diese k&ouml;nnen dann durch ein &quot;And&quot; oder ein &quot;Or&quot; verbunden werden. Nimmt man das oben angegebene Tabellenbeispiel, k&ouml;nnte man, wenn die Kundennummer unbekannt ist, versuchen, den Kunden durch die Angabe von Nach- und Vornamen einzuschr&auml;nken. Dann w&uuml;rde die Bedingung lauten Where Nachname = &quot;Schulze&quot; And Vorname = &quot;Hans&quot;. Bei solchen Bedingungen ist es ratsam, sich die ausgew&auml;hlten Zeilen erst durch einen Select Befehl anzusehen. Nur so kann vermieden werden, dass bei zuf&auml;llig gleicher Kombination von Nach- und Vorname der falsche Kunde gel&ouml;scht wird.</p>
</p>
<p>Der Beitrag <a href="https://www.hilfreiche-tools.de/sql-befehle-delete/">SQL-Befehle DELETE</a> erschien zuerst auf <a href="https://www.hilfreiche-tools.de">Hilfreiche Tools</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL-Befehle INSERT</title>
		<link>https://www.hilfreiche-tools.de/sql-befehle-insert/</link>
		
		<dc:creator><![CDATA[kirchner]]></dc:creator>
		<pubDate>Thu, 28 Feb 2019 19:48:31 +0000</pubDate>
				<category><![CDATA[SQL-Befehle]]></category>
		<guid isPermaLink="false">https://www.hilfreiche-tools.de/sql-befehle-insert/</guid>

					<description><![CDATA[<p>Hier finden Sie ein hilfreiches Tool zur Erstellung eines Insert Befehl mit Hilfe von SQL. Wozu dient SQL? SQL steht</p>
<p>Der Beitrag <a href="https://www.hilfreiche-tools.de/sql-befehle-insert/">SQL-Befehle INSERT</a> erschien zuerst auf <a href="https://www.hilfreiche-tools.de">Hilfreiche Tools</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Hier finden Sie ein hilfreiches Tool zur Erstellung eines <strong>Insert Befehl</strong> mit Hilfe von SQL.</p>
<form method="POST" id="tool_frame" name="tool_frame" enctype="multipart/form-data"><p>Mit INSERT können Werte in eine Tabelle eingefügt werden. Aufbau :<br>
<table>
<tr><td>INSERT INTO</td></tr>
<tr><td>Tabelle</td></tr>
<tr><td>(Spalte1 [,Spalte2][,...])</td></tr>
<tr><td>VALUES (Wert1 [,Wert2][,...])</td></tr>
</table>
</p>
<p><b>Fügt man Datensätze in eine Tabelle ein?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Name der Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s1[tabelle]" value="tabellenname"></td>
	</tr>
	<tr>
		<td><b>Feldnamen der Tabelle (mit Komma getrennt)</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s1[feld]" value="felder"></td>
	</tr>
	<tr>
		<td><b>Werte der Felder (mit Komma getrennt)</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s1[wert]" value="werte"></td>
	</tr>
</table>
<p id="linie"></p>
<div style="float:left; width: 100%; height: auto;"></div><DIV id="ergebnis_box" ></DIV><div style="float:left; width: 100%; height: auto;"></div><div style="float:left; width: 100%; height: auto; margin-top:10px;"><input class="user_click" id="button_generieren" type="button" value="Berechnen"><input type="hidden" id="tool_id" name="tool" value="sql_insert"><input type="hidden" name="action" value="opentool_script"><input type="hidden" name="aktion" value="go"><input type="hidden" id="out" value="2"></form></div>
<h2>Stell uns deine Frage. Wir antworten dir schnellstens...</h2><form method="POST" id="frage_frame" name="frage_frame"><input style="float: left; width: 59%; display: inline" type="text" name="hdfrage" placeholder="Stell uns Deine Frage..."> <input style="float: left; width: 40%; display: inline" type="text" name="hdmail" placeholder="Deine E-Mail-Adresse"><button type="button" id="hdbutton" class="fragen_click">Jetzt Frage an Experten abschicken</button><input type="hidden" id="tool_id" name="tool" value="2597"><input type="hidden" name="action" value="fragen_script"></form><div></div><div id="frageresponse"></div>
<h2>Wozu dient SQL?</h2>
<p>SQL steht für Structured Query Language. Der englische Begriff bedeutet strukturierte Abfrage-Sprache. Die Sprache hat zum Ziel, die Abfrage in Datenbanken zu standardisieren. Diese bestehen aus einer oder mehreren Tabellen, die miteinander in Beziehung stehen und Daten organisiert darstellen. In den Spaltenköpfen befinden sich die Feldnamen. Die einzelnen Zeilen enthalten die Werte, auch Datensätze genannt. Je nach Tabelle handelt es sich um Adressen, Personenverzeichnisse eines Kurses oder anderen Zuordnungen.</p>
<p>Jedes Feld ist eindeutig bestimmbar. In einer Tabelle mit Adressen ist das Feld &#8222;Müller&#8220; über die fünfte Spalte im Feld &#8222;nachname&#8220; definiert. Die Definition von &#8222;84398&#8220; erfolgt über dritte Spalte und Feld &#8222;postleitzahl&#8220;. 1974 erschien eine erste Version der Sprache. Eine Arbeitsgruppe bei IBM entwickelte den ersten Prototyp einer relationalen Datenbank. Tabellen sind nützliche Mittel, um die Strukturierung des Alltages in allen Bereichen des Lebens zu vereinfachen. SQL Befehle Insert helfen, deren Organisation dank Formeln effizient zu bewältigen.</p>
<h2>Was ist die Bedeutung von Insert?</h2>
<p>SQL-Befehle Insert hat vier Aktionen zum Ziel:</p>
<ul>
<li>einen oder mehrere Datensätze in eine Tabelle einspielen,</li>
<li>beim doppelten Wort Fehler vermeiden (INSERT IGNORE INTO),</li>
<li>Daten aus einer bestehenden in eine neue Tabelle zu übertragen,</li>
<li>aus einer CSV-Datei Daten in eine Tabelle übernehmen.</li>
</ul>
<p>Der Befehl ist in der Kurzform oder in der vollständigen Form vorhanden und nutzbar:</p>
<p>Kurzform<br />
INSERT INTO tabelle (&#8218;wert1&#8216;, &#8218;wert2&#8216;, &#8218;wert3&#8216;,<br />
&#8218;wert4&#8216;)</p>
<p>Vollständige Form<br />
INSERT INTO tabelle<br />
(feld1, feld2, feld3, feld4)<br />
VALUES<br />
(&#8218;wert1&#8216;, &#8218;wert2&#8216;, &#8218;wert3&#8216;, &#8218;wert4&#8216;)</p>
<p>Wer die Kurzform benutzt, beachtet, dass die Anzahl der Werte der Anzahl Felder in der Tabelle entspricht. Sie ist dementsprechend fehleranfällig. Mit der Benutzung der vollständigen Form befinden Sie sich auf der sicheren Seite.</p>
<h2>Einen Datensatz in eine Tabelle einspeisen</h2>
<p>Sehen Sie sich die folgende Tabelle an. id ist ein INTEGER-Feld und enthält eine eindeutige Nummer für jeden Datensatz, die MySQL automatisch vergibt.</p>
<table style="border-collapse: collapse;" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border-color: #000000 #000000 #000000 #000000; height: 14.0px; width: 31.0px;">id</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 14.0px; width: 41.0px;">anrede</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 14.0px; width: 48.0px;">vorname</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 14.0px; width: 65.0px;">nachname</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 14.0px; width: 80.0px;">straße</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 14.0px; width: 76.0px;">ort</td>
</tr>
<tr>
<td style="border-color: #000000 #000000 #000000 #000000; height: 13.0px; width: 31.0px;">1</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 13.0px; width: 41.0px;">Frau</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 13.0px; width: 48.0px;">Anna</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 13.0px; width: 65.0px;">Stollmann</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 13.0px; width: 80.0px;">Feldweg 23</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 13.0px; width: 76.0px;">Hamburg</td>
</tr>
<tr>
<td style="border-color: #000000 #000000 #000000 #000000; height: 14.0px; width: 31.0px;">2</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 14.0px; width: 41.0px;">Herr</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 14.0px; width: 48.0px;">Sigmund</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 14.0px; width: 65.0px;">Petersen</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 14.0px; width: 80.0px;">Langstrasse 4</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 14.0px; width: 76.0px;">Sonnenberg</td>
</tr>
<tr>
<td style="border-color: #000000 #000000 #000000 #000000; height: 13.0px; width: 31.0px;">3</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 13.0px; width: 41.0px;">Herr</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 13.0px; width: 48.0px;">Andreas</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 13.0px; width: 65.0px;">Luckenbach</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 13.0px; width: 80.0px;">Kurzweg 17</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 13.0px; width: 76.0px;">Freihausen</td>
</tr>
</tbody>
</table>
<p><strong>Beachten Sie die Kurzform:</strong> INSERT INTO adressen (&#8218;Frau&#8216;, &#8218;Anna&#8216;, &#8218;Stollmann&#8216;, &#8218;Feldweg 23&#8216;, &#8218;Hamburg&#8216;). Sie funktioniert nicht, da sie den Wert für das Feld &#8222;id&#8220; nicht enthält. Falls er vorhanden wäre, existierte dennoch ein Unsicherheitsfaktor. Sie sind nicht sicher, welche Werte für die genannte Spalte bereits vergeben sind. Die vollständige Anweisung der SQL Befehle Insert ist erfolgversprechend: INSERT INTO adressen<br />
(&#8218;anrede&#8216;, &#8218;vorname&#8216;, &#8217;nachname&#8216;, &#8217;strasse&#8216;, &#8218;ort&#8216;)<br />
VALUES<br />
(&#8218;Frau&#8216;, &#8218;Anna&#8216;, &#8218;Stollmann&#8216;, &#8218;Feldweg 23&#8216;, &#8218;Hamburg&#8216;)</p>
<p>Bei einer großen Tabelle benutzen Sie vorzugsweise einen Befehl, indem Sie alle Wertelisten durch Komma getrennt hintereinanderschreiben. Dies spart Arbeit und Zeit. Die Kurzform dazu lautet:<br />
INSERT INTO tabelle<br />
(&#8218;wert1&#8216;, &#8218;wert2&#8216;, &#8218;wert3&#8216;, &#8218;wert4&#8216;),<br />
(&#8218;wert1&#8216;, &#8218;wert2&#8216;, &#8218;wert3&#8216;, &#8218;wert4&#8216;),<br />
(&#8218;wert1&#8216;, &#8218;wert2&#8216;, &#8218;wert3&#8216;, &#8218;wert4&#8216;)</p>
<p><strong>Das Pendant der vollständigen Form ist Folgendes:</strong><br />
INSERT INTO tabelle<br />
(feld1, feld2, feld3, feld4)<br />
VALUES<br />
(&#8218;wert1&#8216;, &#8218;wert2&#8216;, &#8218;wert3&#8216;, &#8218;wert4&#8216;),<br />
(&#8218;wert1&#8216;, &#8218;wert2&#8216;, &#8218;wert3&#8216;, &#8218;wert4&#8216;),<br />
(&#8218;wert1&#8216;, &#8218;wert2&#8216;, &#8218;wert3&#8216;, &#8218;wert4&#8216;)<br />
Die Abarbeitung von multiplen Inserts geschieht schneller als bei einzelnen Datensätzen. Die Voraussetzung dazu ist, dass die Anzahl der einzufügenden Datensätze gleichbleibt.</p>
<h2>Wozu dient INSERT IGNORE INTO?</h2>
<p>Der Befehl hilft Fehler zu vermeiden, die bei einer Tabelle mit eindeutigen Schlüsseln auftauchen. Falls Sie versuchen, einen bereits enthaltenen Wert erneut in eine Spalte einzufügen vermeidet INSERT IGNORE INTO die Verdoppelung des Wertes einer Spalte. Dazu benutzen Sie folgenden Befehl:<br />
INSERT IGNORE INTO tabelle (&#8230;) VALUES (&#8230;)</p>
<h2>Wie fügen Sie Daten aus einer bestehenden Tabelle ein?</h2>
<p>Das Statement<br />
INSERT INTO tabelleEins<br />
SELECT * FROM tabelleZwei<br />
weist MySQL an, Daten aus einer Tabelle in eine andere einzufügen. Es ist möglich, Daten aus einer CSV-Datei mit folgendem Befehl in eine Tabelle einzufügen:<br />
LOAD DATA INFILE &#8218;C:/temp/data.csv&#8216;<br />
INTO TABLE tabelle<br />
FIELDS TERMINATED BY &#8218;;&#8216;<br />
ENCLOSED BY &#8218;&#8220;&#8218;<br />
LINES TERMINATED BY &#8218; &#8218;</p>
<p>Damit es klappt, entspricht die Datenstruktur in der Datei der Tabelle: Anzahl Werte pro Zeile = Anzahl Felder in der Tabelle. Als Zeilenbegrenzer und Feldtrenner verwenden Sie Zeichen, die in der Datei nicht vorkommen.</p>
<h2>Wie funktioniert der Rechner für SQL Befehle Insert?</h2>
<p>Er ist ein hilfreiches Tool zur Erstellung eines Insert- Befehls mithilfe von SQL. Er arbeitet mit der vollständigen Form der Befehle und ist darauf ausgelegt, einzelne Datensätze in eine Tabelle einzufügen. Für multiple Inserts findet der Rechner keine Verwendung. Als Erklärung sehen Sie den benutzten Aufbau der Tabelle vorgängig notiert:<br />
INSERT INTO<br />
Tabelle<br />
(Spalte1 [,Spalte2][,&#8230;])<br />
VALUES (Wert1 [,Wert2][,&#8230;])</p>
<p>Sie fügen damit einen Datensatz in eine Tabelle mit einer beliebigen Anzahl Spalten ein. Für die Generierung eines Befehls füllen Sie drei Kästchen aus.<br />
Name der Tabelle: ________________<br />
Feldnamen der Tabelle (mit Komma getrennt): ____<br />
Werte der Felder (mit Komma getrennt: ________</p>
<p>Sie passen dabei die obenstehende allgemeine Form Ihrer Tabelle an und versehen die Kästchen mit den Begriffen und Werten. Der Klick auf das Wort &#8222;Generieren&#8220; ergibt im Ergebnisrechteck die gesuchte Formel für SQL Befehle Insert.</p>
<h2>Ein Beispiel</h2>
<p>Sie haben die Adresse von Herrn Meier, in die Tabelle einzutragen. Ihr Name ist Adressen. Nach den Feldnamen schreiben Sie der Reihe nach die Namen der verschiedenen Zeilen auf. In diesem Fall lauten Sie: (Name, Straße, Hausnummer, PLZ, Ort). Neben Werte der Felder tippen Sie: (&#8222;Meier&#8220;, &#8222;Johannisstrasse&#8220;, &#8222;58&#8220;, &#8222;56393&#8220;, &#8222;Hanau&#8220;)</p>
<p>Vergessen Sie nicht, die Begriffe bei Feldname und Werte durch ein Komma zu trennen: Bei Strassen benutzen Sie anstatt dem scharfen ß zwei normale &#8222;s&#8220;. Ersteres erhält die Behandlung eines Sonderzeichens und verfälscht sich je nach Konfiguration des Computers.</p>
<p>Nach der Eingabe klicken Sie &#8222;Generieren&#8220;. Folgendes erscheint im Ergebnisfeld:<br />
Alle Werte bestimmter Felde ohne mehrfache Zeilen aus einer Tabelle auslesen<br />
INSERT INTO Adressen (Name, Strasse, Hausnummer, PLZ, Ort) VALUES (&#8218;&#8220;Meier&#8220;&#8218;,&#8216; &#8222;Johannisstrasse&#8220;&#8218;,&#8216; &#8222;58&#8220;&#8218;,&#8216; &#8222;56393&#8220;&#8218;,&#8216; &#8222;Hanau&#8220;&#8218;)</p>
<h2>Wozu dient das Tool?</h2>
<p>Das nützliche Tool hilft bei der Tabellenverwaltung zu Hause oder auf der Arbeit. Es ist dazu ausgelegt, einfache Tabellen zu organisieren und mit wenigen Klicks neue Informationen einzufügen. Wer mit vielen Datensätzen arbeitet, ist mit deren Organisation in Tabellen gut beraten</p>
<h2>H&auml;ufig gestellte Fragen</h2><p><a href="#was-ist-der-insert-befehl-bei-einer-datenbank?">Was ist der INSERT-Befehl bei einer Datenbank?</a></p><p><a href="#gibt-es-unterschiedliche-insert-befehle?">Gibt es unterschiedliche INSERT-Befehle?</a></p><h2>H&auml;ufig gestellte Fragen</h2><h3 id="was-ist-der-insert-befehl-bei-einer-datenbank?">Was ist der INSERT-Befehl bei einer Datenbank?</h3><p><p>
	Der Befehl INSERT dient dazu Informationen in die Tabellen einer Datenbank einzugeben.<br />
	<br />
	Nehmen wir an, Sie h&auml;tten eine Kundendatenbank erstellt, in der es eine Tabelle &quot;Adressen&quot; gibt. Diese Tabelle enth&auml;lt die Felder Name, Stra&szlig;e, Hausnummer, PLZ und Ort.<br />
	Nun m&ouml;chten Sie die Daten eines neuen Kunden mit folgenden Kontaktinformationen eingeben: Meier, Musterweg 77, 52103 Testling.<br />
	Hierzu nutzen Sie den Befehl INSERT,<br />
	dem noch einige Zusatzinformationen mitgegeben werden m&uuml;ssen:<br />
	- der Name der Tabelle, in die die Informationen eingef&uuml;gt werden sollen<br />
	- der Name der Felder, in die Informationen geschrieben werden sollen<br />
	- die zu speichernden Informationen selber, durch ein vorangestelltes VALUES gekennzeichnet<br />
	In unserem Beispiel s&auml;he das dann so aus:<br />
	INSERT INTO Adressen (Name, Stra&szlig;e, Hausnummer, PLZ, Ort) VALUES (&quot;Meier&quot;, &quot;Musterweg&quot;, &quot;77&quot;, &quot;52103&quot;, &quot;Testling&quot;)</p>
</p><h3 id="gibt-es-unterschiedliche-insert-befehle?">Gibt es unterschiedliche INSERT-Befehle?</h3><p><p>
	Ja, im Prinzip gibt es zwei Arten von INSERT-Befehlen. Den oben vorgestellten, der zum Einf&uuml;gen einzelner, neuer Informationen dient, und einen zweiten, der dazu benutzt wird ausgew&auml;hlte Informationen aus einer anderen Tabelle in die aktuelle Tabelle einzuf&uuml;gen.<br />
	<br />
	<strong>Bleiben wir bei unserem Beispiel und nehmen an, dass die Tabelle Adressen nach<br />
	Ausf&uuml;hrung des oben beschriebenen Befehls so aussieht:</strong><br />
	<br />
	Schulze Am Weg 3 12345 Neudorf<br />
	Huber Neustra&szlig;e 55 23567 Altheim<br />
	Schmitz Weiherweg 8 23456 Neudorf<br />
	B&auml;cker Roter Weg 45 23567 Altheim<br />
	Meier Musterweg 77 52103 Testling<br />
	<br />
	Nun m&ouml;chten Sie zur Planung der Waren-Lieferung eine Tabelle Altheim erstellen, in der alle Kunden gespeichert werden, die in Altheim wohnen. Da fest steht, dass die Ware nach Altheim geliefert werden muss, hat die Tabelle Altheim nur die Felder &quot;Name, &quot;Stra&szlig;e&quot; und &quot;Hausnummer&quot;.<br />
	<br />
	Zum Bef&uuml;llen dieser Tabelle mit Informationen benutzen wir den INSERT-Befehl in Kombination mit dem Befehl SELECT, den wir an Stelle des Wortes VALUES einf&uuml;gen.<br />
	Der Befehl SELECT zieht ausgew&auml;hlte Informationen aus einer bestimmten Tabelle und stellt diese dem INSERT-Befehl zur Verf&uuml;gung.<br />
	<br />
	<strong>In unserem Beispiel w&uuml;rde das dann so aussehen:</strong><br />
	INSERT INTO Altheim (Name, Stra&szlig;e,Hausnummer) SELECT FROM Adressen (Name, Stra&szlig;e, Hausnummer) WHERE Ort = &quot;Altheim&quot;<br />
	<br />
	Das Ergebnis w&auml;re dann die folgende Tabelle Altheim<br />
	<br />
	Huber Neustra&szlig;e 55<br />
	B&auml;cker Roter Weg 45<br />
	<br />
	Um Probleme mit der unterschiedlichen Darstellung und Behandlung von Zahlen durch die verschiedenen Datenbanksysteme zu vermeiden, sind in den Beispielen die Zahlen als<br />
	Text behandelt worden.</p>
</p>
<p>Der Beitrag <a href="https://www.hilfreiche-tools.de/sql-befehle-insert/">SQL-Befehle INSERT</a> erschien zuerst auf <a href="https://www.hilfreiche-tools.de">Hilfreiche Tools</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL-Befehle SELECT</title>
		<link>https://www.hilfreiche-tools.de/sql-befehle-select/</link>
		
		<dc:creator><![CDATA[kirchner]]></dc:creator>
		<pubDate>Thu, 28 Feb 2019 19:50:50 +0000</pubDate>
				<category><![CDATA[SQL-Befehle]]></category>
		<guid isPermaLink="false">https://www.hilfreiche-tools.de/sql-befehle-select/</guid>

					<description><![CDATA[<p>Wir bieten Ihnen hier ein einfaches Tool zur Erstellung eines SQL Select Befehls für einen Datenbankabfrage. Was ist SQL? Die</p>
<p>Der Beitrag <a href="https://www.hilfreiche-tools.de/sql-befehle-select/">SQL-Befehle SELECT</a> erschien zuerst auf <a href="https://www.hilfreiche-tools.de">Hilfreiche Tools</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Wir bieten Ihnen hier ein einfaches Tool zur Erstellung eines<strong> SQL Select Befehls </strong>für einen Datenbankabfrage.</p>
<h2></h2>
<form method="POST" id="tool_frame" name="tool_frame" enctype="multipart/form-data"><p>Mit SELECT können Werte aus einer Tabelle ausgelesen werden. Aufbau :<br>
<table>
<tr><td>SELECT</td></tr>
<tr><td>DISTINCT | ALL | * | Spalte1 [,Spalte2][,...] | Ausdruck</td></tr>
<tr><td>FROM Tabelle</td></tr>
<tr><td>WHERE Bedingung</td></tr>
<tr><td>GROUP BY Spalte1 [,Spalte2][,...]</td></tr>
<tr><td>ORDER BY Spalte1 [,Spalte2][,...] [ASC|DESC]</td></tr>
</table>
</p>
<p><b>Wie lese ich Werte aus?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Name der Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s1[tabelle]" value="tabellenname"></td>
	</tr>
</table>
<p><b>Wie lese ich alle Werte eines oder mehrerer Felder aus einer Tabelle aus?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Name der Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s2[tabelle]" value="tabellenname"></td>
	</tr>
	<tr>
		<td><b>Name der Felder (durch Komma getrennt)</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s2[feld]" value="feldname"></td>
	</tr>
</table>
<p><b>Wie lese ich Werte eines oder mehrerer Felder ohne mehrfach enthaltene Zeilen aus einer Tabelle aus?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Name der Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s4[tabelle]" value="tabellenname"></td>
	</tr>
	<tr>
		<td><b>Name der Felder (durch Komma getrennt)</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s4[feld]" value="feldname"></td>
	</tr>
</table>
<p><b>Wie lese ich bestimmte Werte aus einer Tabelle aus?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Name der Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s3[tabelle]" value="tabellenname"></td>
	</tr>
	<tr>
		<td><b>Name der Felder</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s3[feld1]" value="ergebnisfeld"></td>
	</tr>
	<tr>
		<td><b>Feld das geprüft werden soll</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s3[feld2]" value="suchfeld"></td>
	</tr>
	<tr>
		<td><b>Nach welcher Bedingung soll geprüft werden?</b></td>
		<td>&nbsp;</td>
		<td align="right"><SELECT name="s3[beding]" ><option value="0">=</option>
<option value="1">&lt;</option>
<option value="2">&gt;</option>
<option value="3">!=</option>
<option value="4">LIKE</option>
<option value="5">IS NULL</option>
<option value="6">IS NOT NULL</option>
</SELECT></td>
	</tr>
	<tr>
		<td><b>Auf welchen Wert soll geprüft werden?</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s3[kondi]" value="kondition"></td>
	</tr>
</table>
<p><b>Wie lese ich Werte gruppiert aus einer Tabelle aus?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Name der Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s5[tabelle]" value="tabellenname"></td>
	</tr>
	<tr>
		<td><b>Name der Felder (durch Komma getrennt)</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s5[feld]" value="feldname"></td>
	</tr>
	<tr>
		<td><b>Feld das gruppiert werden soll</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s5[gruppe]" value="gruppe"></td>
	</tr>
</table>
<p><b>Wie lese ich Werte aus einer Tabelle aus und sortiere sie aufsteigend?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Name der Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s6[tabelle]" value="tabellenname"></td>
	</tr>
	<tr>
		<td><b>Name der Felder (durch Komma getrennt)</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s6[feld]" value="feldname"></td>
	</tr>
	<tr>
		<td><b>Feld das sortiert werden soll</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s6[sort]" value="sortierfeld"></td>
	</tr>
</table>
<p><b>Wie lese ich Werte aus einer Tabelle aus und sortiere sie absteigend?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Name der Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s7[tabelle]" value="tabellenname"></td>
	</tr>
	<tr>
		<td><b>Name der Felder (durch Komma getrennt)</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s7[feld]" value="feldname"></td>
	</tr>
	<tr>
		<td><b>Feld das sortiert werden soll</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s7[sort]" value="sortierfeld"></td>
	</tr>
</table>
<p id="linie"></p>
<div style="float:left; width: 100%; height: auto;"></div><DIV id="ergebnis_box" ></DIV><div style="float:left; width: 100%; height: auto;"></div><div style="float:left; width: 100%; height: auto; margin-top:10px;"><input class="user_click" id="button_generieren" type="button" value="Berechnen"><input type="hidden" id="tool_id" name="tool" value="sql_select"><input type="hidden" name="action" value="opentool_script"><input type="hidden" name="aktion" value="go"><input type="hidden" id="out" value="2"></form></div>
<h2>Stell uns deine Frage. Wir antworten dir schnellstens...</h2><form method="POST" id="frage_frame" name="frage_frame"><input style="float: left; width: 59%; display: inline" type="text" name="hdfrage" placeholder="Stell uns Deine Frage..."> <input style="float: left; width: 40%; display: inline" type="text" name="hdmail" placeholder="Deine E-Mail-Adresse"><button type="button" id="hdbutton" class="fragen_click">Jetzt Frage an Experten abschicken</button><input type="hidden" id="tool_id" name="tool" value="2602"><input type="hidden" name="action" value="fragen_script"></form><div></div><div id="frageresponse"></div>
<h2>Was ist SQL?</h2>
<p>Die Abkürzung steht für Structured Query Language. Das heißt auf Deutsch strukturierte Abfrage-Sprache. Sie findet bei der Organisation von Tabellen Anwendung und dient der Verwaltung, Bearbeitung und dem Abfragen von Informationen. Mit ihrer Hilfe generieren Sie Befehle, um eine gewünschte Aktion durchzuführen. Relationale Datenbanken sind verschiedene Tabellen, die miteinander in Beziehung stehen. Sie sind durch Spalten und Zeilen definiert. Jedem Feld sind eindeutige Koordinaten zugeordnet. In einer Adressdatei ist Friederike Kuhn beispielsweise das Feld in der Spalte &#8222;Name&#8220; in der fünften Zeile.</p>
<p>Die Sprache stammt aus den 70ern. Oracle kommerzialisierte sie erstmals in einem Produkt. Daten sind langlebig. Deshalb ist die Weiterentwicklung von SQL bedeutsam. Sie hat sich als Programmiersprache für den Datenzugriff globalisiert und definiert, was zu tun ist. Das Wie ist durch den Datenserver festgelegt. Die Sprache umfasst über 100 teilweise komplexe Befehle. SQL Befehle Select gehören zu den grundlegenden Anweisungen der Programmiersprache.</p>
<p>In ihrem Gebrauch unterscheiden Sie bei Wörtern die Großbuchstaben nicht von den Kleinbuchstaben. Der Begriff &#8222;Tabelle&#8220; ist mit dem Wort &#8222;tabelle&#8220; identisch. Einfache Anführungszeichen umfassen Datumswerte und Strings. Mehrere Anweisungen sind durch einen Strichpunkt getrennt und die Sprache behandelt Zeilenumbrüche gleichwertig mit Leerzeilen.</p>
<h2>Wozu dient der Befehl Select?</h2>
<p>Die SQL Befehle Select dienen dazu, verschiedene Datensätze auszuwählen, ohne jeden einzelnen anzuklicken. Sie sind die mächtigsten Anweisungen der Programmiersprache. Der Befehl ist schnell und flexibel anwendbar was den Erfolg von SQL mitprägte. So sieht seine Struktur aus:</p>
<table style="border-collapse: collapse;" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border-color: #000000 #000000 #000000 #000000; height: 30.0px; width: 76.0px;">select &#8230;</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 30.0px; width: 218.0px;">listet Ausdrücke oder Attribute mit Funktionen und Attributen auf</td>
</tr>
<tr>
<td style="border-color: #000000 #000000 #000000 #000000; height: 14.0px; width: 76.0px;">from &#8230;</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 14.0px; width: 218.0px;">Auflistung der involvierten Tabellen</td>
</tr>
<tr>
<td style="border-color: #000000 #000000 #000000 #000000; height: 30.0px; width: 76.0px;">where &#8230;</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 30.0px; width: 218.0px;">zeigt die Auswahlbedingung in den Datensätzen an</td>
</tr>
<tr>
<td style="border-color: #000000 #000000 #000000 #000000; height: 14.0px; width: 76.0px;">group by &#8230;</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 14.0px; width: 218.0px;">fasst Datensätze in Gruppen zusammen</td>
</tr>
<tr>
<td style="border-color: #000000 #000000 #000000 #000000; height: 13.0px; width: 76.0px;">having &#8230;</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 13.0px; width: 218.0px;">Auswahlbedingung über die Gruppe</td>
</tr>
<tr>
<td style="border-color: #000000 #000000 #000000 #000000; height: 30.0px; width: 76.0px;">order by &#8230;</td>
<td style="border-color: #000000 #000000 #000000 #000000; height: 30.0px; width: 218.0px;">zeigt Ausdrücke oder Attribute für die Ausgabesortierung an</td>
</tr>
</tbody>
</table>
<p>Die Select-Anweisung stellt die Informationen in Form einer virtuellen Tabelle zur Verfügung, auch Recordset genannt. Set steht für Menge und Record für Datensätze. Es geht um die Menge der ausgewählten Daten aus den beteiligten Tabellen. Sie existieren temporär und unterliegen nach dem Ausführen des Befehls der Verwerfung. SQL Befehle Select ohne Ergänzung führen dazu, dass die Angaben auf dem Bildschirm erscheinen. Mit Select … Into … From … kopieren Sie diese in eine neue Tabelle. Mit Insert Into … Select … fügen Sie die Informationen einer bestehenden Tabelle zu.</p>
<h2>Tipps zum Umgang mit Select</h2>
<p>Der SQL-Parser identifiziert Spalten dank Alias-Namen für Tabellen schneller. Schließen Sie Ausdrücke mit Sonder- oder Leerzeichen in eckige Klammern ein. Nach Select … Into … From … erhält die ursprüngliche Tabelle eine automatisch hochzählende ID. Der Spaltentyp entsteht in der Zieltabelle ebenfalls. Um dies zu vermeiden, fügen Sie der Identitätsspalte eine 0 bei und notieren den Spaltenname als Alias. Beim Sortieren auf dem MS-SQLServer ist es möglich, den Aliasnamen in der ORDER BY-Klausel anzugeben. Beachten Sie, dass Sie diese nach einer Rechenoperation erneut notieren, da Access den Namen so nicht versteht.</p>
<h2>Wie funktioniert der Rechner für SQL Befehle Select?</h2>
<p>Er generiert sieben Fälle von Auswahlverfahren in einer Tabelle. Sie beginnen mit einer Frage. Die notwendigen Eingaben zur Beantwortung folgen in den nächsten Zeilen. In der Einführung finden Sie die verschiedenen Kombinationen zu Select:<br />
Mit SELECT können Werte aus einer Tabelle ausgelesen werden. <strong>Aufbau:</strong></p>
<p>SELECT<br />
DISTINCT | ALL | * | Spalte1 [,Spalte2][,&#8230;] | Ausdruck<br />
FROM Tabelle<br />
WHERE Bedingung<br />
GROUP BY Spalte1 [,Spalte2][,&#8230;]<br />
ORDER BY Spalte1 [,Spalte2][,&#8230;] [ASC|DESC]</p>
<h2>Erklärung und Beispiele der diversen Anwendungen</h2>
<p>Der einfachste Fall einer Select-Anwendung ist die Auswahl aller Datensätze in einer Tabelle. Die Frage lautet: Wie lese ich Werte aus? Dazu füllen Sie den Namen der Tabelle neben &#8222;Name der Tabelle&#8220; ein. Sie haben eine Liste mit Bestellungen, die sie leeren zu brauchen. Sie füllen &#8222;bestellungen&#8220; ein. Mit einem Klick auf das Kästchen &#8222;Generieren&#8220; erscheint im Feld:<br />
SELECT * FROM bestellungen</p>
<p>Die zweite Anwendung ist komplexer. Es geht darum, einzelne Komponenten aus einer Tabelle auszuwählen. Sie wollen aus Ihrer Liste der Bestellungen alle Kunden mit den Namen Keller und Frieden auswählen. Die dazugehörige Frage &#8222;Wie lese ich alle Werte eines oder mehrerer Felder aus einer Tabelle aus?&#8220; bringt zwei Zeilen zum Beantworten mit sich. Neben den ersten Begriff &#8222;Name der Tabelle&#8220; tippen Sie &#8222;bestellungen&#8220;. Unterhalb führen Sie alle Felder aus mit Bezeichnungen, die Sie zu löschen gedenken.</p>
<p>Sie benötigen die Einträge mit den Namen Keller und Frieden nicht mehr. Bevor Sie diese löschen wählen Sie sie aus. Schreiben Sie die Namen durch ein Komma getrennt hin: &#8222;keller, frieden&#8220;. Folgendes erscheint im Ergebnis-Rechteck:<br />
SELECT keller, frieden FROM bestellungen</p>
<p>Der nächste Fall der SQL Befehle Select ist folgender: Wie lesen Sie Werte eines oder mehrere bestimmter Felder ohne mehrfach enthaltene Zeilen aus einer Tabelle aus? Wie im oberen Beispiel überschreiben Sie zuerst &#8222;tabellenname&#8220; mit bestellungen. Die Worte &#8222;keller, frieden&#8220; durch Komma getrennt geben Sie neben dem Begriff &#8222;Name der Felder (durch Komma getrennt)&#8220; ein. Als Ergebnis erscheint: SELECT DISTINCT keller, frieden FROM adressen.</p>
<p>Bei der Frage &#8222;Wie lese ich bestimmte Werte aus einer Tabelle aus?&#8220; geht es um Zeilen, die gewisse Bedingungen erfüllen. Sie suchen die Namen der Kunden, welche Bestellungen über 30 Euro tätigten. Füllen Sie die Felder folgendermaßen aus:</p>
<p>Name der Tabelle                                  bestellungen<br />
Name der Felder                                          name<br />
Feld das geprüft werden soll                          preise<br />
Nach welcher Bedingung soll geprüft werden? &gt;<br />
Auf welchen Wert soll geprüft werden?        30</p>
<p><strong>Als Ergebnis erscheint:</strong></p>
<p>SELECT name FROM bestellungen WHERE preise &gt; &#8217;30&#8216;</p>
<h2>Gruppieren und Sortieren</h2>
<p>Um Werte zu gruppieren, beantworten Sie die Frage &#8222;Wie lese ich Werte gruppiert aus einer Tabelle aus?&#8220;. Sie lesen aus den Bestellungen alle Namen der Kunden aus Hamburg aus. Die Tabelle sieht so aus:</p>
<p>Name der Tabelle                                      bestellungen<br />
Name der Felder (durch Komma getrennt)          ort<br />
Feld das gruppiert werden soll                    hamburg</p>
<p>Der Befehl zu dieser Auswahl lautet SELECT ort FROM bestellungen GROUP BY hamburg. Nach der Anwendung erscheint eine Tabelle, die die Anzahl Kunden aus Hamburg angibt.<br />
Hamburg            4</p>
<p>Eine weitere Möglichkeit der Anwendung des Select-Befehls ist das auf- und absteigende Sortieren. Nach beiden Fragen geben Sie als Tabellenname Bestellungen ein. Feldname und Feld, dass sortiert werden soll ist &#8222;preise&#8220;. Im Ergebnisfeld erscheinen die Formeln.</p>
<p><strong>Werte aufsteigend sortiert auslesen</strong></p>
<p>SELECT preise FROM bestellungen ORDER BY preise ASC</p>
<p><strong>Werte absteigend sortiert auslesen</strong><br />
SELECT preise FROM bestellungen ORDER BY preise DESC</p>
<p>ASC ist der Code für aufsteigend, DESC für absteigend. Damit sortieren Sie die Höhe der Bestellungen in der gewünschten Form.</p>
<h2>Wer benutzt den Rechner?</h2>
<p>Er dient Personen, die ein Geschäft führen zur Organisation von Tabellen der Kundenadministration. Für die Übersicht im Privathaushalt ist das Arbeiten mit Tabellen und SQL ebenfalls geeignet.</p>
<h2>H&auml;ufig gestellte Fragen</h2><p><a href="#was-ist-ein-select-befehl?">Was ist ein Select Befehl?</a></p><p><a href="#welche-unterschiedlichen-select-befehle-gibt-es?">Welche unterschiedlichen Select Befehle gibt es?</a></p><h2>H&auml;ufig gestellte Fragen</h2><h3 id="was-ist-ein-select-befehl?">Was ist ein Select Befehl?</h3><p><p>
	Der Select-Befehl in SQL (Structured Query Language) ist der einzige Befehl f&uuml;r den lesenden Zugriff auf die Datenbank. Wie alle Befehle bei relationalen Datenbanksystemen ist der Befehl ein sogenannter nicht-prozeduraler Befehl, dies bedeutet, dass definiert wird, was man finden will und nicht, wie bzw. in welchem Ablauf man etwas finden m&ouml;chte.<br />
	Der Befehl ist sehr m&auml;chtig und kann auch sehr komplex werden.</p>
</p><h3 id="welche-unterschiedlichen-select-befehle-gibt-es?">Welche unterschiedlichen Select Befehle gibt es?</h3><p><p>
	Es gibt nur einen Select Befehl, der aber je nach Aufgabenstellung sehr verschieden aussehen kann. Die einfachste Variante ist der Befehl &quot;Select * From Tabellenname&quot;.<br />
	In dieser Auspr&auml;gung werden von der Tabelle mit dem Namen &quot;Tabellennamen&quot; alle Spalten in der Reihenfolgen, wie sie bei dem Anlegen der Tabelle definiert wurden, ausgegeben und zwar alle Zeilen, die in der Tabelle enthalten sind in einer willk&uuml;rlichen Reihenfolge.<br />
	Um die Reihenfolge zu beeinflussen, kann der Befehl um die Klausel &quot;Order by Spaltenname&quot; erg&auml;nzt werden, wobei es m&ouml;glich ist, eine auf- oder absteigende Reihenfolge zu verlangen (ASC/DESC).<br />
	Sollen nur ausgew&auml;hlte Zeilen der Tabelle zur&uuml;ckgegeben werden, gibt es die Bedingungsklausel &quot;Where Spaltenname Bedingung&quot;. Die Bedingung kann sein, da&szlig; der Spaltenwert gleich, kleiner, gr&ouml;&szlig;er als ein Wert geben oder zwischen zwei gegebenen Werten liegt: &quot;Where Spaltenname Between unterer Wert And oberer Wert&quot;. Dabei sind die Werte abh&auml;ngig vom Datentyp der Spalte. Ist die Spalte beispielsweise als Zahl definiert, sind die Vergleichswerte auch Zahlen, ist der Datentyp als Datum angegeben, m&uuml;ssen die Vergleichswerte auch vom Typ Datum sein. Auch die Verwendung von Funktionen ist m&ouml;glich, so da&szlig; in den Bedingungen eine hohe Flexibilit&auml;t m&ouml;glich ist.<br />
	So wie die Auswahl und Anordnung von Zeilen m&ouml;glich ist, ist auch die Auswahl und Anordnung von Spalten m&ouml;glich. Das erfolgt, indem in dem Select Befehl nach dem Select an Stelle des Sterns (*) die Spaltennamen in der gew&uuml;nschten Reihenfolge definiert werden. Auch hier k&ouml;nnen Funktionen verwandt werden.<br />
	<br />
	Bisher wurde davon ausgegangen, da&szlig; nur auf eine einzelne Tabelle zugegriffen wird. In vielen F&auml;llen werden jedoch Tabellen miteinander kombiniert. Im Select Befehl erfolgt das, indem nach der From-Klausel mehr als ein Tabellennamen angegeben wird. Hierbei ist dann zu beachten, dass in der Where-Klausel die Bedingungen angegeben werden, die eine korrekte Verkn&uuml;pfung der Tabellen durchf&uuml;hren.<br />
	<br />
	Eine noch gr&ouml;&szlig;ere Komplexit&auml;t erh&auml;lt der Select Befehl durch die Angabe der Group By Klausel, die den Einsatz von Aggregationsfunktionen erm&ouml;glicht. Dann sind auch noch Bedingungen auf Aggregatfunktionen m&ouml;glich, die durch die Having Klausel eingeleitet werden.</p>
</p>
<p>Der Beitrag <a href="https://www.hilfreiche-tools.de/sql-befehle-select/">SQL-Befehle SELECT</a> erschien zuerst auf <a href="https://www.hilfreiche-tools.de">Hilfreiche Tools</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL-Datenbank Befehle</title>
		<link>https://www.hilfreiche-tools.de/datenbank-befehle/</link>
		
		<dc:creator><![CDATA[kirchner]]></dc:creator>
		<pubDate>Thu, 28 Feb 2019 19:50:15 +0000</pubDate>
				<category><![CDATA[SQL-Befehle]]></category>
		<guid isPermaLink="false">https://www.hilfreiche-tools.de/datenbank-befehle/</guid>

					<description><![CDATA[<p>Erstellen Sie mit Hilfe unserer Tools im Handumdrehnen diverse SQL-Befehle. Tools zum leeren, löschen, umbenennen, reperieren oder umbenenne einer Tabelle.</p>
<p>Der Beitrag <a href="https://www.hilfreiche-tools.de/datenbank-befehle/">SQL-Datenbank Befehle</a> erschien zuerst auf <a href="https://www.hilfreiche-tools.de">Hilfreiche Tools</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Erstellen Sie mit Hilfe unserer Tools im Handumdrehnen diverse SQL-Befehle. Tools zum leeren, löschen, umbenennen, reperieren oder umbenenne einer Tabelle.</p>
<form method="POST" id="tool_frame" name="tool_frame" enctype="multipart/form-data"><p>Verschiedene Befehle zur Datenbankverwaltung</p>
<p><b>Wie leert man eine Tabelle?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Name der Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s1[tabelle]" value="tabellenname"></td>
	</tr>
</table>
<p><b>Wie löscht man eine Tabelle?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Name der Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s2[tabelle]" value="tabellenname"></td>
	</tr>
</table>
<p><b>Wie benennt man eine Tabelle um?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Alter Name der Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s3[tabelle1]" value="tabellenname"></td>
	</tr>
	<tr>
		<td><b>Neuer Name der Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s3[tabelle2]" value="tabellenname"></td>
	</tr>
</table>
<p><b>Wie überprüft man eine Tabelle?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Name der Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s4[tabelle]" value="tabellenname"></td>
	</tr>
</table>
<p><b>Wie repariert man eine Tabelle?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Name der Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s5[tabelle]" value="tabellenname"></td>
	</tr>
</table>
<p><b>Wie optimiert man eine Tabelle?</b></p>
<table cellspacing="1" cellpadding="1" width="90%">
	<tr>
		<td><b>Name der Tabelle</b></td>
		<td>&nbsp;</td>
		<td align="right"><input size="20" name="s6[tabelle]" value="tabellenname"></td>
	</tr>
</table>
<p id="linie"></p>
<div style="float:left; width: 100%; height: auto;"></div><DIV id="ergebnis_box" ></DIV><div style="float:left; width: 100%; height: auto;"></div><div style="float:left; width: 100%; height: auto; margin-top:10px;"><input class="user_click" id="button_generieren" type="button" value="Berechnen"><input type="hidden" id="tool_id" name="tool" value="sql_db"><input type="hidden" name="action" value="opentool_script"><input type="hidden" name="aktion" value="go"><input type="hidden" id="out" value="2"></form></div>
<h2>Stell uns deine Frage. Wir antworten dir schnellstens...</h2><form method="POST" id="frage_frame" name="frage_frame"><input style="float: left; width: 59%; display: inline" type="text" name="hdfrage" placeholder="Stell uns Deine Frage..."> <input style="float: left; width: 40%; display: inline" type="text" name="hdmail" placeholder="Deine E-Mail-Adresse"><button type="button" id="hdbutton" class="fragen_click">Jetzt Frage an Experten abschicken</button><input type="hidden" id="tool_id" name="tool" value="2599"><input type="hidden" name="action" value="fragen_script"></form><div></div><div id="frageresponse"></div>
<h2>H&auml;ufig gestellte Fragen</h2><p><a href="#kann-man-datenbankbefehle-rueckgangig-machen?">Kann man Datenbankbefehle rückgangig machen?</a></p><p><a href="#was-ist-eigentlich-eine-datenbank?">Was ist eigentlich eine Datenbank?</a></p><p><a href="#was-sind-datenbankbefehle?">Was sind Datenbankbefehle?</a></p><p><a href="#welche-datenbankbefehle-gibt-es?">Welche Datenbankbefehle gibt es?</a></p><p><a href="#wie-kann-man-datenbankbefehle-ausfuehren?">Wie kann man Datenbankbefehle ausführen?</a></p><h2>H&auml;ufig gestellte Fragen</h2><h3 id="kann-man-datenbankbefehle-rueckgangig-machen?">Kann man Datenbankbefehle rückgangig machen?</h3><p><p>
	Bei Datenbanken gibt es zwei verschiedene Modi, um Datenbankbefehle abzusetzen. Der einfache Modus ist das &quot;Autocommit&quot;, in dem jeder Befehl einzeln und endg&uuml;ltig ausgef&uuml;hrt wird. Befehle, die in dem Modus &quot;Autocommit&quot; erteilt werden, k&ouml;nnen nicht r&uuml;ckg&auml;ngig gemacht werden.<br />
	Bei komplexen Aufgaben gibt es Transaktionen, die Datenbankbefehle klammern, d.h. nur gemeinsam oder gar nicht durchf&uuml;hren. Dies ist zum Beispiel erforderlich, wenn bei Banken eine &Uuml;berweisung von einem Konto auf ein anderes durchgef&uuml;hrt werden soll. Dann wird die Abbuchung bei dem einen Konto mit der Gutschrift auf dem anderen Konto als eine Transaktion angelegt. Solche Transaktionen erkl&auml;rt man dann mit dem Befehl &quot;Commit&quot; als abgeschlossen und durchgef&uuml;hrt oder sie k&ouml;nnen durch den Befehl &quot;Rollback&quot; r&uuml;ckg&auml;ngig gemacht werden. Dadurch wird sichergestellt, da&szlig; nicht die Abbuchung in der Datenbank gespeichert ist, ohne da&szlig; auch die Gutschrift erfolgt ist.</p>
</p><h3 id="was-ist-eigentlich-eine-datenbank?">Was ist eigentlich eine Datenbank?</h3><p><p>
	Eine Datenbank ist eine Speicherung von Daten in einer bestimmten Struktur. Sie arbeitet zusammen mit einer Software, dem sogenannten Datenbankmanagementsystem. Gemeinsam nennt man die Datenbank und das zugeh&ouml;rige Programmsystem ein Datenbanksystem.<br />
	Es gibt verschiedene Strukturen von Datenbanken, &auml;ltere waren z.B. hierarchische Datenbanksysteme, in denen die Daten in einer Hierarchie angeordnet waren in sogenannten Vater-Sohn-Beziehungen. Jeder Sohn hatte genau einen Vater, jeder Vater konnte beliebig viele S&ouml;hne haben. Soche Beziehungen hei&szlig;en 1:n Beziehung. In einer hierarchischen Datenbank gab es nur solche 1:n Beziehungen.<br />
	Dann wurden relationale Datenbanksysteme entwickelt. Bei ihnen werden alle Daten grunds&auml;tzlich in Form von Tabellen gespeichert. Dabei k&ouml;nnen au&szlig;er 1:n Beziehungen zwischen den Daten auch sogenannte m:n Beziehungen abgebildet werden. Ein Beispiel f&uuml;r solche Beziehungen sind Sch&uuml;ler und Kurse. Jeder Sch&uuml;ler kann mehrere Kurse belegen, aber in jedem Kurs sind auch viele Sch&uuml;ler. Dies war in einer hierarchischen Datenbank nur durch Mehrfachspeicherung m&ouml;glich und f&uuml;hrte zu Schwierigkeiten, wenn ein Sch&uuml;ler einen weiteren Kurs belegte, weil an mindestens zwei Stellen &Auml;nderungen an der Datenbank vorgenommen werden mu&szlig;ten. Bei relationalen Datenbanken werden diese Beziehungen in einer eigenen Tabelle abgelegt und nur in dieser mu&szlig; die neue Beziehung eingetragen werden. Damit sind alle Beziehungen zwischen Daten direkt und einfach darstellbar.<br />
	Eine noch sp&auml;tere Entwicklung ist die obektorientierte Datenbank, bei der zus&auml;tzlich zu den Daten und ihren Beziehungen noch Methoden definiert werden k&ouml;nnen. Wird dort beispielsweise ein Kreis gespeichert mit Mittelpunkt und Radius, so kann als Methode die Umfangberechnung definiert werden.</p>
</p><h3 id="was-sind-datenbankbefehle?">Was sind Datenbankbefehle?</h3><p><p>
	Datenbankbefehle werden unterschieden in Auswahl- und Manipulationsbefehle. Der Auswahlbefehl dient dem lesenden Zugriff auf die Daten, w&auml;hrend die Manipulationsbefehle &Auml;nderungen am Datenbestand bewirken.</p>
</p><h3 id="welche-datenbankbefehle-gibt-es?">Welche Datenbankbefehle gibt es?</h3><p><p>
	Bei relationalen Datenbanksystemen gibt es vier Befehle: den <a href="https://www.hilfreiche-tools.de/sql-befehle-insert/" title="Insert-Befehl">Insert-Befehl</a> f&uuml;r das Hinzuf&uuml;gen von Datenzeilen in die Tabellen, den <a href="https://www.hilfreiche-tools.de/sql-befehle-delete/" title="Delete Befehl">Delete-Befehl</a> f&uuml;r das L&ouml;schen einer Datenzeile, den <a href="https://www.hilfreiche-tools.de/sql-befehle-update/" title="Update-Befehl">Update-Befehl</a> f&uuml;r das &Auml;ndern einer Spalte in einer existierenden Tabellenzeile und den <a href="https://www.hilfreiche-tools.de/sql-befehle-select/" title="Select-Befehl">Select-Befehl</a> f&uuml;r die Abfrage einer Tabellenzeile.<br />
	Alle diese Befehle au&szlig;er dem Insert-Befehl enthalten &uuml;blicherweise als Teil des Befehls die Where-Klausel, die aus der Tabelle die gew&uuml;nschten Zeilen ausw&auml;hlt.</p>
</p><h3 id="wie-kann-man-datenbankbefehle-ausfuehren?">Wie kann man Datenbankbefehle ausführen?</h3><p><p>
	Wenn das Datenbankmanagementsystem aktiviert ist und man sich in einer interaktiven Umgebung der Datenbank befindet, ist in den meisten F&auml;llen die Voreinstellung &quot;Autocommit&quot;. Das bedeutet, da&szlig; jeder Befehl unabh&auml;ngig von allen anderen direkt ausgef&uuml;hrt wird, wenn die Enter-Taste gedr&uuml;ckt wird.<br />
	Diese Voreinstellung kann aber auch ge&auml;ndert werden. Dann wird zwar auch jeder Befehl einzeln ausgef&uuml;hrt, aber der endg&uuml;ltige Eintrag in der Datenbank erfolgt erst, wenn ein abschlie&szlig;ender Commit-Befehl gegeben wird. Dies kann bei Datenbanksystemen, bei denen mehrere Benutzer gleichzeitig zugreifen k&ouml;nnen, zu Verz&ouml;gerungen f&uuml;hren. Andere Benutzer d&uuml;rfen ge&auml;nderte Daten erst nach der endg&uuml;ltigen Best&auml;tigung zu sehen bekommen. Au&szlig;erdem d&uuml;rfen sie nat&uuml;rlich nicht gleichzeitig die Daten &auml;ndern. Deshalb werden solche Transaktionen, die erst durch eine explizite Best&auml;tigung beendet werden, in Systemen mit mehreren Benutzer meist nicht interaktiv durchgef&uuml;hrt.<br />
	Datenbankbefehle k&ouml;nnen deshalb auch in Programmiersprachen oder Programmierumgebungen eingebettet werden. Dann ist eine weniger st&ouml;rende Abarbeitung m&ouml;glich, die nicht nur schneller durchgef&uuml;hrt werden kann, sondern auch nachts, wenn der interaktive Zugriff auf Daten selten oder gar nicht stattfindet.</p>
</p>
<p>Der Beitrag <a href="https://www.hilfreiche-tools.de/datenbank-befehle/">SQL-Datenbank Befehle</a> erschien zuerst auf <a href="https://www.hilfreiche-tools.de">Hilfreiche Tools</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
