tilrettet af Martin Elsman (oprindeligt af Peter Sestoft)
MySQL er et relationsdatabasesystem (RDBMS). I et relationsdatabasesystem består hver database af en samling tabeller. Oplysninger udtrækkes fra tabellerne ved hjælp af såkaldte forespørgsler, som er skrevet i sproget SQL.
Opret først en MySQL database som angivet på kursushjemmesiden. I din database kan du oprette (næsten) lige så mange tabeller med lige så mange data som det passer dig.
Du kan komme i kontakt med din database på denne måde:
ssh.itu.dk)
ved hjælp af Secure
Shell (ssh).
mysql -h mysql.itu.dk -u <bruger> -p <database>hvor <bruger> er brugernavn og <database> er databasenavn.
Hvis dit brugernavn er jamesb og dit databasenavn er W2_E2003_jamesb ser det sådan her ud:
mysql -h mysql.itu.dk -u jamesb -p W2_E2003_jamesb
CREATE TABLE Familie (navn varchar(40), fødseldag int);
INSERT INTO Familie VALUES ('Carsten', 19640627);
INSERT INTO Familie VALUES ('Kirsten', 19360114);
INSERT INTO Familie VALUES ('Jørgen', 19340930);
Brug pil-op på tastaturet til at genfinde en tidligere SQL-kommando.
Du kan rette i kommandoen og så trykke retur for at udføre den.
SELECT * FROM Familie;
SELECT * FROM Familie ORDER BY navn; SELECT * FROM Familie ORDER BY fødselsdag;
EXITDu kan altid gå ud af mysql uden at tabe data. Næste gang du går ind husker den endda de sidste kommandoer du har udført. Brug pil-op til at genfinde dem.
SHOW TABLES
SHOW FIELDS FROM Tabel
CREATE TABLE Tabel (felt1 type1, ...);
| Type | Anvendelse | Eksempel |
|---|---|---|
| int | heltal | 117 |
| double | flydende-kommatal | 3.1415 |
| decimal(20,2) | fast-kommatal med 20 cifre, 2 decimaler | 464000000000.00 |
| char(80) | tekst (maks 80 tegn) | 'Ole Jensen' |
| varchar(80) | tekst (maks 80 tegn) | 'Ole Jensen' |
| date | dato | 2002-03-10 |
| time | klokkeslet | 22:59:17 |
| datetime | dato og klokkeslet | 2002-03-10 22:59:17 |
CREATE INDEX Tabel_idx on Tabel (felt1, ...);
Et indeks gør søgning på felterne felt1, ... langt hurtigere. I MySQL kan man kun have indekser på felter der er erklæret NOT NULL da tabellen blev oprettet.
DROP TABLE Tabel;
Inde i mysql kan du udføre
source studieadm.sql.txt;
tee ud.txt
Hvis du ønsker at åbne filen ud.txt med Wordpad skal du huske at vælge Filtype | Tekstdokumenter (*.txt), i Åbn dialogen, ellers viser Wordpad ikke *.txt filer.
Hvis tekstfilen tabel.txt indeholder data adskilt med tabulator, og tabellen Tabel er oprettet, kan tekstfilens linier indlæses som poster i tabellen:
LOAD DATA LOCAL INFILE "tabel.txt" INTO TABLE Tabel IGNORE 1 LINES;
Tekstfilen tabel.txt kunne for eksempel være eksporteret fra et Excel-regneark med Filer | Gem som | Tekst (tabulatorsepareret) | tabel.txt. Læg mærke til at IGNORE xx LINES kan bruges til at ignorere tabeloverskrifter fra regnearket som ellers fejlagtigt ville komme med i tabellen.
Dette sletter alle poster fra tabellen, d.v.s. dens indhold, men ikke tabellen selv:
DELETE FROM Tabel;
Man kan tilføje LIMIT nn efter en SELECT for at angive det maksimale antal poster man vil have, for eksempel:
SELECT * FROM Tabel LIMIT 30;