BG/BRG Lerchenfeld
Schulbezeichnung
Impressum |  Kontakt |  Neues |  Sitemap

PHP - SQL - Mysql

Verbindung mit Datenbankserver herstellen

$host="Localhost";
$user="..";
$passwort="..";
$dbname="..";
##############Verbindung mit Datenbankserver herstellen######################
$verbindung=mysql_connect($host,$user,$passwort) or die(mysql_error()."Keine Verbindung aufgebaut!");
mysql_select_db($dbname,$verbindung) or die(mysql_error()." Keine Datenbank ausgewählt!");

Datenbank anlegen

$dbname="test_formular";
##############Datenbank anlegen##################
#CREATE DATABASE database_name
$sql1="CREATE DATABASE $dbname";
mysql_query($sql1,$verbindung) or die(mysql_error()."Datenbank $sql1 nicht angelegt!");

Datenbank auswählen

#############Datenbank auswählen####################################
#Use database_name
$sql3="Use $dbname";
mysql_query($sql3,$verbindung) or die(mysql_error()." Tabelle $dbname nicht ausgewählt!");

Tabelle anlegen

#CREATE TABLE table_name(col_name data_type [NOT NULL | NULL][DEFAULT default_value] [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY][COMMENT 'string'])
#http://dev.mysql.com/doc/refman/5.0/en/create-table.html

Ein Beispiel:
$sql4="CREATE TABLE `probe` (
`id` int(11) NOT NULL auto_increment,
`vorname` varchar(255) NOT NULL,
`nachname` varchar(255) NOT NULL,
`passwort` varchar(255) NOT NULL,
`schultyp` varchar(64) NOT NULL,
`wochentage` set('Montag','Dienstag','Mittwoch','Donnerstag','Freitag') NOT NULL,
`geschlecht` enum('m','w') NOT NULL,
`themen` set('XHTML','PHP','MYSQL') NOT NULL,
`kommentar` text NOT NULL,
`datum` date NOT NULL,
PRIMARY KEY (`id`)
)";
mysql_query($sql4,$verbindung) or die(mysql_error()." Tabelle nicht angelegt!");

Datensatz einfügen

#NSERT INTO tbl_name (col1,col2,..) VALUES('15',col1*2,..);
#http://dev.mysql.com/doc/refman/5.0/en/insert.html

Ein Beispiel:
$sql5="INSERT INTO probe (vorname, nachname, passwort, schultyp, wochentage, geschlecht, themen, kommentar, datum) VALUES ('Otto', 'Dolinsek', 'geheim', 'RG', 'Montag,Dienstag', 'm', 'PHP,MYSQL', 'So funktioniert das Einfügen ', now())";
mysql_query($sql5,$verbindung) or die(mysql_error()." Datensatz nicht eingefügt!");

Alle Feldnamen der Tabelle anzeigen

#SHOW COLUMNS from table;

Ein Beispiel:
$sql19="SHOW COLUMNS from probe";
$ergebnis=mysql_query($sql19,$verbindung) or die(mysql_error()." Kann Tabellen nicht zeigen!");
$i=1;
while ($zeile = mysql_fetch_row($ergebnis)) {
echo $i++." $zeile[0]
\n";
}

Datensätze auflisten

#SELECT col_name FROM tbl_name [WHERE where_condition];
#http://dev.mysql.com/doc/refman/5.0/en/select.html

Ein Beispiel:
$sql8="Select * from probe order by nachname asc";
$ergebnis=mysql_query($sql8,$verbindung) or die (mysql_error()." Kann Tabelle der Datenbank nicht lesen!");
$i=0;
while ($zeile = mysql_fetch_assoc($ergebnis)) {
$i++;
echo $id=$zeile['id']." ";
echo $vorname=$zeile['vorname']." ";
echo $nachname=$zeile['nachname']." ";
echo $schultyp=$zeile['schultyp']." ";
echo $wochentage=$zeile['wochentage']." ";
..
echo "
";
}

oder die schnellere Variante
while ($zeile = mysql_fetch_row($ergebnis)) {
for ($k=0;$k<=count($zeile);$k++) echo $zeile[$k];
echo "
";
}

Datensatz löschen

$sql6="Delete From probe Where nachname='Dolinsek'";
mysql_query($sql6,$verbindung) or die(mysql_error()." Datensätze mit where-Klausel nicht gelöscht!");

Datensatz updaten

$sql7="update probe set vorname='Walter', nachname='Kogler', wochentage='Montag,Dienstag,Freitag' where nachname='Klammer'";
mysql_query($sql7,$verbindung) or die(mysql_error()." Datensatz mit where-Klausel nicht upgedatet!");

Tabelle leeren

$sql9="truncate table probe";
mysql_query($sql9,$verbindung) or die(mysql_error()." Tabelle nicht geleert!");

Tabelle löschen

$sql10="drop table probe";
mysql_query($sql10,$verbindung) or die(mysql_error()." Tabelle nicht gelöscht!");

Datenbank löschen

$sql11="drop database formular";
mysql_query($sql11,$verbindung) or die(mysql_error()." Datenbank nicht gelöscht!");

Alle Datenbanken anzeigen

$sql12="show databases [LIKE ‘pattern’]"; # LIKE ‘English_%’";
$ergebnis=mysql_query($sql12,$verbindung) or die(mysql_error()." Datenbanken können nicht angezeigt werden!");
$i=1;
while ($zeile = mysql_fetch_row($ergebnis)) {
echo $i++.". $zeile[0]
\n";
}

Spalten in einer Tabelle hinzufügen

#ALTER TABLE tabellen_name ADD spalten_name;
$sql13="ALTER TABLE probe ADD telefon varchar(9) NOT NULL";
mysql_query($sql13,$verbindung) or die(mysql_error()." Spalte nicht hinzugefügt!");

Bezeichnung einer Spalte ändern

#ALTER TABLE tabellen_name CHANGE spalten_name_alt spalten_name_neu;
$sql16="ALTER TABLE probe CHANGE vorname Vorname VARCHAR(30)";
#Ändert den "vorname" in den "Vorname" mit dem Datentyp VARCHAR(30).
mysql_query($sql16,$verbindung) or die(mysql_error()." Bezeichnung der Spalte nicht geändert!");

Datentyp einer Spalte ändern

#ALTER TABLE tabellen_name MODIFY spalten_name datentyp;
$sql15="ALTER TABLE probe MODIFY Vorname VARCHAR(64)";
mysql_query($sql15,$verbindung) or die(mysql_error()." Datentyp der Spalte nicht verändert!");

Namen einer Tabelle ändern

#ALTER TABLE tabellen_name_alt RENAME tabellen_name_neu;
$sql17="ALTER TABLE probe RENAME versuch";
mysql_query($sql17,$verbindung) or die(mysql_error()." Tabellenname nicht geändert!");

Alle Tabellen der Datenbank zeigen

#SHOW TABLES FROM datenbankName
$sql18="SHOW TABLES FROM test_fahrkurs";
$ergebnis=mysql_query($sql18,$verbindung) or die(mysql_error()." Kann Tabellen nicht zeigen!");
$i=1;
while ($zeile = mysql_fetch_row($ergebnis)) {
echo $i++.". $zeile[0]
\n";
}

Spalten in einer Tabelle löschen

#ALTER TABLE tabellen_name DROP spalten_name;
$sql14="ALTER TABLE probe DROP telefon";
mysql_query($sql14,$verbindung) or die(mysql_error()." Spalte nicht gelöscht!");

Anzahl der Datensätze bestimmen

$sql="Select COUNT(*) from bilder where id=‘$id’";
$ergebnis=mysql_query($sql,$verbindung) or die (mysql_error()." Kann Tabelle der Datenbank nicht lesen!");
$max = mysql_fetch_row($ergebnis);
$anzahl=$max[0];#Anzahl der Datensätze

Zeichen ersetzen

#UPDATE tabellen_name SET feldname=REPLACE(feldname,"Zeichen","Ersatzzeichen")
Beispiel:
UPDATE showdir SET link=REPLACE(link,"&","&")
#Die Zeichenkette & wird ersetzt duch &!

Doppelte Datensätze entfernen

ALTER IGNORE TABLE ‘klasse_4’ ADD UNIQUE ‘keyname’ ( ‘Englisch’ , ‘Lektion’ , ‘Typ’ )
Beispiel: Löscht alle nächsten Einträge, die in den Feldern (Englisch, Lektion und Typ) übereinstimmen!

Datensätze suchen

SELECT * FROM html WHERE content LIKE '%href="%'
AND content NOT LIKE '%href="/%'
AND content NOT LIKE '%href="mailto%'
AND content NOT LIKE '%href="http%'
Beispiel: Findet Datensätze mit dem Link : href="index.php" oder href="berichte/text.htm"

Datensätze suchen mit Regulären Ausdrücken

SELECT * FROM showdir WHERE link REGEXP '^/[a-z-]*/[0-9]*$';
Beispiel: Findet Datensätze mit dem Link : /berichte/93