Handledning för administrationsverktyget

Handledning
Handledning TIW administration för MySQL
Innehållsförteckning
1.
Introduktion .................................................................................................................................. 3
1.1. Vad är TIW:s administrationsverktyg för MySQL databaser? ...................................... 3
1.2. Vad kan man göra med detta verktyg? ............................................................................. 3
1.3. Säkerhet.................................................................................................................................. 3
1.4. Vad är MySQL?..................................................................................................................... 3
1.5. Varför MySQL? ..................................................................................................................... 3
2. Inloggning ..................................................................................................................................... 3
2.1. Säker inloggning ................................................................................................................... 3
3. Visa tabeller ................................................................................................................................... 5
3.1. Visa dina tabeller i databasen ............................................................................................. 5
4. Skapa tabell ................................................................................................................................... 5
4.1. Skapa ny tabell ...................................................................................................................... 5
5. Redigera tabell .............................................................................................................................. 6
5.1. Redigera en redan befintlig tabell ...................................................................................... 6
5.1.1.
Byta namn på tabell ...................................................................................................... 6
5.1.2.
Redigera fält i tabell ..................................................................................................... 6
5.1.3.
Lägg till nya fält i tabell ............................................................................................... 6
5.1.4.
Ta bort fält från tabell................................................................................................... 7
6. Radera tabell.................................................................................................................................. 7
6.1. Ta bort en befintlig tabell .................................................................................................... 7
7. Redigera data ................................................................................................................................ 8
7.1. Redigera data i en befintlig tabell ...................................................................................... 8
7.1.1.
Ta bort en rad ................................................................................................................ 8
7.1.2.
Redigera data ................................................................................................................ 8
7.2. Sök i en tabell ........................................................................................................................ 9
8. Importera fil ................................................................................................................................ 10
8.1. Att skapa en godkänd fil för import ................................................................................ 10
8.2. Att importera en fil ............................................................................................................. 10
9. Logga ut ....................................................................................................................................... 11
9.1. Logga ur administrationsverktyget ................................................................................. 11
10.
Appendix A ............................................................................................................................. 12
10.1.
Att skapa en tabell .......................................................................................................... 12
11.
Appendix B.............................................................................................................................. 14
11.1.
Exempel på CGI (Hur man hämtar data från mysql) ................................................ 14
11.2.
Exempel på CGI (Hur man lägger in data i mysql) ................................................... 15
11.3.
Exempel på PHP (Hur man hämtar data från mysql) ............................................... 19
11.4.
Exempel på PHP (Hur man lägger in data i mysql) .................................................. 21
1. Introduktion
1.1.
Vad är TIW:s administrationsverktyg för MySQL databaser?
Det är ett webbaserat administrationsverktyg för databaser som används av TIW:s
kunder för att administrera sina databaser.
1.2.
Vad kan man göra med detta verktyg?
Detta kan du göra med administrationsverktyget :
1.3.

Visa tabeller

Skapa tabeller

Redigera tabeller

Ta bort tabeller

Redigera data

Importera data
Säkerhet
All kommunikation till användargränssnittet sker krypterat.
1.4.
Vad är MySQL?
MySQL är den mest populära och använda Open Source databasen. MySQL är en
relationsdatabas management system. En relationsdatabas lagrar data i separata
tabeller istället för att lagra allt i en enda stor lista. Detta är bra för snabbhet och
flexibilitet. Tabellerna länkas ihop med deras relationer till varandra. MySQL
använder sig av Structure Query Laguage (SQL) som sitt programmeringsspråk.
Det är det vanligaste standardiserade språket som används för att hantera
databaser.
För mer information om MySQL så kan ni besöka deras hemsida
http://www.mysql.com.
1.5.
Varför MySQL?
MySQL är snabb, pålitlig och enkel att använda.
2. Inloggning
2.1.
Säker inloggning
Det första man gör när man kommit fram till första sidan är att logga in.
Användarnamn och lösenord transporteras krypterat över Internet eftersom SSL
används.
Skriv in användarnamn och lösenord och klicka på knappen Logga in.
Figur 2.1 : Logga in till din databas.
3. Visa tabeller
3.1.
Visa dina tabeller i databasen
För att se alla tabeller du har i din databas klickar du på menyalternativet Visa
tabeller.
Figur 3.1 : Visa alla tabeller i databasen.
Nu visas alla tabeller som du har i din databas (se figur 3.1).
4. Skapa tabell
4.1.
Skapa ny tabell
När du vill skapa en helt ny tabell till din databas gör du så här :
1. Klicka på menyvalet Skapa tabell. Nu kommer en sida enligt figur 4.1 fram
2. Skriv in det namn du vill ha på tabellen i Tabell namn fältet
3. Fyll i Fältnamn och Typ och eventuellt Obligatorisk, Nyckel och/eller
Standardvärde. Se appendix A om du vill veta mer
4. Klicka på Lägg till för att fältet ska läggas upp. Upprepa punkt 2 – 4 tills alla
fält du vill ha är upplagda.
5. Klicka på knappen Spara för att tabellen ska sparas ned i din databas
Figur 4.1 : Skapa en helt ny tabell.
5. Redigera tabell
5.1.
Redigera en redan befintlig tabell
Klicka på menyvalet Redigera tabell.
5.1.1.
Byta namn på tabell
Så här gör du för att byta namn på en befintlig tabell:
1. Välj en tabell ur listan och klicka på knappen Visa (se figur 5.1).
2. Fyll i det nya namnet i fältet Nytt namn och klicka på knappen Byt namn
5.1.2.
Redigera fält i tabell
Så här gör du för att redigera befintliga fält i en tabell:
1. Välj en tabell ur listan och klicka på knappen Visa (se figur 5.1).
2. På det fält du vill redigera klickar du på förstorningsglaset
3. Alla fältets attribut hamnar nu i fälten ovanför
4. Redigera fälten och klicka på knappen Spara
5.1.3.
Lägg till nya fält i tabell
Så här gör du för att lägga till nya fält till en tabell:
1. Välj en tabell ur listan och klicka på knappen Visa (se figur 5.1).
2. Klicka på knappen Ny kolumn
3. Fyll i det nya fältets attribut.
4. Klicka på knappen Spara.
5.1.4.
Ta bort fält från tabell
Så här gör du för att ta bort ett fält från en tabell:
1. Välj en tabell ur listan och klicka på knappen Visa (se figur 5.1).
2. För att ta bort ett fält klickar du på det röda krysset på det fält du vill ta bort.
Figur 5.1 : Redigera tabell.
6. Radera tabell
6.1.
Ta bort en befintlig tabell
Klicka på menyvalet Radera tabell. Du får nu upp en lista på alla tabeller som du
har i din databas. Välj den tabell som du vill ta bort och klicka på Ta bort knappen
(se figur 6.1).
Figur 6.1 : Radera befintlig tabell.
7. Redigera data
7.1.
Redigera data i en befintlig tabell
Klicka på menyvalet Redigera data.
7.1.1.
Ta bort en rad
Så här gör du för att ta bort en rad med data:
1. Välj tabell du vill redigera data i (se figur 7.1).
2. Klicka på knappen visa, nu kommer data från tabellen att presenteras 50
rader/gång.
3. Vill du ta bort en hel post klickar du på krysset på raden
7.1.2.
Redigera data
Så här gör du för att redigera befintlig data:
1. Välj tabell du vill redigera data i (se figur 7.1).
2. Klicka på knappen visa, nu kommer data från tabellen att presenteras 50
rader/gång.
3. Vill du redigera datat i posten klickar du på förstorningsglaset.
4. Nu kommer datat att hamna i ett redigeringsläge (se figur 7.2). Här kan du
ändra på datat.
5. När du är klar klickar du på knappen Spara.
Figur 7.1: Redigera data.
Figur 7.2 : Redigera data.
7.2.
Sök i en tabell
Klicka på menyvalet Redigera data. Så här gör man för att söka efter data i en tabell
(se figur 7.3):
1. Välj den tabell du vill söka i och klicka på knappen Visa.
2. Välj det fält du vill söka data i
3. Mata in det du söker efter i fältet Värde
4. Klicka på knappen sök.
5. Nu kommer den rad eller de rader som passar in på sökningen att visas.
Figur 7.3: Sök data.
8. Importera fil
8.1.
Att skapa en godkänd fil för import
Skapa en text fil med godtyckligt namn.
Kontrollera strukturen på den tabell där data skall importeras d v s vad är det för
typ av fält? Är det ett int, varchar, text eller datetime? Detta är viktigt när vi skickar
in filen skall datat mellan varje fält vara semikolon separerat och ett returslag för
varje ny rad. Ett exempel på en sådan fil kan se ut på detta vis:
Figur 8.1 : En korrekt fil.
8.2.
Att importera en fil
Klicka på menyvalet Importera fil.
Så här gör du för att importera en fil:
1. Välj vilken tabell som skall data ska importeras till.
2. Mata in hela sökvägen till den fil som du vill importera, t ex:
c:\share\adress.txt. Du kan även klicka dig fram till filen m h a Browse
knappen.
3. Tryck på knappen Importera
Figur 8.2 : Importera fil.
Du kommer att få upp en resultat sida med information om hur många rader som
blev importerade och hur många som inte importerades. Närmare beskrivning om
vad som gick fel och på vilken rad, visas under denna information (Se figur 8.3 och
8.4).
Figur 8.3 : Fel uppstod vid import av fil.
Figur 8.4 : Lyckad import av fil.
9. Logga ut
9.1.
Logga ur administrationsverktyget
När du är klar med dina uppgifter återstår det bara att logga ur. Klicka på
menyvalet Logga ut.
10.
Appendix A
10.1. Att skapa en tabell
I “Tabell namn” fältet mata in ett tabellnamn med godkända tecken Nu kan du
börja skapa de fält som skall tillhöra tabellen. Här kommer en förklaring av fältets
egenskaper:
”Fältnamn” – skall innehålla vad Ni anser fältet skall ha för benämning, men med
godkända tecken
”Typ” – innehåller tre olika alternativ och vad Ni väljer skall återspegla på vilket
slags data Ni vill erat fält skall innehålla:
Typ
Exempel
Beskrivning
Int
43567
Integers är
fyra bytes
breda och kan
spara tal
mellan  2
miljarder
Varchar
”Telia”
Används för
strängar av
olika slags
tecken
Datetime
”1999-09-09
?..
Utnyttjas för
precisa
lagringar av
datum och
tid. Den kan
lagra mellan 1
Januari 1753
till 31
December
9999.
Text
”Detta är
en
beskrivning
av
datatypen
Text ….”
Används för
länge texter
t.ex.
beskrivningar.
”Längd” – här anger du antalet tecken på det data som skrivs in i fältet av typen
”varchar”.
”Nyckel” – här skall en unik integer inmatas.
”Default värde” – om ett fält lämnas utan värde så kommer detta värde att läggas
till automatiskt i fältet.
11.
Appendix B
11.1. Exempel på CGI (Hur man hämtar data från mysql)
När du kopplar upp dig mot din databas är det viktigt att du bara har stora
bokstäver i databasnamnet. Ex X1234.
OBS! $user och $database kommer alltid att vara samma för dig och det är ditt
användarid som finns i filen mysql.txt i din start-katalog tillsammans med ditt
lösenord.
Detta exempel läser data från tabellen Tabell1 i databasen DATABAS1 och skickar
ut resultatet i en HTML sida.
Start på CGI exempel:
#!/bin/v561/perl
print "Content-type: text/html\n\n";
use DBI();
use strict;
#Din databas (Samma som din hemkatalog)
my $database = "DATABAS1";
#Användarnamn, OBS bara stora bokstäver (Samma som databasnamnet)
my $user = "DATABAS1";
#lösenord, OBS tänk på att skilja mellan stora och små bokstäver
my $password = "password";
# Skapa koppling till databasen
my $dbh = DBI->connect("DBI:mysql:database=$database;host=localhost", $user,
$password,
{'RaiseError' => 1});
# Hämta data från någon tabell
my $sth = $dbh->prepare("SELECT * FROM Tabell1");
$sth->execute();
#Skriv ut html kod så att sidan kan visas i en webbläsare
print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0
Transitional//sv\">\n";
print "<HTML>\n";
print "<HEAD>\n";
print "<TITLE>DEMO SIDA</TITLE>\n";
print "</HEAD>\n";
print "<BODY>\n";
print "<table cellpadding='0' cellspacing='5' border='0'>\n";
#Loopa igenom varje rad från tabellen
while (my $ref = $sth->fetchrow_hashref()) {
print "<tr>";
print "<td width='50' align='right'>\n";
#Skriv ut innehållet från kolumn ID med fet stil
print "<b>$ref->{'ID'}</b>\n";
print "</td>\n";
print "<td width='150'>\n";
#Skriv ut innehållet från kolumn NAMN
print "$ref->{'NAMN'}\n";
print "</td>\n";
print "</tr>\n";
}
print "</BODY>\n";
print "</HTML>\n";
$sth->finish();
# Disconnect from the database.
$dbh->disconnect();
Slut på CGI exempel:
11.2. Exempel på CGI (Hur man lägger in data i mysql)
Detta exempel visar en väldigt enkel forum (gästbok) applikation.
OBS! $user och $database kommer alltid att vara samma för dig och det är ditt
användarid som finns i filen mysql.txt i din start-katalog tillsammans med ditt
lösenord.
#!/bin/v561/perl
print "Content-type: text/html\n\n";
use DBI();
#Hämta värden från sidan genom att anropa metoden parse
%in=&parse;
my $namn=$in{'namn'};
#Din databas (Kundnumret)
my $database = "DATABAS1";
#Användarnamn, OBS bara stora bokstäver
my $user = "DATABAS1";
#lösenord, OBS tänk på att skilja mellan stora och små bokstäver
my $password = "password";
# Skapa koppling till databasen
my $dbh = DBI->connect("DBI:mysql:database=$database;host=localhost", $user,
$password,
{'RaiseError' => 1});
my $sth;
#Om vi fått något värde från föregående sida, skapa en ny rad i tabellen.
if ($namn) {
#Hämta högsta ID från tabellen.
my $query = "Select MAX(ID) from TABELL1";
$sth = $dbh->prepare($query);
$sth->execute();
my $id = 0;
my @row;
while(@row=$sth->fetchrow_array()) {
$id = @row[0];
}
#Öka id med +1 för att få ett unikt id
$id++;
$sth->finish();
#Skapa raden i tabellen
$query = "Insert into Tabell1 (ID, NAMN) values($id, '$namn')";
$sth = $dbh->prepare($query);
$sth->execute();
$sth->finish();
}
# Hämta data från tabellen
$sth = $dbh->prepare("SELECT * FROM Tabell1");
$sth->execute();
#Skriv ut html kod så att sidan kan visas i en webbläsare
print <<"HTMLCODE";
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0
Transitional//sv\">
<HTML>
<HEAD>
<TITLE>DEMO SIDA</TITLE>
</HEAD>
<BODY>
<table cellpadding='0' cellspacing='5' border='0'>
<tr>
<td colspan='2'>
Ange ett namn och klicka på knappen nedan för att
skapa en ny rad
</td>
</tr>
<form method='post' name="searchform">
<tr>
<td width='50' align='right'>
Namn:
</td>
<td>
<input type='text' name='namn' value=''>
</td>
</tr>
<tr>
<td colspan='2'>
<input type='submit' value='Skapa rad i tabell'
name='skapa'>
</td>
</tr>
</form>
<tr>
<td colspan='2'>
<br><br>
</td>
</tr>
HTMLCODE
#Loopa igenom varje rad från tabellen
while (my $ref = $sth->fetchrow_hashref()) {
print "<tr>";
print "<td width='50' align='right'>\n";
#Skriv ut innehållet från kolumn ID med fet stil
print "<b>$ref->{'ID'}</b>\n";
print "</td>\n";
print "<td width='150'>\n";
#Skriv ut innehållet från kolumn NAMN
print "$ref->{'NAMN'}\n";
print "</td>\n";
print "</tr>\n";
}
print "</table>\n";
print "</BODY>\n";
print "</HTML>\n";
$sth->finish();
# Stäng databaskoppling.
$dbh->disconnect();
#Denna metod läser fältvärden från sidan och returnerar dessa i en array
sub parse {
my (@pairs, %in);
my ($buffer, $pair, $name, $value);
if ($ENV{'REQUEST_METHOD'} eq 'GET') {
@pairs = split(/&/, $ENV{'QUERY_STRING'});
}elsif($ENV{'REQUEST_METHOD'} eq 'POST') {
read(STDIN, $buffer,$ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
}
PAIR:
foreach $pair (@pairs) {
($name, $value) = split(/=/,$pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
($value eq "---") and next PAIR;
exists $in{$name} ? ($in{$name} .="~~$value") : ($in{$name} =
$value);
}
return %in;
}
11.3. Exempel på PHP (Hur man hämtar data från mysql)
När du kopplar upp dig mot din databas är det viktigt att du bara har stora
bokstäver i databasnamnet. Ex X1234.
OBS! USER och DATABAS1 kommer alltid att vara samma för dig och det är ditt
användarid som finns i filen mysql.txt i din start-katalog tillsammans med ditt
lösenord.
Detta exempel läser data från tabellen Tabell1 i databasen DATABAS1 och skickar
ut resultatet i en HTML sida.
Start på PHP exempel:
#!/bin/php
<HTML>
<HEAD>
<TITLE>MYSQL DATABAS1</TITLE>
</HEAD>
<BODY>
<TABLE>
<?php
// Connecting, selecting database
$link = mysql_connect("localhost:3306", "USER", "password")
or die("Could not connect");
print "Connected successfully";
mysql_select_db("DATABAS1")
or die("Could not select database");
// Performing SQL query
$query = "SELECT * FROM Tabell1";
$result = mysql_query($query)
or die("Query failed");
// Printing results in HTML
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
?>
<tr>
<?php
foreach ($line as $col_value) {
?>
<td>
<?php
print($col_value);
?>
</td>
<?php
}
?>
</tr>
<?php
}
// Closing connection
mysql_close($link);
?>
</TABLE>
</BODY>
</HTML>
Slut på PHP exempel:
11.4. Exempel på PHP (Hur man lägger in data i mysql)
Detta exempel visar en väldigt enkel forum (gästbok) applikation.
OBS! USER och DATABAS1 kommer alltid att vara samma för dig och det är ditt
användarid som finns i filen mysql.txt i din start-katalog tillsammans med ditt
lösenord.
#!/bin/php
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//sv\">
<HTML>
<HEAD>
<TITLE>MYSQL DATABAS1</TITLE>
</HEAD>
<BODY>
<TABLE cellpadding='0' cellspacing='5' border='0'>
<?php
// Connecting, selecting database
$link = mysql_connect("localhost:3306", "USER", "password")
or die("Could not connect");
mysql_select_db("DATABAS1")
or die("Could not select database");
$namn=$HTTP_POST_VARS["namn"];
if ($namn) {
$query = "Select MAX(ID) from TABELL1";
$result = mysql_query($query)
or die("Query failed");
$row = mysql_fetch_row($result);
$id = $row[0];
$id++;
$query = "Insert into TABELL1 (ID, NAMN) values($id, '$namn')";
$result = mysql_query($query)
or die("Query failed");
}
?>
<tr>
<td colspan='2'>
Ange ett namn och klicka på knappen nedan för att skapa en ny rad
</td>
</tr>
<form method='post' name="searchform">
<tr>
<td width='50' align='right'>
Namn:
</td>
<td>
<input type='text' name='namn' value=''>
</td>
</tr>
<tr>
<td colspan='2'>
<input type='submit' value='Skapa rad i tabell' name='skapa'>
</td>
</tr>
</form>
<tr>
<td colspan='2'>
<br><br>
</td>
</tr>
<?php
// Performing SQL query
$query = "SELECT * FROM TABELL1";
$result = mysql_query($query)
or die("Query failed");
// Printing results in HTML
while ($row = mysql_fetch_row($result)) {
?>
<tr>
<td>
<?php print "$row[0]\n"; ?>
</td>
<td>
<?php print "$row[1]\n"; ?>
</td>
</tr>
<?php
}
// Closing connection
mysql_close($link);
?>
</TABLE>
</BODY>
</HTML>