Litt om SQL språket |
||
|
Kom i gang med OpenOffice og MySQL Eit eksempel der vi lagar klasseliste for 2INA (Brukarsystem) |
Starte mysqlFor å starte MySQL i kommandolinjemodus brukar du utforskar og finn mappa C:\mysql\bin. Dobbeltklikk på mysql. Du har no mysql> prompten på skjermen. Kvar finn vi databasefileneDatabasene ligg i mappa C:\mysql\data der ligg det to databaser – mysql som er ein slags administativ database som held orden på rettigheiter og tilgangar til dei andre databasene. Den andre databasen heiter test den er tom. Lage ein databaseFor å vise dei databasene som alt eksisterer skriv du: mysql>SHOW DATABASES;
Dette viser dei databasene som alt eksisterer. Når du skal lage ein ny database må den ha ei namn som er unikt for din database server. Alså ingen av dei namna som visast når du brukar SHOW DATABASES. For å lage ein ny database skriv du: mysql>CREATE DATABASE databasenamn;
Du har no laga ein ny database, for å kunne bruke den må du gi beskjed om det: mysql>USE databasenamn;
Lage ein tabellDu kan vise kva tabellar som alt finst i databasen med: mysql>SHOW TABLES;
Lage ein tabell (entitet):mysql> CREATE
TABLE tabellnamn1(felt1 TYPE(LENGDE), felt2 TYPE(LENGDE), felt3 TYPE(LENGDE),
TYPE er den felttypen du vel. Varchar er ein teksttype denne må spesifiserast med lengde. Char er ein type for tegn og brukast når feltet berre skal innehalde eit teikn. Date er ein type for dato. Sjå tabell lenger nede for full oversikt over dei ulike typane (side 461 i boka). Lage ein tabell med primærnøkkel:CREATE TABLE tabellnamn(
Litt om felttyper:Det finnast mange ulike felttyper i MySQL, men ikkje alle er like intressante. Dei mest vanlege er heiltal og tekststrenger. FeltnavnBeskriving
Eit heiltal som ikkje kan ha negative verdier. Maksverdi ligg på ca 4.2 milliardar.
Eit heiltal mellom ca -2.1 milliardar og +2.1 milliardar Hvis du vil bruke fleire felttypar enn dette, sjå vedlegget meir om felttypar. Eit døme:CREATE TABLE venner ( idint unsigned AUTO_INCREMENT NOT NULL, fornavn varchar(32), etternavn varchar(32), tlf int unsigned, PRIMARY KEY (id) ); For å sjå den nye tabellen kan du køyre MySQL-kommandoen Legge data inn i tabellenDersom du skal legge inn data i tabellen er syntaksen enten slik: INSERT INTO tabellnavn
VALUES(verdi1,verdi2,verdi3.....);
eller slik: INSERT INTO tabellnavn(feltnavn1,feltnavn2,...,feltnavnN)
VALUES(verdi1,verdi2,...,verdiN);
Døme der vi legg data inn i tabellen venner:INSERT INTO venner(fornavn, etternavn, tlf)
VALUES('Ingrid', 'Salt', 77777777);
Dersom du har ei tekstfil med data (der kvart felt er skilt med tabulator og det er kun ein post per linje) kan du bruke kommandoen LOAD: LOAD DATA INFILE «namn.txt» INTO TABLE venner;
Spørring mot ein tabellSpørre mot alle poster i tabellen: SELECT * FROM tabellnamn;
Spørre etter alle poster i felt2; SELECT' (felt2) FROM tabellnamn;
Spørre etter alle poster i tabellen sortert: SELECT * FROM tabellnamn ORDER BY felt1;
Sortert i omvendt rekkefølge: SELECT * FROM tabellnamn ORDER BY felt1 DESC;
Spørring med betingelse: SELECT * FROM tabellnamn WHERE felt1=verdi;
Her kan du og bruke operatorene < og >. Spørring med sammmensatt betingelse: SELECT * FROM tabellnamn WHERE felt1>verdi AND felt1>verdi;
Sende ei spørring til ei tekstfil SELECT * INTO OUTFILE "minedata.txt" FROM tabellnamn;
Endre tabellar og databaseNår vi held på med databaser vil behovet for å endre på tabellar og felttyper ofte melde seg. MySQL har og kommandoar for dette. Redigere data som alt ligg i databasene UPDATE tabell SET felt='verdi' WHERE felt='verdi';
Slette postar i ein tabell DELETE FROM tabellnamn WHERE felt='verdi';
Slette ein tabell med alt som ligg i den DROP TABLE tabellnamn;
Slette database DROP databasenamn;
Kommandoen ALTER TABLE vil prøve å ta vare på dei data som alt er lagt inn i databasen dersom det er mogleg. Feltnamn og nyttfeltnamn kan vere like. Eit typisk eksempel på når ein har behov for dette kan vere når eit tekstfelt er forlite og ein ynskjer å utvide dette. Det finst fleire mogleheiter ved bruk av ALTER TABLE sjå kap. 6.5.4 i manualen til MySQL. Legge til eit felt ALTER TABLE tabellnamn
ADD feltnamn felttype;
Fjerne eit felt ALTER TABLE tabellnavn
DROP feltnavn;
Endre på eit felt ALTER TABLE tabellnamn
CHANGE feltnamn
nyttfeltnamn nyfelttype;
Sette primærnøkkel som manglar ALTER TABLE tabellnamn
ADD PRIMARY KEY(felt);
Eit eksempel der vi lagar klasseliste for 2INA (Brukarsystem)Lag databasen:CREATE DATABASE 2ina;
Bruk databasen: USE 2ina;
Lag tabellen elev:
Lag tabellen Postadresse:
Legg inn data i tabellane: INSERT INTO Elev VALUES('Ole Olsen', ' ', '6133', '70 00 00 00', '2ØA2');
No må vi legge inn data i Postadresse tabellen: Kopier fila Postadresse.txt til mappa c:\mysql\data\2ina\ og skriv fylgjande kommando i MySQL vinduet: LOAD DATA INFILE 'Postadresse.txt' INTO TABLE Postadresse;
Spørringer mot databasenHente ut alle elevane sortert etter klasse: SELECT * FROM Elev ORDER BY Klasse;
Hente ut alle elevane som bur i Volda: SELECT * FROM Elev WHERE Postnummer=6100;
Hente ut alle elevane som ikkje bur i Volda: SELECT * FROM Elev WHERE Postnummer<>6100;
Hente fram Namn, Adresse, Postnummer og Poststed:
|
|