Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Create ja Rajoitteet | DDL ja DML SQL:ssä
Keskitaso SQL

bookCreate ja Rajoitteet

Aiemmin työskentelimme eri yrityksissä ja suoritimme SELECT-kyselyitä niiden tarpeisiin. Nyt meidän täytyy oppia kuinka luoda ja muokata tauluja.

Taulut luodaan CREATE-lauseella, jonka rakenne muistuttaa SELECT-lausetta, mutta valitsemisen sijaan se luo tietoa:

1234
CREATE TABLE example ( id INT PRIMARY KEY, some_info VARCHAR(50) );
copy

Huomio

Kun suoritat nämä esimerkit, et saa mitään tulostetta, koska nämä esimerkit vain luovat uuden taulun. Jos suoritat koodin uudelleen, saat virheilmoituksen, että taulu on jo olemassa. Nämä koodiesimerkit ovat vain esimerkkejä, ja myöhemmin tehtävässä näihin juuri luotuihin tauluihin lisätään tietoa ja näytetään ruudulla, jotta voit varmistua, että kaikki toimii.

Käydään läpi yllä oleva SQL-kysely.

Tämä kysely luo tyhjän taulun, jossa on kaksi saraketta: id ja some_info.

Huomaa kunkin sarakkeen tietotyypit:

  • INT on kokonaislukutietoja varten;
  • VARCHAR(50) on tekstitietoja varten, sallien enintään 50 merkkiä.

Emme käsittele kaikkia tietotyyppejä tässä vaiheessa, sillä niitä on paljon. Keskitymme tässä osiossa tärkeimpiin ja tutustumme muihin myöhemmin oppimisen edetessä.

Esimerkiksi luodaan toinen taulu, jossa käytetään erilaisia tietotyyppejä:

1234567
CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), birthdate DATE, salary DECIMAL(10, 2), is_active BOOLEAN );
copy

Tällä kyselyllä luodaan tyhjä taulu, jonka on tarkoitus sisältää tietoa käyttäjistä, mukaan lukien:

  1. ID, jonka tietotyyppi on kokonaisluku;
  2. Tieto name-kentästä, jonka tietotyyppi on VARCHAR(50);
  3. Tieto syntymäpäivästä, jonka tietotyyppi on DATE;
  4. Tieto palkasta, jonka tietotyyppi on liukuluku;
  5. Tieto siitä, onko käyttäjä aktiivinen, tietotyypillä, joka hyväksyy vain true- tai false-arvot.

Rajoitteet

SQL:ssä rajoitteet ovat sääntöjä, joita sovelletaan sarakkeisiin tietojen eheyden varmistamiseksi. Esimerkiksi, kun käytämme PRIMARY KEY -määritystä ID:n yhteydessä, se tarkoittaa, että tämän sarakkeen arvot ovat yksilöllisiä eikä sarake voi olla tyhjä. Jokaisella taululla voi olla vain yksi PRIMARY KEY.

Tässä on joitakin yleisiä rajoitteita:

  • NOT NULL: Varmistaa, että sarake ei voi sisältää tyhjiä arvoja.
  • UNIQUE: Varmistaa, että kaikki sarakkeen arvot ovat erilaisia.
  • DEFAULT: Asettaa sarakkeelle oletusarvon, jos arvoa ei anneta.

Nämä ovat vain muutamia esimerkkejä. Katsotaan, miten taulua voidaan muokata sisältämään nämä rajoitteet:

1234567
CREATE TABLE users_2 ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, birthdate DATE, salary DECIMAL(10, 2) DEFAULT 50000, is_active BOOLEAN );
copy

Nyt name-sarakkeessa on aina oltava arvo, eikä se voi olla tyhjä tai null. Lisäksi, jos palkkaa ei määritellä, sen oletusarvoksi tulee 50000.

Tällaisten rajoitteiden käyttö auttaa varmistamaan, että taulun tiedot ovat tarkkoja ja noudattavat asettamiasi sääntöjä.

Tehtävä

Swipe to start coding

Tehtävänäsi on luoda taulu nimeltä library.

Tässä taulussa tulee olla 4 saraketta:

  • id – kokonaisluku, ensisijainen avain;
  • title – merkkijono (varchar), ei saa olla tyhjä;
  • author – merkkijono (varchar);
  • pages – kokonaisluku (int).

Lisää kyselyn loppuun puolipiste (;).

Käytä täsmälleen annettuja sarakenimiä.

Huomio

Oikealla näet paljon koodia; älä muokkaa sitä. Se on kirjoitettu, jotta ratkaisusi tarkistetaan oikein. Opimme kaiken siellä olevan myöhemmin tässä osiossa.

Lyhyet ohjeet

  • Käytä CREATE-lausetta uuden library-taulun luomiseen.
  • Taulussa tulee olla neljä saraketta: id, title, author ja pages.
  • Ensimmäiselle sarakkeelle määrittele INT PRIMARY KEY.
  • Toiselle sarakkeelle määrittele VARCHAR(50) NOT NULL.
  • Kolmannelle sarakkeelle määrittele VARCHAR(50).
  • Neljännelle sarakkeelle määrittele INT.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 1
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

Can you explain more about other common SQL constraints?

How do I modify an existing table to add or change a constraint?

What happens if I try to insert data that violates a constraint?

close

Awesome!

Completion rate improved to 4

bookCreate ja Rajoitteet

Pyyhkäise näyttääksesi valikon

Aiemmin työskentelimme eri yrityksissä ja suoritimme SELECT-kyselyitä niiden tarpeisiin. Nyt meidän täytyy oppia kuinka luoda ja muokata tauluja.

Taulut luodaan CREATE-lauseella, jonka rakenne muistuttaa SELECT-lausetta, mutta valitsemisen sijaan se luo tietoa:

1234
CREATE TABLE example ( id INT PRIMARY KEY, some_info VARCHAR(50) );
copy

Huomio

Kun suoritat nämä esimerkit, et saa mitään tulostetta, koska nämä esimerkit vain luovat uuden taulun. Jos suoritat koodin uudelleen, saat virheilmoituksen, että taulu on jo olemassa. Nämä koodiesimerkit ovat vain esimerkkejä, ja myöhemmin tehtävässä näihin juuri luotuihin tauluihin lisätään tietoa ja näytetään ruudulla, jotta voit varmistua, että kaikki toimii.

Käydään läpi yllä oleva SQL-kysely.

Tämä kysely luo tyhjän taulun, jossa on kaksi saraketta: id ja some_info.

Huomaa kunkin sarakkeen tietotyypit:

  • INT on kokonaislukutietoja varten;
  • VARCHAR(50) on tekstitietoja varten, sallien enintään 50 merkkiä.

Emme käsittele kaikkia tietotyyppejä tässä vaiheessa, sillä niitä on paljon. Keskitymme tässä osiossa tärkeimpiin ja tutustumme muihin myöhemmin oppimisen edetessä.

Esimerkiksi luodaan toinen taulu, jossa käytetään erilaisia tietotyyppejä:

1234567
CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), birthdate DATE, salary DECIMAL(10, 2), is_active BOOLEAN );
copy

Tällä kyselyllä luodaan tyhjä taulu, jonka on tarkoitus sisältää tietoa käyttäjistä, mukaan lukien:

  1. ID, jonka tietotyyppi on kokonaisluku;
  2. Tieto name-kentästä, jonka tietotyyppi on VARCHAR(50);
  3. Tieto syntymäpäivästä, jonka tietotyyppi on DATE;
  4. Tieto palkasta, jonka tietotyyppi on liukuluku;
  5. Tieto siitä, onko käyttäjä aktiivinen, tietotyypillä, joka hyväksyy vain true- tai false-arvot.

Rajoitteet

SQL:ssä rajoitteet ovat sääntöjä, joita sovelletaan sarakkeisiin tietojen eheyden varmistamiseksi. Esimerkiksi, kun käytämme PRIMARY KEY -määritystä ID:n yhteydessä, se tarkoittaa, että tämän sarakkeen arvot ovat yksilöllisiä eikä sarake voi olla tyhjä. Jokaisella taululla voi olla vain yksi PRIMARY KEY.

Tässä on joitakin yleisiä rajoitteita:

  • NOT NULL: Varmistaa, että sarake ei voi sisältää tyhjiä arvoja.
  • UNIQUE: Varmistaa, että kaikki sarakkeen arvot ovat erilaisia.
  • DEFAULT: Asettaa sarakkeelle oletusarvon, jos arvoa ei anneta.

Nämä ovat vain muutamia esimerkkejä. Katsotaan, miten taulua voidaan muokata sisältämään nämä rajoitteet:

1234567
CREATE TABLE users_2 ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, birthdate DATE, salary DECIMAL(10, 2) DEFAULT 50000, is_active BOOLEAN );
copy

Nyt name-sarakkeessa on aina oltava arvo, eikä se voi olla tyhjä tai null. Lisäksi, jos palkkaa ei määritellä, sen oletusarvoksi tulee 50000.

Tällaisten rajoitteiden käyttö auttaa varmistamaan, että taulun tiedot ovat tarkkoja ja noudattavat asettamiasi sääntöjä.

Tehtävä

Swipe to start coding

Tehtävänäsi on luoda taulu nimeltä library.

Tässä taulussa tulee olla 4 saraketta:

  • id – kokonaisluku, ensisijainen avain;
  • title – merkkijono (varchar), ei saa olla tyhjä;
  • author – merkkijono (varchar);
  • pages – kokonaisluku (int).

Lisää kyselyn loppuun puolipiste (;).

Käytä täsmälleen annettuja sarakenimiä.

Huomio

Oikealla näet paljon koodia; älä muokkaa sitä. Se on kirjoitettu, jotta ratkaisusi tarkistetaan oikein. Opimme kaiken siellä olevan myöhemmin tässä osiossa.

Lyhyet ohjeet

  • Käytä CREATE-lausetta uuden library-taulun luomiseen.
  • Taulussa tulee olla neljä saraketta: id, title, author ja pages.
  • Ensimmäiselle sarakkeelle määrittele INT PRIMARY KEY.
  • Toiselle sarakkeelle määrittele VARCHAR(50) NOT NULL.
  • Kolmannelle sarakkeelle määrittele VARCHAR(50).
  • Neljännelle sarakkeelle määrittele INT.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

close

Awesome!

Completion rate improved to 4
Osio 4. Luku 1
single

single

some-alt