SQL
SQL är språket och MySQL en databashanterare
Introduktion
Structured Query Language (SQL) är ett språk för att arbeta med en relationsdatabas. En relationsdatabas är organiserad i relationer. Relationer kallas även tabeller och dessa är organiserade i rader och kolumner.
För att arbeta med SQL krävs en databashanterare. Det finns ett stort antal databashanterare som använder SQL språket. Detta dokument behandlar databashanteraren MySQL och dess klient och server.
För att använda MySQL så behöver du köra dess klient och server. I avsnittet MySQL finns instruktioner hur du installerar MySQL under Windows Subsystem for Linux (WSL).
Starta server
Följande kommandon körs i bash.
Om du får ett [ OK ] i terminalen har mysql tjänsten startats. Vill du kontrollera det ytterligare så kan du använda ett program som htop eller köra följande kommando, resultatet bör visa en eller flera mysqld processer.
Starta klienten
När mysql-klienten startas behöver du ange en användare och ett lösenord. Kör följande för att koppla upp dig till din server på localhost.
Om du lyckas koppla upp dig så bör du nu se mysql-prompten.
En databasserver kan användas av många olika klienter.
Kommandon
Skapa och använda en databas
SQL-kommandon skrivs ofta i VERSALER, men språket i sig är inte skifteskänsligt (engelska case sensitive).
För att arbeta med en relationsdatabas behöver du först skapa eller välja en databas. Följande kommandon körs i mysql-prompten. Character set och det som följer sätter teckenkodningen till MySQLs implementering av UTF-8.
SQL-kommandon avslutas med ett semikolon, ;. Om du missar ett semikolon kommer prompten fortsätta kommandot på nya rader. Detta gör att du kan dela upp SQL kommandon på flera rader när du skriver dem. Skriv ett semikolon för att avsluta kommandot.
För att lista alla tillgängliga databaser på servern.
Skapa en tabell i en databas
För att spara data behöver först en tabell skapas. När en tabell skapas krävs det att minst en kolumn skapas. Denna kolumn är som oftast en primär id-kolumn som databasens motor hanterar, detta är god databasdesign.
Kontrollera att du har valt en databas.
CREATE TABLE skapar en tabell med angivet namn med en tillhörande kolumn. Hela kommandot skrivs här på tre rader.
Kolumnen som skapats har namnet id och är av typen int (heltal, engelska integer). Id kolumnen är även satt att vara unsigned, vilket gör att enbart icke negativa tal är tillåtna. Auto increment gör att databasen hanterar värdet på kolumnen, värdet uppdateras automatiskt med 1 för varje ny rad.
För att se en tabells innehåll används.
Kolumner
För att skapa fler kolumner i en tabell så används alter tillsammans med add. Alter-kommandot kräver en tabell och ett kommando. Add-kommandot kräver ett namn, en datatyp och eventuellt andra parametrar.
Datatyper
Varje kolumn i en relationsdatabas har en datatyp som definierar vilken typ av värd som kan sparas. Några vanliga typer att börja med är:
INT, heltal.
DECIMAL(p, s), kräver att precisionen och storleken anges.
VARCHAR(l), en sträng med variabel storlek, kräver att längden anges.
TEXT, för större strängar.
TIMESTAMP, en datumstämpel.
Följande exempel skapar en textkolumn i databasen med datatypen varchar.
Parametrar
Utöver namnet på kolumnen samt datatypen kan en eller fler parametrar användas.
NULL, kolumnens värde kan vara tomt.
NOT NULL, kolumnens värde får inte vara tomt.
UNSIGNED, ändrar en numerär kolumn så att den enbart kan innehålla icke negativa värden.
AUTO_INCREMENT, använder databasens räknare för värdet.
UNIQUE, värdet måste vara unikt.
Följande exempel skapar en unik kolumn.
Kommandon, fortsättning
USE databasnamn, använd databas.
SHOW databases eller tables, visa val.
DESCRIBE tabell, beskriver eller visar en tabells struktur.
DROP databas eller tabell, ta bort val.
ALTER TABLE tabellnamn DROP kolumn, ta bort val.
SELECT kolumner FROM tabellnamn, för att välja data.
Kommandon, skapa och välja data
För att skapa data i en kolumn används INSERT.
För att välja data används SELECT kommandot, det returnerar ett resultat. Select väljer kolumner från en tabell, det går antingen att specificera dessa eller använda ett wildcard, *.
Utöver detta så kan den valda datan sorteras och begränsas. För att välja den senaste raden.
ORDER BY kolumn, sorterar resultatet efter vald kolumn.
DESC eller ASC väljer sorteringsordningen.
LIMIT #, begränsa resultatet till # antal rader.
Specifika rader
För att välja specifika rader i databasen så väljs dem utifrån värdet. Då används WHERE.
Antalet svar kan även sorteras och begränsas.
Last updated
Was this helpful?