aktuelle.kurse/oldies/m133/Modul_Unterlagen_133_VOR/01-Modulinhalte/02 Grundlagen/03 PHP-einfach/einf_mysql_tabellen_spalten.php.htm
Müller Harald 3fdacd20c0 muh
2022-07-28 09:14:44 +02:00

241 lines
14 KiB
HTML

<html>
<head>
<title>PHP-Einfach.de - MySQL Einf&uuml;hrung - Tabellen und Spalten</title>
<meta name="Author" content="Andavos">
<meta name="Publisher" content="Andavos">
<meta name="Copyright" content="Andavos">
<link rel="stylesheet" href="css/main.css" tppabs="http://www.php-einfach.de/offline/css/main.css" type="text/css">
</head>
<body text="#000000" bgcolor="#DDDDDD" link="#004A95" alink="#004A95" vlink="#525252">
<table align="center" height="100%" width="100%" cellspacing="0" border="0" cellpadding="0">
<tr>
<td align="center" valign="middle" height="100%" width="100%">
<table height="100" width="750" cellspacing="0" border="0" cellpadding="0">
<tr>
<td height="100" bgcolor="#FFE09F" width="750"><img src="grafiken/banner_top.jpg" tppabs="http://www.php-einfach.de/offline/grafiken/banner_top.jpg" width="750" height="100" border="0" alt="">
<a name="oben"></a></td>
</tr>
</table>
<table height="650" width="750" cellspacing="0" border="0" cellpadding="0">
<tr>
<td valign="top" bgcolor="#FFE09F" width="160">
<table width="160" cellspacing="0" border="0" cellpadding="0">
<tr>
<td height="100" width="5"></td>
<td class="black" height="100" width="150">
<br><b><center><img src="grafiken/side_navigation.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_navigation.gif" width="150" height="25" border="0" alt=""></center></b>
<a target="_blank" class="blue" href="http://www.php-einfach.de/index.php"><b>&raquo;</b> Startseite</a><br>
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_news.php"><b>&raquo;</b> News&uuml;bersicht</a><br>
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_email.php"><b>&raquo;</b> Kontakt</a><br>
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_impressum.php"><b>&raquo;</b> Impressum</a><br><br>
<center><img src="grafiken/side_community.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_community.gif" width="150" height="25" border="0" alt=""></center>
<a target="_blank" class="blue" target="_blank" href="http://forum.php-einfach.de/"><b>&raquo;</b> Forum</a><br>
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_gaestebuch.php"><b>&raquo;</b> G&auml;stebuch</a><br><br>
<center><img src="grafiken/side_tutorials.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_tutorials.gif" width="150" height="25" border="0" alt=""></center>
<a class="blue" href="einf_php.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php.php"><b>&raquo;</b> Einf&uuml;hrung PHP</a><br>
<a class="blue" href="einf_mysql.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql.php"><b>&raquo;</b> Einf&uuml;hrung MySQL</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_mysql_anfang.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_anfang.php"><b>&raquo;</b> Anfang</a><br>
<div style="position: relative; left:15;" ><a class="blue" href="einf_mysql_tabellen_spalten.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_tabellen_spalten.php"><b>&raquo;</b> Tabellen & Spalten</a><br></div>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_mysql_tabellen_fuellen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_tabellen_fuellen.php"><b>&raquo;</b> Tabellen f&uuml;llen</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_mysql_verbindung_aufbauen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_verbindung_aufbauen.php"><b>&raquo;</b> Verbin. aufbauen</a> <br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_mysql_einfache_abfrage.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_einfache_abfrage.php"><b>&raquo;</b> Daten ausgeben</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_mysql_weitere_abfragen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_weitere_abfragen.php"><b>&raquo;</b> Weitere Abfragen</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_mysql_daten_schreiben.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_daten_schreiben.php"><b>&raquo;</b> Daten hinzuf&uuml;gen</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_mysql_daten_aendern.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_daten_aendern.php"><b>&raquo;</b> Daten &auml;ndern</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_mysql_daten_loeschen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_daten_loeschen.php"><b>&raquo;</b> Daten l&ouml;schen</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_mysql_anzahl_zeilen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_anzahl_zeilen.php"><b>&raquo;</b> Anzahl d. Zeilen</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_mysql_verbindung_beenden.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_verbindung_beenden.php"><b>&raquo;</b> Verbin. beenden</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_mysql_error_handling.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_error_handling.php"><b>&raquo;</b> MySQL-Fehler</a><br>
<br>
<br>
<center>
<a target="_blank" href="http://www.php-einfach.de/nav_verlinkung.php"><img src="grafiken/php-einfach.gif" tppabs="http://www.php-einfach.de/offline/grafiken/php-einfach.gif" width="88" height="31" border="0" alt="PHP-Einfach.de"></a><br><br>
<a target="_blank" href="http://www.digicount.de/"><b>Counterdienst:</b></a>
<a target="_blank" href="http://www.php-einfach.de/nav_digicount.php"><div>
<img src="grafiken/digicount_livedemo.jpg" tppabs="http://www.php-einfach.de/offline/grafiken/digicount_livedemo.jpg" border="0" alt="Digicount.de"><br>
<small>Unser werbefreier Counter- und Statistikdienst</small></div>
</a>
</center>
</td>
<td height="100" width="5"></td>
</tr>
</table>
</td>
<td valign="top" bgcolor="#FFFFFF" width="430">
<table width="430" cellspacing="0" border="0" cellpadding="0">
<tr>
<td height="100" width="10"></td>
<td valign="top" class="black" height="100" width="410">
<br>
<h4>Tabellen und Spalten</h4>
Jetzt wollen wir eine Datenbank erstellen mit unserer ersten Tabellen. Eine M&ouml;glichkeit w&auml;re jetzt, SQL-Befehle zu benutzen, aber das ist f&uuml;r den Anfang zu umst&auml;ndlich. <br>
Aber zum Gl&uuml;ck war im XAMPP ein netter PHP-Script names <a target="_blank" href="http://phpmyadmin.sourceforge.net/">phpMyAdmin</a> enthalten. <br>
Man findet den Script unter <a target="_blank" href="http://localhost/phpmyadmin">http://localhost/phpmyadmin/</a>.<br>
Mit diesem Script k&ouml;nnen wir Datenbank erstellen, Tabellen erstellen, bearbeiten, l&ouml;schen etc. Bei den meisten Webspaceangeboten mit MySQL wurde phpMyAdmin schon installiert.<br><br>
Wenn wir phpMyAdmin jetzt aufrufen, m&uuml;ssen wir nichts mehr einstellen.<br><br>
<b>Wichtig:</b> Es gibt phpMyAdmin in vielen verschiedenen Versionen, die sich Teilweise im Aussehen stark unterscheiden.<br>
Dies ist aber weiter nicht schlimm, evt. sind bei euch keine Symbole sondern normaler Text und evt. ist dies auch noch auf Englisch, aber daf&uuml;r reicht einfaches Schulenglisch.<br><br>
Direkt auch der Startseite finden wir ein Formular: <i>Neue Datenbank anlegen</i><br>
In diesem Feld haben wir die M&ouml;glichkeit, eine neue Datenbank anzulegen.<br>
Bei den meisten Webspace angeboten haben wir diese M&ouml;glichkeit nicht, denn dort wurde die Datenbank bereits f&uuml;r uns angelegt.<br>
Aber auf dem eigenem PC legen wir erstmal eine neue Datenbank an. Wir tippen in das Feld den Namen der neuen Datenbank ein, z.B. <b>homepage</b>.<br>
Das Feld <b>Kollation</b> m&uuml;ssen wir nicht beachten, also lassen wir es unver&auml;ndert.<br>
Anschlie&szlig;end klicken wir auf <b>Anlegen</b>.<br><br>
Haben wir das gemacht, ist im linken Auswahlmen&uuml; ein neuer Eintrag mit dem Namen unserer Datenbank.<br>
Die restlichen Eintr&auml;gen sollten wir nicht ver&auml;ndern, da diese teilweise Daten &uuml;ber den Server enthalten.<br><br>
Als n&auml;chstes w&auml;hlen wir Links den Eintrag <i>homepage</i> aus, denn das ist unsere Datenbank.<br><br>
Wenn wir dies gemacht haben, sehen wir erneut ein Formular: <i>Neue Tabelle in Datenbank hompage erstellen</i><br>
Darunter sind 2 Eingabefelder, unter anderem wie die neue Tabelle hei&szlig;en soll (<i>Name</i>) und wie viele Spalte sie enthalten soll (<i>Felder</i>).<br><br>
Bei <i>Name</i> geben wir jetzt z.B. <b>links</b> an und bei <i>Felder</i> <b>5</b><br><br>
Dann noch auf <b>Ok</b> klicken und schon wurde eine neue Tabelle erstellt.<br><br>
Jetzt wurde wieder ein Formular geladen, wo wir den Spalten noch Namen und Eigenschaften geben m&uuml;ssen.<br>
Unter <b>Feld</b> geben wir den Namen der Spalte an. Bei <b>Typ</b> geben wir an, was f&uuml;r ein Feld das ist, z.B. ein Feld das nur Zahlen enth&auml;lt, oder Text. <br>
Bei <b>L&auml;nge/Set</b> geben wir an, wieviele Zeichen in das Feld max. gespeichert werden.<br>
Das Feld <b>Kollation</b> ist erstmal unwichtig und kann ausgelassen werden.<br><br>
Mit <b>Attribute</b> bestimmen wir die Eigenschaften der Spalte, <b>Standard</b> dient dazu, welcher Wert in die Spalte eingetragen wird, wenn die Spalte nicht ausgef&uuml;llt wird. <b>Extra</b> ist wieder eine Eigenschaft. Das Symbol mit dem Schl&uuml;ssel <img src="grafiken/mysql/phpmyadmin_primary.png" tppabs="http://www.php-einfach.de/offline/grafiken/mysql/phpmyadmin_primary.png" width="16" height="16" border="0" alt="Prim&auml;rschl&uuml;ssel"> steht f&uuml;r Prim&auml;rschl&uuml;ssel. Dies bedeutet soviel wie, dass der Wert in der Spalte eindeutig ist, und in keiner anderen Spalte stehen darf/kann.<br><br>
Als erstes brauchen wir die Spalte: <b>id</b>.<br>
Fast jede Tabelle hat diese Spalte, denn so kann man jede Zeile sp&auml;ter identifizieren/ansprechen.<br><br>
F&uuml;r diese Spalte benutzen wir folgende Werte (von links nach rechts):<br>
id, int, 10, unsigned, not null, , auto_increment, primary, ,<br><br>
Die Spalte <b>id</b> ist ein Zahlenfeld (<i>int</i>). Diese Zahl darf max. 10 Stellen haben. <i>unsigned</i> bedeutet, dass in dem Feld nur positive Zahlen gespeichert werden.<br>
Mit <b>auto_increment</b> legen wir fest, das der Wert des Feldes jedes mal um 1 erh&ouml;ht wird, wenn ein neuer Eintrag hinzukommt.<br>
Au&szlig;erdem bestimmen wir, dass dieses Feld der <b>Prim&auml;rschl&uuml;ssel</b> ist. Damit k&ouml;nnen wir jede Zeile einzeln ansprechen.<br><br>
Die n&auml;chsten Felder stehen so aus: <br>
url, varchar, 150, not null,<br>
urlname, varchar, 150, not null, <br>
name, varchar, 150, not null, <br>
beschreibung, text, , not null, <br> <br>
<b>Erkl&auml;rung:</b><br>
<i>varchar</i> ist ein Bezeichnungsfeld. Diese Felden d&uuml;rfen max. <b>255</b> Zeichen haben. Bei <i>Length/Set</i> geben wir an, wie viele Zeichen die einzelnen Spalten haben d&uuml;rfen. Bei der Spalte <b>url</b> z.B. nur <b>150</b>.<br><br>
<i>text</i> ist ein Textfeld, dies kann mehr als 255 Zeichen behalten, bis zu 65535 Zeichen. Falls man einen noch l&auml;ngeren Text hat, sollte man <i>longtext</i> benutzen.<br><br>
Dieses <b>not null</b> bestimmt, das der Wert nicht <i>NULL</i> sein darf. Dies ist ein spezieller Wert der Informatik, der praktisch ein '<i>nichts</i>' darstellt, auch als <i>NULL-Byte</i> genannt.
Wenn man jetzt z.B. keinen Namen angibt, so bleibt das Feld in der Datenbank leer.<br>
Ein leeres Feld ist aber etwas anderes als <i>NULL</i>.<br><br>
Die unterschiedlichen Spaltentypen gibt man an, damit man Platz spart, und damit die Ausgabe schneller ist. Deswegen sollte man f&uuml;r das <i>id</i> Feld z.B. keinen <i>longtext</i> als Type w&auml;hlen.<br><br>
<a target="_blank" href="grafiken/mysql/mysql_links_tabelle.gif" tppabs="http://www.php-einfach.de/offline/grafiken/mysql/mysql_links_tabelle.gif">So sieht es fertig aus (Bild)</a><br><br>
Danach auf <b>Speichern</b> klicken und schon ist unsere 1. Tabelle fertig.<br><br>
Haben wir die Datenbank im linkem Fenster ausge&auml;hlt, sehen wir die Tabelle <b>links</b>.<br>
D&uuml;rcken wir jetzt darauf, &ouml;ffnet sich im rechtem Fenster eine Seite, wo wir die verschiedenen Spalten mit deren Eigenschaften sehen k&ouml;nnen.<br>
Falls wir etwas an einer Spalte &auml;ndern m&ouml;chten, klicken wir auf <i>&Auml;ndern</i> bzw. auf den Bleistift <img src="grafiken/mysql/phpmyadmin_edit.png" tppabs="http://www.php-einfach.de/offline/grafiken/mysql/phpmyadmin_edit.png" width="16" height="16" border="0" alt="">, und schon haben wir wieder ein Formular wo wir die Werte anpassen k&ouml;nnen.<br><br>
Falls wir Spalten vergessen haben, k&ouml;nnen wir unter <i>Felder hinzuf&uuml;gen</i> neue Spalten anlegen. Dort k&ouml;nnen wir auch bestimmen, wo diese angef&uuml;gt werden, z.B. <i>An das Ende der Tabelle</i>.<br>
Klickt man dort auf <i>OK</i>, bekommen wir wieder ein Formular, wo wir den Spalten Namen und Typen zuweisen m&uuml;ssen.<br> <br>
Gut jetzt haben wir einen Tabelle, aber wie kommen dort jetzt Daten hinnein? <br>
Dies erkl&auml;rt euch <a href="einf_mysql_tabellen_fuellen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_tabellen_fuellen.php">Tabellen f&uuml;llen mit phpMyadmin</a><br>
<br>
<a href="http://www.php-einfach.de/nav_impressum.php">Autor Andavos</a>
<div align="center"><a href="#oben">Nach oben</a></div>
</td>
<td height="100" width="10"></td>
</tr>
</table>
</td>
<td valign="top" bgcolor="#FFE09F" width="160">
<table width="160" cellspacing="0" border="0" cellpadding="0">
<tr>
<td height="100" width="5"></td>
<td valign="top" class="black2" height="100" width="150">
<br><b><center><img src="grafiken/side_news.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_news.gif" width="150" height="25" border="0" alt=""></center></b>
<a target="_blank" href="http://www.php-einfach.de/nav_news.php">News</a>
<br><br>
<b><center><img src="grafiken/side_forum.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_forum.gif" width="150" height="25" border="0" alt=""></center></b>
<a target="_blank" href="http://forum.php-einfach.de/">Forum</a>
<br><br>
<b><center><img src="grafiken/side_newsletter.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_newsletter.gif" width="150" height="25" border="0" alt="Newsletter"></center></b>
<form target="_blank" method="post" action="http://www.php-einfach.de/clanletter/save.php">
<br> <br>
<div align="center">&copy; PHP-Einfach.de 2003 - 2007 </div>
</td>
<td height="100" width="5"></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>