Seite 1 von 2
mysql: Infos. speichern
Verfasst: Fr Mai 11, 2012 7:44 pm
von Kmitska
Hallo Leute,
versuche mysql anzuschauen bzw. arbeite mit Datenbanken.
Habe mir so eben dieses Beispiel im Wiki angeschaut:
http://www.proggen.org/doku.php?id=php: ... nsert-into
Aber ich verstehe das nicht...
Ich verwende XAMPP auf Windows.
Unter
localhost/phpmyadmin habe ich einen Datenbank erstellt ("kmitska").
Da gibt es nun eine Option, wo ich eine "Tabelle" einrichten kann, brauch ich das unbedingt?
Kann mir jemand sagen wie ich nun vorgehe?
Danke im Voraus.
Re: mysql: Infos. speichern
Verfasst: Fr Mai 11, 2012 7:54 pm
von cloidnerux
Aber ich verstehe das nicht...
Ich verwende XAMPP auf Windows.
Unter localhost/phpmyadmin habe ich einen Datenbank erstellt ("kmitska").
Da gibt es nun eine Option, wo ich eine "Tabelle" einrichten kann, brauch ich das unbedingt?
Weil du das Prinzip von Datenbanken nicht verstanden hast.
Eine Datenbank ist nicht einfach nur eine Datei, in der Daten Reinschmeißt, in der Hoffnung das sie irgendwie Organisiert werden.
Klassische SQL Datenbanken Organsieren ihre Daten in Tabellen, jede Reihe steht für einen Datensatz, jeder Spalte für einen Wert.
Folglich kannst du nur Daten in eine Tabelle eintragen, die in einer Datenbank liegt und vorher von dir angelegt werden muss, damit festgelegt ist welcher Datentyp unter welchen Bezeichner in welcher Spalte liegt.
Re: mysql: Infos. speichern
Verfasst: Fr Mai 11, 2012 8:00 pm
von Kmitska
ok...
habe nun eine Tabelle namens "test" eingerichtet.
Nun wie schreibe ich da etwas rein?
Code: Alles auswählen
$eintrag = "INSERT INTO user (spalten) VALUES (werte für spalten)";
$eintragen = mysql_query($eintrag);
vielleicht so?
Code: Alles auswählen
$eintrag = "INSERT INTO kmitska 1 VALUES 5";
$eintragen = mysql_query($eintrag);
Wo wird die Tabelle erwähnt?
Re: mysql: Infos. speichern
Verfasst: Fr Mai 11, 2012 8:25 pm
von cloidnerux
Re: mysql: Infos. speichern
Verfasst: Fr Mai 11, 2012 8:44 pm
von Kmitska
Bekomme keine Tabelle irgendwie... kann mir jemand da helfen?
PHP:
Code: Alles auswählen
$ergebnis = mysql_query("
CREATE TABLE test
(
id INT AUTO_INCREMENT PRIMARY KEY,
Autor VARCHAR(30) NOT NULL,
Titel VARCHAR(50) NOT NULL,
Inhalt Text NOT NULL,
Datum DATETIME NOT NULL)
)
");
Und wie geht das jetzt nochmal mit normalem User Interface bei xampp, da sind diverse merkwürdige Fragen...
Re: mysql: Infos. speichern
Verfasst: Sa Mai 12, 2012 9:38 am
von Xin
Eine Datenbank hat normalerweise kein "User-Interface", weil der Benutzer nichts mit der Datenbank zu tun hat. Du schreibst das User-Interface in dem Du eine Software schreibst, die ihre Daten in der Datenbank ablegt.
Du müsstest ein Programm "mysql" haben, dass ein User-Interface zwischen Dir und dem Datenbankserver darstellt. Hier gibst Du SQL-Befehle direkt in die Konsole ein, mit exit verlässt Du den Client.
Mit "show databases;" kannst Du Dir die Datenbanken anschauen, die der Server verwaltet.
Mit "use <databasename>;" bestimmst Du, welche Datenbank Du verwenden möchtest. Mit "show tables;" kannst Du Dir die Datenbank ansehen.
Nun kannst Du entsprechend "select", "insert into", "delete from" und "update" ausprobieren.
"Create Table" kennst Du ja schon, mit "Drop Table" wirst Du die Tabelle wieder los.
Die Befehle, die Du hier abschickst, kannst Du genauso per PHP und mysql_query() abschicken, bzw. Du kannst hier kontrollieren, ob Deine PHP-Befehle wie erwartet durchgeführt wurden.
Das Query sieht für meinen Geschmack gut aus. Schau mal im mysql-Client nach, ob sie nicht vielleicht schon existiert, dann kann er sie ja nicht erneut anlegen.
Ich würde mir phpMyAdmin installieren. Das ist ebenfalls eine angenehme Oberfläche für mysql.
Re: mysql: Infos. speichern
Verfasst: Sa Mai 12, 2012 12:47 pm
von nouseforname
Wenn er Xampp verwendet ist PhpMyAdmin schon installiert.
Normalerweise ist das Interface unter
http://localhost/phpmyadmin erreichbar.
Aber das ist alles sehr gut erklärt:
http://www.apachefriends.org/de/xampp-windows.html
Re: mysql: Infos. speichern
Verfasst: Sa Mai 12, 2012 2:07 pm
von C@mper
Bitte nicht falsch verstehen ....
Aber bevor erklärt wird, mit welchem query er in die Datenbank schreibt, liest, anschaut, löscht, sollte erst mal erklärt/begriffen werden, WAS eine Datenbank überhaupt ist.
Ich denke mal, hier fehlt das Grundwissen welchen Sinn und Zweck eine DB überhaupt hat und wie diese aufgebaut bzw. organisiert ist, was sind Tabellen, warum Tabellen, wie sind Tabellen aufgebaut etc.
Solange das nicht verstanden ist, wird es zwar irgendwann mal funktionieren, dass er was speichert und evtl. auch wieder ausliest, aber aufgrund des fehlenden "Hintergrundwissens" nie eine Datenbank wirklich sinnvoll "nutzen" (wäre doch schade).
Leider gibt das Wiki hierzu etwas wenig an Infos preis, deshalb würde ich zu einer "abendfüllenden" Lektüre im google raten.
Gut zu lesen z.B. hier->:
http://de.wikipedia.org/wiki/Datenbank
http://www.google.com/url?sa=t&rct=j&q= ... CiSTGiWsOQ
Re: mysql: Infos. speichern
Verfasst: So Mai 13, 2012 6:17 pm
von Kmitska
Hehe, mit UI meine ich phpmyadmin.
Kennt sich da einer aus? (Tabelle erstellen)
Re: mysql: Infos. speichern
Verfasst: So Mai 13, 2012 6:26 pm
von nouseforname
Geht am einfachsten und schnellsten per SQL-Befehl. Direkt in der angewählten Datenbank.
Zb So:
Code: Alles auswählen
CREATE TABLE IF NOT EXISTS `challenges` (
`Id` mediumint(9) NOT NULL auto_increment,
`Uid` varchar(27) NOT NULL default '',
`Name` varchar(100) NOT NULL default '',
`Author` varchar(30) NOT NULL default '',
`Environment` varchar(15) NOT NULL default '',
PRIMARY KEY (`Id`),
UNIQUE KEY `Uid` (`Uid`)
);
Auch möglich per Konsole (Linux):
Code: Alles auswählen
#! /bin/bash
#
# execute like createdb.sh DATABASE
USER=username
PASS=password
HOST=localhost
DB=$1
if [ ! $1 ] ; then
echo ""
echo "Execute like \"createdb.sh DATABASE\""
echo""
exit 1
fi
CREATEDB=`mysql --user="${USER}" --pass="${PASS}" --host="${HOST}" --execute='CREATE DATABASE '${DB}';'`
if [ $CREATEDB ] ; then
echo ""
echo "Database creation failed!!!!"
echo ""
exit 1
fi
IMPORTASECO=`mysql --user=$USER --pass=$PASS --host=$HOST $DB < ./database.sql`
if [ $IMPORTASECO ] || [ $IMPORTEXTRA ] || [ $IMPORTRASP ] ; then
echo ""
echo "Database import failed!!!!"
echo ""
exit 1
fi
echo "Database $1 succesfully created"
exit 0
MySql Code in Extradatei, Datenbankname als Argument übergeben.