Introduktion till MySQL Vad är MySQL? MySQL är ett programmerings- och frågespråk för databaser. Med programmeringsspråk menas att du kan skapa och administrera databaser med hjälp av MySQL, och med frågespråk menas att du kan använda MySQL för att använda databasen och hämta ut information ur den. Varför ska man använda MySQL? MySQL är en snabb och stabil databashanterare, och den är förhållandevis enkel att använda. Till skillnad från många andra databashanterare finns MySQL som gratisversion. Dessutom finns det ett stort stöd för att använda MySQL tillsammans med PHP. Därför är det vanligt att både privatpersoner och företag använder MySQL på sina webbsidor. Däremot är inte MySQL lika avancerad som en del andra, främst kommersiella databashanterare. MySQL är ett klient/server-system. Det innebär att du har ett serverprogram som hanterar själva databasen, och sedan ett eller flera klientprogram som användargränssnitt. Vad behöver jag för att använda MySQL? I den här kursen kommer vi använda ett webbgränssnitt för att skapa och använda databaser, så det enda du behöver är ditt användarnamn och lösenord till webbgränssnittet som finns på https://www-und.ida.liu.se/myadmin/ Om du vill fortsätta använda MySQL efter att kursen är avslutad kan du hämta hem gratisversioner från http://dev.mysql.com/downloads/mysql/4.1.html#windows Innan vi börjar med MySQL Innan du börjar skapa databaser måste du ha en grundläggande kunskap om hur databaser är uppbyggda och hur de fungerar. De föreläsningar som finns att tillgå i kursen är en bra resurs för detta. Om du vill läsa mer rekomenderar jag. http://www.ida.liu.se/~tompa/databaser/index.html som är en mycket bra och heltäckande kurs om databaser. Det är också viktigt att du funderar igenom vad det är du ska använda din databas till, och hur du vill designa den. En databas består av flera olika tabeller som hör ihop i olika relationer. Det är en bra idé att noga fundera igenom vilka tabeller man behöver till sin databas innan man börjar bygga den. Att rita upp relationsdiagram, ER-diagram, är ett bra sätt att få en överblick över sin databas. Om du inte redan har gjort det så gör det nu. Vilka tabeller behöver du i din databas? Vilken information är det du behöver lagra om olika entiteter, och hur ska den lagras? Vilka relationer ska användas för att knyta samman tabeller?
Webbgränssnittet Webbgränssnittet vi använder i kursen har länkar till MySQL-dokumentation och till dokumentation om sig självt, du kan alltså få mycket hjälp av gränssnittet självt. Att vi använder det här grafiska gränssnittet gör att du som användare inte behöver lära dig alla SQL-kommandon utantill, mycket kan du sköta genom att använda de ikoner som finns. Om du vill kan du dock skriva in och köra SQL-frågor i ett textfält, eller skriva flera SQL-frågor i en textfil som du sedan laddar upp till gränssnittet. På det sättet kan du snabbare förändra din databas när du har blivit mer flytande i SQL. Logga in För att logga in på webbgränssnittet går du till adressen https://www-und.ida.liu.se/myadmin/. Om du inte redan är inne på IDA:s datornät (det vill säga sitter vid någon av IDA:s datorer på skolan), kommer det att komma upp en dialogruta där du ombeds att ange användarnamn och lösenord. Det är ditt användarnamn och lösenord till IDA som efterfrågas. När du har skrivit in det kommer du till själva inloggningssidan (se nedan), där du ska ange det användarnamn och lösenord som du fick i mailet när ditt databaskonto skapades. 1. Inloggningssidan
Förstasidan När du har loggat in kommer du vill en sida som ser ut som den här nedanför. Till vänster kan du välja vilken databas du vill titta på, och det finns fem ikoner. Ikonerna kan du använda för att komma tillbaka till den här förstasidan, logga ut, få upp ett frågefönster, eller komma till dokumentation för det här gränssnittet eller för MySQL. 2. Förstasidan. Till höger kan du ställa in vilket språk du vill använda, och skapa nya databaser. Om du tittar i listan till vänster ska det dock finnas en databas som har ditt användarnamn. Välj den så får du upp en sida med information om den, som nedan. 3. Översikt över innehållet i en tom databas. Att skapa en tabell När du kommer in på din databas är den tom, för du har inte skapat några tabeller och inte lagt in någon information än. En tabell är alltså till för att lagra information om en entitet. Säg att du vill göra en telefonbok över dina vänner. Du vill lagra deras namn, deras telefonnummer hem och deras mobiltelefonnummer. Du kanske har flera vänner som heter samma sak, så du måste ha ett fält som garanterar att databasen inte blandar ihop deras information. Detta fält är nyckelfältet.
Innan du börjar skapa tabeller är det bra om du har tänkt ut vilka tabeller du behöver, så att du gör rätt från början. I fältet Skapa ny tabell i databas (ditt användarnamn) kan du ange namnet på den tabell du vill skapa, och hur många fält den ska ha. När du trycker på knappen kör skapas kommer du till en sida där du får ange namn på fälten, och vilken typ av information som ska sparas i dem. Du bör ha ett nyckelfält, som inte får vara tomt. (not null). Till varje fält kan du lägga till en kommentar om det behövs. Du kan också lägga till en kommentar som förklarar vad hela tabellen är till för. När du har sparat tabellen får du se den SQL-fråga som användes för att skapa den. Du ska ange vilken datatyp som ett fält ska ha, och det finns många att välja på. De viktigaste, som finns i flera varianter, är varchar, int, blob, och date. Varchar är en typ som anges om man vill kunna använda bokstäver och siffror i ett fält. Om du använder den här typen måste du ange hur många tecken som man maximalt ska få ha i fältet. VarChar anpassar sig till hur många tecken som faktiskt finns i fältet sen, och använder inte mer minne än vad som krävs för att spara dem. (Om jag har ett fält som jag har sagt maximalt får vara 255 tecken, men jag har bara 4 tecken i det så kommer inte fältet att ta upp mer minnesplats än 4 tecken. Det är bra om man har stora databaser.) Int är förkortning för integer, det vill säga helttal. Det finns olika storlekar man kan ange på en integer, men det är överkurs. Blob är en datatyp som anges för att spara stora klumpar med data i binär form. Man kan till exempel spara musik eller bilder som blob. Date och alla dess släktingar används för att spara tid, datum, årtal och liknande.
4. Här lägger du in information om din tabell När du har fyllt i uppgifterna och trycker på svara kan det hända att du får upp följande felmeddelande, din tabell har dock ändå skapats. 5. Ett felmeddelande du kan ignorera. Om du nu går in och tittar på din databas (det finns en länk till den högst upp på högersidan), så ser du att din tabell finns där. För att titta på tabellen klickar du på den. Du kommer då till fliken struktur, där du kan ändra i tabellen, lägga till fält eller skapa poster och liknande. Lägg märke till att varje gång du har gjort ändringar i databasen får du se den SQL-fråga som har körts, passa på att studera hur SQL-koden ser ut!
6. Här har jag lagt till lite information i en av mina två tabeller. Uppgift Gör en telefonbok för dina vänner. Hur många fält ska tabellen ha? Lägg till några poster i tabellen så att du vänjer dig vid hur det fungerar. Ta bort tabell Om du skulle komma på att du inte vill ha kvar din tabell så kan du ta bort den genom att i listan över tabeller klicka på det röda krysset, eller genom att gå in på tabellen och trycka på Ta bort. Tänk på att i en större databas kanske flera tabeller är beroende av varandra, och om du tar bort en av dem kan det leda till stora problem. När du försöker ta bort en tabell får du därför bekräfta att du verkligen vill göra det.
Ta bort fält eller poster Något som du förmodligen kommer att vilja göra oftare är att ändra i tabellen, lägga till eller ta bort fält och poster. Gå in på tabellen och klicka på fliken Visa, så ser du den information som finns i tabellen just nu. Här kan du ändra, lägga till eller ta bort en post. 7. Informationssida för min tabell telefonbok. Lägg märke till att den kommentar jag lämnat till tabellen syns på sidan.
Att ställa SQL-frågor En sökning i databasen kan göras på flera olika sätt. Ni kan klicka på SQL och själva skriva in ett SQL-uttryck eller använda det gränssnitt som finns under Sök. I SQLfönstret kan ni även göra andra operationer, till exempel skapa nya tabeller, lägga in värden eller ta bort värden. Mer om hur man ställer SQL-frågor kommer att komma i föreläsningar. 8. Formulär för att ställa SQL-frågor till databasen. Du kan också ladda upp en textfil med SQL-frågor, till exempel om du vill göra många saker snabbt.