Nggawe tabel sing migunani

Ing ceramah sadurunge, kita wis ngerti pitakon babagan nggawe tabel, saiki wektune kanggo nyelidiki luwih jero.

Nggawe tabel meh padha karo nyatakake kelas ing Jawa lan duwe pola iki:

CREATE TABLE table_name (
	column1 datatype,
	column2 datatype,
	column3 datatype,
   ....
);

Contone, ayo nulis pitakon sing nggawe tabel karo pangguna:

CREATE TABLE user (
	id INT,
	name VARCHAR(100),
	level INT,
	created_date DATE,
);

Iku katon banget prasaja, amarga akeh nuansa ora dituduhake ing kene.

Kaping pisanan, tabel bisa uga duwe setelan tambahan.

Lan kapindho, saben kolom bisa duwe setelan tambahan.

Lan kita bakal miwiti karo setelan kanggo nggawe kolom.

Tombol ing meja

Saliyane jeneng lan jinis data, kolom tabel uga bisa duwe setelan ing ngisor iki:

KUNCI UTAMA Kolom minangka kunci meja
KUNCI UNIK Kabeh nilai kolom kudu unik.
Nilai DEFAULT Nilai standar
Ora NULL Larangan kanggo nampa nilai NULL
AUTO_INCREMENT SQL Server bakal kanthi otomatis nambah nilai nalika rekaman anyar ditambahake menyang meja
GENERASI Bidang sing diitung
LUMBUNG Where kanggo nyimpen data: ing disk utawa ing memori
KOMENTAR Komentar kolom, contone judhul ing basa lokal

Ing ngisor iki kita bakal ndeleng sawetara.

Kaping pisanan, iku KUNCI UTAMA .

Paling asring, iki minangka kolom kapisah kanthi jeneng id lan jinis INT. Iki minangka "kunci master" meja, lan kabeh baris duwe nilai unik kanggo tombol iki. Utamane digunakake supaya tabel liyane bisa ngrujuk menyang cathetan tabel kita lan nuduhake rekaman tartamtu.

Kapindho yaiku KUNCI UNIK .

Ing sawetara cara, padha karo KUNCI PRIMARY, sanajan beban semantike beda banget. Yen kolom nduweni atribut UNIK, kabeh nilai ing kolom kasebut kudu unik. Conto apik saka prabédan antarane KUNCI UNIK lan KUNCI PRIMARY yaiku dhaptar wong ing kantor paspor.

Nomer tax punika KUNCI PRIMER, digunakake kanggo nggawe iku gampang kanggo deleng wong tengen saka tabel liyane.

Nomer paspor minangka KUNCI UNIK. Ora ana wong loro sing duwe nomer paspor sing padha. Nanging, nomer paspor bisa diganti. Contone, nalika ngganti jeneng. Lan nomer pajak bakal tetep karo sampeyan ing salawas-lawase. Iki minangka tugas utama KUNCI UTAMA. Conto pitakon sing nemtokake KUNCI UTAMA:

CREATE TABLE user (
	id INT PRIMARY KEY,
	name VARCHAR(100),
	level INT,
	created_date DATE,
);

Setelan jinis data

Ana atribut sing kurang penting nanging migunani.

Nilai DEFAUL

Nalika nglebokake data (nambahake baris anyar) menyang tabel, sampeyan bisa ninggalake nilai sawetara kolom yen padha duwe nilai standar. Ing kasus iki, server SQL mung bakal nyetel nilai kolom kasebut dhewe.

Miwiti karo versi 8 MySQL, sampeyan bisa nemtokake ekspresi minangka nilai.

Ora NULL

Yen sampeyan nemtokake atribut NOT NULL kanggo kolom nalika nggawe tabel, banjur SQL Server bakal mesthekake yen ora bisa nyimpen nilai NULL ing kolom iki. Kanthi gawan, sembarang kolom bisa duwe nilai NULL, malah kolom INT. Sing rada ora jelas kanggo programer Java.

AUTO_INCREMENT

Biasane digunakake kanggo id kolom. Yen sampeyan nambahake baris anyar menyang tabel, sampeyan pengin server SQL menehi id kanggo entri iki. Sapa sing luwih apik tinimbang server ngerti carane akeh larik ing meja. Utamane yen panjalukan saka klien sing beda menyang server SQL sing padha.

Iki persis apa sing ditindakake atribut AUTO_INCREMENT. Nalika nambahake baris anyar, kita mung ora pass apa-apa minangka id, lan SQL server bakal nemtokake ID bener kanggo rekaman iki: iku mung bakal njupuk ID saka rekaman pungkasan ana lan nambah dening 1. Atribut iki mung bisa digunakake karo jinis integer lan nomer nyata. Lan, mesthi, ayo nggawe conto nggawe tabel kasebut:

CREATE TABLE user (
	id INT PRIMARY KEY AUTO_INCREMENT,
	name VARCHAR(100) NOT NULL,
	level INT DEFAULT 1,
	created_date DATE NOT NULL,
);