create table if not exists student( name varchar(20),
surname varchar(30),
age tinyint unsigned) engine=İnnoDB default charset=utf8;
Primary key haqqında.
Cədvəlləri yaradarkən onların unikallığını (vahidliyini) təmin etmək lazımdır.
Tutaq ki aşağıdakı kimi cədvəlimiz var.Və bu cədvəldə mümkündür ki eyni ad , soyad və yaşa malik şəxslər qeyd olunsun.Bu zaman onları dəyişik
salmamaq üçün bizə bir fərqləndirici açar lazımdır.
ID
|
NAME
|
SURNAME
|
AGE
|
1
|
Saleh
|
Əliyev
|
24
|
2
|
Nicat
|
Süleyman
|
29
|
3
|
Fizuli
|
Əhmədov
|
20
|
4
|
Saleh
|
Əliyev
|
24
|
Cədvəlin unikallığını təmin etmək üçün əlavə bir sütün - ID sütünu yaradılır.Bu sadəcə nömrələmə funksiyasını yerinə yetirəcəkdir.Və məhz bu id ilə biz yuxarıdakı cədvəldə id -si 1 olan Saleh Əliyev -lə id-si 4 olanı ayırd edə bilirik. Bu ID sütünu primary key rolunu oynayır.
Cədvəllərdə id-lər heç vaxt istifadəçi tərəfindən əllə daxil edilmir.MySQL -də bunun üçün xüsusi artırma funksionallığı auto_increment vardır.
Cədvəllərdə hansı sütunu unikal olaraq təyin etmək istəyiriksə onu primary key edirik.ID sütünu cədvəllərdə hər zaman primary key olaraq yaradılır.
Sütunların özünün xüsusi atributları olur. məsələn null və not null kimi.
Hansı sütuna informasiyanın daxil edilməsi mütləqdirsə ona not null yazmaq lazımdır.Əgər bunu yazmırıqsa o zaman avtomatik olaraq default dəyər null kimi qəbul edilir.
create table if not exists student( id int not null auto_increment,
name varchar(30) default 'unknown', surname varchar(40) default 'unknown', age int default 0,
primary key(id)) engine=InnoDB charset=utf8;
Cədvəli yaradarkən primary key -i təyin etmək üçün başqa üsül da vardır :
create table if not exists student(
id int not null auto_increment primary key, name varchar(30) default 'unknown', surname varchar(40) default 'unknown', age int default 0)
engine=InnoDB charset=utf8;
Bu halda da yenə eyni cədvəli yaratmış olacağıq.Yaratdığımız cədvələ məlumatlar əlavə etməklə id- nin necə avtomatik artdığını görə bilərik:
insert into student(name,surname,age) values('Eli','Eliyev',20)
,('Azer','Kerimov',30), ('Gunay','Semedova',22);
Dostları ilə paylaş: |