Guten zusammen
Ich habe öfter mal gesehen, das einige Probleme damit haben, Datenbank tabellen zu erstellen.
Daher dachte ich mir, das ich es euch mal Zeige, wie ihr eine Tabelle vom Script aus erstellen könnt und wie ihr auch Felder hinzufügen könnt.
Bevor ihr was anfangen könnt, möchte ich euch auf das Thema hinweisen,
da ich nicht alles neu erklären möchte, wenn es hier schon gemacht wurde.
[ SCRIPTING ] MySQL (Installation, Zugriff, Einstellungen, Login & Register Beispiel)
Wenn ihr das soweit fertig habt, dann können wir anfangen.
Allerdings solltet ihr nicht die Tabelle erstellen wie es da beschrieben wird, sondern
den pawnteil machen.
Fangen wir an.
Um eine Tabelle zu erstellen fragen wir vorher nach ob es die gibt.
Dies Passiert bei meinen Beispielen gleich wenn er den query aufruft.
mysql_query("CREATE TABLE IF NOT EXISTS `accounts` ()");
Hier fragen wir ab ob es die Tabelle `accounts` gibt.
wenn es die gibt macht er nicht weiter.
Gibt es die aber nicht erstellt er die in den fall jetzt ohne Spalten.
um Spalten hinzuzufügen, solltet ihr das beachten
int = Integer (also eine Zahl)
varchar = string (also eine Zeichenkette, wie z.b ein Name oder ein Passwort)
float = ein Float wert (also eine zahl mit nachkomma stellen)
Denn diese werte sind später für die Tabelle wichtig.
Wir möchten jetzt da in die Tabelle mal den wert `id` eintragen
Dies ist ganz einfach
wir nehmen den Code (query) und geben da den wert ein und dahinter, was es für ein Typ ist.
Die Typen sind im Zitat makiert!
mysql_query("CREATE TABLE IF NOT EXISTS `accounts` (`id` int(11) AUTO_INCREMENT)");
So hier sagen wir, das er die Tabelle `accounts` erstellen soll mit der Spalte `id`
Dies kann er auch schon aber wenn ihr dann auf die Tabelle zugreift gibt es eine Fehlermeldung, das kein PRIMARY KEY
angegeben wurde.
Was bewirkt der Primary Key?
der Primary key sagt, das es keine 0 Werte geben soll.
Dies funktioniert nur einmal in einer Tabelle, daher nehmen wir den wert id,
wenn ihr da ein Eintrag macht, werdet ihr sehen, das bei id nie eine 0 vorhanden ist.
also muss der query jetzt so aussehen
mysql_query("CREATE TABLE IF NOT EXISTS `accounts` (`id` int(11) AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
jetzt haben wir den Primary Key auf den wert id gesetzt.
aber damit das auch richtig funktioniert, solltet ihr die alte Tabelle wieder löschen und dann den query neu ausführen lassen.
Das
ZitatENGINE=MyISAM DEFAULT CHARSET=latin1;
Sorgt dafür, das wenn ihr die tabelle leert, das der Auto_Increment wieder auf 0 gesetzt wird, sobald ihr die Tabelle leert
man kann es auch weglassen, aber dann werden die Auto_Increment (in den fall die Spalte ID) weitergehen
wenn ihr das gemacht habt, könnt ihr die Tabelle öffnen ohne ein Fehler zu bekommen.
Aber jetzt braucht ihr den wert `Name` in der Tabelle.
ich mach es mir da einfach, es gibt die Funktion
ALTER TABLE
hier wird bewirkt, das er eine Tabelle prüft, und fragt ob eine Spalte vorhanden ist
ist sie da macht er nichts ist sie aber nicht vorhanden, dann Trägt er sie ein, ohne das ihr was machen müsst mit
Navicat oder dergleichen.
Es ist praktisch aber sie Funktion ist noch mehr
hier mal ein kleines Muster
mysql_query("ALTER TABLE `accounts` ADD `Name` varchar(64)");
So hier lassen wir das machen:
Tabelle accounts wird nach der Spalte name durchsucht
Spalte name nicht gefunden
Spalte Name wird erstellt.
So ihr seht, das er die Spalte Name eingefügt hat. so wie wir es wollten.
aber wofür steht die 64 in den Klammern?
ganz einfach
64 ist die Länge und da in Pawn ein name 64 Zeichen hat, setzen wir den stringwert auf 64
Bei Passwörtern solltet ihr eine 128 nehmen
So bei Floats sollte es so sein:
mysql_query("ALTER TABLE `accounts` ADD `Health` float(20)");
Hier machen wir das selbe nur mit Float werten wie z.B. Leben
ich habe da jetzt 20 genommen, da es ein Optimaler wert ist für floats
Bei Intgern ist es auch nichts anderes aber trotzdem tu ich jetzt dazu auch noch ein Muster rein
mysql_query("ALTER TABLE `accounts` ADD `Skin` int(11)");
Erklären brauch ich ja nicht mehr was er da macht
diesmal haben wir ein Intgerwert gesetzt für Skin
der ist 11 Zeichen lang also könnt ihr das ruhig so lassen.
So bis hierhin war es das erstmal von mir aus wie man Tabellen vom Script aus erstellt, und hoffe mal das ihr
damit klarkommen werdet.
Bei Fragen steh ich in den Theard gerne zur verfügung