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

book
Create ja Rajoitteet

Aiemmin työskentelimme eri yrityksissä ja suoritimme SELECT-kyselyitä heidän tarpeisiinsa. Meidän on kuitenkin opittava kuinka luoda ja muokata tauluja.

Taulut luodaan käyttämällä CREATE-lausetta, joka on rakenteeltaan samanlainen kuin SELECT-lause, paitsi että valitsemisen sijaan se luo tietoja:

CREATE TABLE example (
id INT PRIMARY KEY,
some_info VARCHAR(50)
);
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 virheen, joka sanoo, että taulu on jo olemassa. Nämä koodiesimerkit ovat esimerkkejä, ja myöhemmin tehtävässä näihin juuri luotuihin tauluihin lisätään tietoja ja ne näytetään näytöllä, jotta näet, 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 kullekin sarakkeelle käytetyt datatyypit:

  • INT on kokonaislukudataa varten;

  • VARCHAR(50) on tekstiä varten, sallien enintään 50 merkkiä.

Emme käsittele kaikkia datatyyppejä nyt, koska niitä on monia. Keskitymme tässä osiossa tärkeimpiin ja tutkimme muita oppimisen edetessä.

Esimerkiksi, luodaan toinen taulu eri datatyypeillä:

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

Tällä kyselyllä luomme tyhjän taulun, jonka pitäisi sisältää tietoa käyttäjistä, mukaan lukien:

  1. ID , jolla on kokonaisluku datatyyppi;

  2. Tietoa name :sta, jolla on VARCHAR(50) datatyyppi;

  3. Tietoa syntymäpäivästä, jolla on DATE datatyyppi;

  4. Tietoa palkasta, jolla on liukuluku datatyyppi;

  5. Onko käyttäjä aktiivinen, datatyypillä, 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 ID:n vieressä, se tarkoittaa, että tämän sarakkeen arvojen on oltava yksilöllisiä eikä se voi olla tyhjä. Jokaisella taululla voi olla vain yksi PRIMARY KEY.

Tässä on joitakin yleisiä rajoitteita:

  • NOT NULL : Tämä varmistaa, että sarakkeessa ei voi olla tyhjiä arvoja.

  • UNIQUE : Tämä varmistaa, että kaikki sarakkeen arvot ovat erilaisia.

  • DEFAULT : Tämä asettaa oletusarvon sarakkeelle, jos arvoa ei anneta.

Nämä ovat vain muutamia esimerkkejä. Katsotaanpa, kuinka voimme muokata taulua sisällyttämään nämä rajoitteet:

CREATE TABLE users_2 (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
birthdate DATE,
salary DECIMAL(10, 2) DEFAULT 50000,
is_active BOOLEAN
);
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, koska se ei voi olla tyhjä tai null. Myös, jos palkkaa ei ole määritelty, se oletetaan 50000.

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

Tehtävä

Swipe to start coding

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

Tässä taulussa tulisi olla 4 saraketta:

  • id - kokonaisluku, ensisijainen avain;
  • title - varchar, ei null-arvoa;
  • author - varchar;
  • pages - int.

Kyselyn lopussa varmista, että lisäät puolipisteen (;).

Käytä näitä sarakkeiden nimiä täsmälleen kuten määritelty.

Huom

Oikealla näet suuren määrän koodia; älä muuta sitä. Se on kirjoitettu varmistamaan, että ratkaisusi tarkistetaan oikein. Opimme kaiken siellä kirjoitetun myöhemmin tässä osiossa.

Lyhyet ohjeet

  • Käytä CREATE-kyselyä luodaksesi uusi taulu nimeltä library.
  • Taulussa tulisi olla neljä saraketta: id, title, author ja pages.
  • Ensimmäiselle sarakkeelle määritä INT PRIMARY KEY.
  • Toiselle sarakkeelle määritä VARCHAR(50) NOT NULL.
  • Kolmannelle sarakkeelle määritä VARCHAR(50).
  • Neljännelle sarakkeelle määritä INT.

Ratkaisu

CREATE TABLE library (
id INT PRIMARY KEY,
title VARCHAR(50) NOT NULL,
author VARCHAR(50),
pages INT
);

-- Please do not modify the code below!
-- It is necessary for the correct execution of the task.
-- Later, we will review everything written below; you don't need it right now.

INSERT INTO library (id, title, author, pages) VALUES
(1, 'CAMINO GHOSTS', 'John Grisham', '213'),
(2, 'FUNNY STORY', 'Emily Henry', '341');

SELECT * FROM library;

DROP TABLE IF EXISTS library;
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 1
-- Write your solution here






-- Please do not modify the code below!
-- It is necessary for the correct execution of the task.
-- Later, we will review everything written below; you don't need it right now.

INSERT INTO library (id, title, author, pages) VALUES
(1, 'CAMINO GHOSTS', 'John Grisham', '213'),
(2, 'FUNNY STORY', 'Emily Henry', '341');

SELECT * FROM library;

DROP TABLE IF EXISTS library;
Query ResultQuery Result
No query executed yet...

Kysy tekoälyä

expand
ChatGPT

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

We use cookies to make your experience better!
some-alt