
SQL i databashanteraren MySQL
För att ändra och visa data i en databashanterare används Structured Query Language (SQL). Eller rättare sagt, i relationsbaserade sådana används SQL. Den databashanterare som användas i mina exempel är MySQL. Detta är en kostnadsfri, svenskutvecklad databashanterare som numer ägs av Sun.
MySQL finns att ladda hem för både Windows, Mac OS X, Linux och flera Unixvarianter så det borde passa de flesta. Jag förutsätter att du som är intresserad kan ladda hem MySQL från mysql.com och installera det på egen hand då det fungerar précis som vilket annat program som helst. När detta är gjort är det bara att läsa vidare…
Skapa en databas
För att kontrollera om MySQL fungerar som det skall kör vi programmet. Exemplen nedan är gjorda på en PC, och om du sitter på en sådan finns mysql.exe
i katalogen mysql/bin
. SQL-programmet ser i princip likadant ut oavsett miljö, så det borde inte vara svårt att hänga med om du använder någon annan miljö.
Kör vi följande två kommandon:
mysql> CREATE DATABASE musik;
mysql> SHOW DATABASES;
så borde ni se följande resultat:
+-----------+
| Database |
+-----------+
| musik |
| mysql |
| test |
+-----------+
3 rows in set (0.00 sec)
För att tala om att det är i denna databas vi vill utföra ändringarna fortsättningsvis använder vi kommandot USE
:
mysql> USE musik;
Skapa och visa en tabell
Det första vi nu behöver göra är att lägga till de tabeller som kommer ligga till grund för exemplen. Detta görs med ett nytt CREATE
-kommando. När du trycker på enter i slutet av en rad utan att avsluta med ett semikolon får du en ->
prompt istället för den vanliga och mysql tolkar detta som att kommandot fortsätter, kom ihåg att avsluta sista raden med ett semikolon.
mysql> CREATE TABLE cdskivor
-> (
-> id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> titel VARCHAR(40),
-> artist VARCHAR(40),
-> ar DATE
-> );
För varje kolumn vi skapar är den första parametern namnet på kolumnen, det andra datatypen och de övriga sätter begränsningar och regler på just den kolumnen.
I kolumnen id kommer vi att ha ett positivt heltal (int unsigned
), detta id får inte vara tomt när vi lägger till data i databasen (not null
), värdet kommer att ökas med ett automatiskt för varje ny insättning (auto_increment
) och kommer även att vara den primära nyckeln (primary key
) i tabellen cdskivor, dvs. den kolumn som ser till att varje rad har ett unikt fält med data som gör att vi kan hålla reda på alla inlägg.
mysql> SHOW TABLES;
+-------------------+
| Tables_in_musik |
+-------------------+
| cdskivor |
+-------------------+
1 row in set (0.00 sec)
eller om du vill ha lite utförligare information så kan du använda dig av:
mysql> DESCRIBE cdskivor;
+--------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | | PRI | NULL | auto_increment |
| titel | varchar(40) | YES | | NULL | |
| artist | varchar(40) | YES | | NULL | |
| ar | date | YES | | NULL | |
+--------+------------------+------+-----+---------+----------------+
4 rows in set (0.05 sec)
Lägga till data i tabeller
För att lägga till data till en tabell i SQL-språket använder man kommandot INSERT
. Syntaxen för INSERT
är:
INSERT INTO table_name (column1, column2….) VALUES (value1, value2…);
För att lägga till en post i vår tabell kan vi alltså lägga till en skiva med kommandot:
mysql> INSERT INTO cdskivor (titel, artist, ar)
-> VALUES ("Out of Time", "R.E.M.", "1991-03-12");
För att se vilka poster som ligger med i tabellen använder vi det vanligaste SQL-kommandot SELECT
. Det är med SELECT
som man väljer ut data ur tabeller:
mysql> SELECT * FROM cdskivor;
+----+-------------+--------+------------+
| id | titel | artist | ar |
+----+-------------+--------+------------+
| 1 | Out of Time | R.E.M. | 1991-03-12 |
+----+-------------+--------+------------+
1 row in set (0.00 sec)
Eftersom vi satte kolumnen id till auto_increment
behöver vi alltså inte ange detta värdet utan det läggs till automatiskt och blir ett större än det största värdet för varje ny rad som läggs till. I detta fall blir id alltså 1 eftersom vi inte hade någon data i tabellen innan.
Då så, dags att göra någon nytta…
Efter den här korta introduktionen till SQL hoppas jag att det känns som om du har lite ett hum om hur det fungerar. Det finns givetvis väldigt mycket mer att gå igenom, men nu borde det inte kännas helt avlägset att skriva de första SQL-satserna, antingen direkt i det gränssnitt som vi använde ovan eller i ett första PHP-script.
Hur man använder sig av MySQL tillsammans med PHP eller andra programmeringsspråk är ämnet för en annan artikel, men en bra start hittar man på PHP:s webbplats där det finns enkla exempel.
Referenser
Relaterade artiklar
- Artikel
- Artikel
- Artikel