A question, especially one expressing doubt or requesting information.
Strukturerat frågespråk 🤔
Språk för att hämta data från databaser på ett strukturerat sätt
SQL har flera olika dialekter
Den vi ska använda är MySQL, den mest använda
Frontend: aldrig persistent data allting lagras tillfälligt
Inget är heller dolt: api-nycklar, variabler, information
En bas för data, en låda med data
Fast sjukt strukturerad i tabeller
id | username | password |
---|---|---|
5 | zero_cool | alligator1 |
[
{
"id": "42",
"username" : "zero_cool",
"password" : "alligator1"
}
]
MongoDB - Såkallad NoSQL
Data ordnad i olika relationer, tabeller
Relationera överlappar för att binda ihop data
Det går skitsnabbt att hämta och lagra data
id | title | createdBy |
---|---|---|
42 | How to code | Jesper |
id | title | createdBy | createdByEmail |
---|---|---|---|
42 | How to code | Jesper | jesper@orb.se |
id | title | createdBy |
---|---|---|
42 | How to code | 15 |
id | username | password | |
---|---|---|---|
15 | jesperorb | pass123 | jesper@orb.se |
{
"id" : 42,
"title" : "How To Code",
"createdBy" : 15
}
{
"id" : 15,
"username" : "jesperorb",
"password" : "pass123",
"email" : "jesper@orb.se"
}
{
"id" : 42,
"title" : "How To Code",
"createdBy" : {
"id" : 15,
"username" : "jesperorb",
"email" : "jesper@orb.se"
}
}
Som det typ ser ut i MongoDB
Först måste vi ha ett
Relational Database Management System
Ett system som hanterar all data
Men det har vi redan: phpMyAdmin
int
- heltal, 4 bytefloat
- flyttal, 4 bytevarchar
- strängar, 1 byte per teckentext
- använd för mycket långa strängardatetime
- datum och tid, i formatet '2016-12-19 14:01:00'INSERT
: CREATESELECT
: READUPDATE
: UPDATEDELETE
: DELETEInget chockerande! Vi använder andra nyckelord.
Varje rad i en tabell måste ha ett unikt id
id | title | createdBy |
---|---|---|
42 | How to code | 15 |
id | title | createdBy |
---|---|---|
105 | How to code | 15 |
SELECT * FROM table;
Asterisk säger att vi ska välja alla kolumner
SELECT name FROM table;
Vi vill ju kunna sålla innehållet. Detta gör man med WHERE
SELECT * FROM notes WHERE id = 1;
Alla kolumner är sökbara
SELECT * FROM notes WHERE title = "My Title";
När man vill ta bort dubletter
SELECT DISTINCT name FROM notes;
Om det finns flera personer med samma namn t.ex. så plockar vi enbart namnen
Annars får vi kanske tillbaka 15 Magdalena
Döper om en kolumn när vi hämtar den
Ändrar INTE i själva databasen
SELECT title AS BlogTitle from blog;
title
blir till BlogTitle
i resultatet men heter fortfarande title
i tabellen
Räknar antalet rader (rows) i en tabell
SELECT COUNT(name) FROM notes
Vi kan även direkt sortera data i en query
SELECT * FROM notes ORDER BY name ASC
ASC
- Ascending == stigande
DESC
- Descending == fallande
Vi uppdaterar tabeller enligt följande mönster (obs pseudokod)
UPDATE table
SET column = value
WHERE condition;
UPDATE notes
SET title = "My New Shiny Title!"
WHERE id = 1;
DELETE används för att ta bort allt eller vissa rader
--Tar bort allt!
DELETE FROM notes;
Vi måste använda condition
Tar bort en specifik rad
DELETE FROM notes
WHERE id = 1;
Tar bort massa!
DELETE FROM notes
WHERE id > 1;