0% found this document useful (0 votes)
4 views3 pages

SQL03

Uploaded by

kmltykmlty
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views3 pages

SQL03

Uploaded by

kmltykmlty
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

SQL Ders 3: Tablo Düzenleme Komutları BPR203 Veritabanı

Yönetim. Sis. II

Bu Derste Öğrenecekleriniz:
1. Nesnelerin adını değiştirme
2. Herhangi bir Sütunun Özelliklerini değiştirme
3. Tabloya Sütun(alan) ekleme
4. Tabloya yeni sınırlandırma (constraint) ekleme
5. Tablodan Sütun(alan) Silme
6. Tablodan sınırlandırma (constraint) silme

1. Nesnelerin adını değiştirme


Veri tabanında herhangi bir nesnenin adını değiştirmek için MS SQL de sp_rename prosüdürü
kullanılır. sp_rename prosedürü ile tablo, sütun, index, view, stored procedure, trigger, rule veya
constraint isimleri değiştirilebilir. Constraint ler daha önce de işlediğimiz gibi CHECK, FOREIGN KEY,
PRIMARY/UNIQUE KEY olabilir.

Sp_rename kullanımı: sp_rename ‘eski isim’, ‘yeni isim’

SP_RENAME 'ÖĞRENCİ[Link]', 'ÖĞRENCİ NO'

Öğrenciler tablosundaki “NUMARA” alanı, “ÖĞRENCİ NO” olarak değişecektir. Burada dikkat
edilmesi gereken isimlerin tırnak içerisinde kullanılmasıdır.
SP_RENAME 'SINAVLAR', 'NOTLAR'
Burada da “SINAVLAR” tablosu “NOTLAR” olarak değişecektir.

SP_RENAME 'CHK_MAIL','CHK_ÖĞRENCİ_MAIL'
Burada 'CHK_MAIL' olan constraint imizin adı 'CHK_ÖĞRENCİ_MAIL' olarak değişecektir.

Veri tabanının adını değiştirmek için ise sp_renamedb prosedürü kullanılır.

SP_RENAMEDB 'BMYO', 'OKUL'


“BMYO” ismindeki veri tabanımızın yeni adı “OKUL” olacaktır.

2. Herhangi bir Sütunun Özelliklerini değiştirme


Veritabanlarında fiziksel değişiklikler yapmak için ALTER anahtar sözcüğü kullanılır. Aşağıdaki yazım
kuralı tüm olayı özetlemektedir.

ALTER TABLE tablo_adı


{ [ ALTER COLUMN alan_adı { yeni_veri_tipi [ NULL | NOT NULL ] } ]
| ADD { [ < alan_tanımlaması > ] } [ ,...n ]
| ADD { < constraint_tanımlaması > } [ ,...n ]
| DROP { [ CONSTRAINT ] constraint_adı | COLUMN alan_adı } [ ,...n ]
}

Bir alanın veri tipini değiştirmek için aşağıdaki kod kullanılır. Bir alandan zorunluluğu kaldırmak veya
bir alanı zorunlu hale getirmek içinde aşağıdaki kod kullanılabilir.

ALTER TABLE tablo_adı ALTER COLUMN alan_adı yeni_veri_tipi [NULL|NOT NULL]

Bartın MYO – Öğr. Gör. Bayram AKGÜL 1


SQL Ders 3: Tablo Düzenleme Komutları BPR203 Veritabanı
Yönetim. Sis. II

Aşağıda örnek bir tablo verilmiştir. Burada başlangıçta KİŞİLER tablosunda TELEFON alanı CHAR(16)
olarak tanımlanmış ve NULL olarak işaretlenmiştir, yani boş bırakılabilir. Ama biz bunu ALTER komutu
ile yeniden düzenleyeceğiz.

CREATE TABLE KİŞİLER


(
NUMARA INT PRIMARY KEY NOT NULL,
ADI VARCHAR(25) NOT NULL,
SOYADI VARCHAR(25) NOT NULL,
TELEFON CHAR(16) NULL,
ADRES VARCHAR(255) NULL
)

ALTER TABLE KİŞİLER


ALTER COLUMN TELEFON VARCHAR(20) NOT NULL

Yeni durumda KİŞİLER tablosundaki TELEFON alanı VARCHAR(20) olacak ve NOT NULL olarak
işaretlenmiş olacak yani boş bırakılamayacak.

3. Tabloya Sütun Ekleme


Tabloya sütun eklemek için aşağıdaki kod kullanılır.

ALTER TABLE tablo_adı ADD sütun_adı sütun_özellikleri

ALTER TABLE KİŞİLER ADD MAIL VARCHAR(250) NULL

Burada KİŞİLER tablosuna MAIL alanı VARCHAR(250) olarak eklenecek ve NULL olarak
işaretlenecektir.
Bir seferde birden fazla alan farklı özelliklerle eklenebilir. Örnek olarak aşağıdaki iki ayrı kodu
inceleyin. İlkinde kişiler tablosuna iki ayrı alan iki farklı özellikte eklenmiştir, ikincisinde ise satır içi
constraintler ile beraber eklenmiştir.

ALTER TABLE KİŞİLER


ADD ALAN1 INT NOT NULL,
ALAN2 SMALLINT NULL

ALTER TABLE KİŞİLER


ADD ALAN3 INT UNIQUE NOT NULL,
ALAN4 INT IDENTITY(100,1) ,
ALAN5 VARCHAR(25) DEFAULT 'DENEME'

4. Tabloya yeni sınırlandırma (constraint) ekleme


Tabloya sınırlandırma eklemek için aşağıdaki kod kullanılır.

ALTER TABLE tablo_adı ADD constraint_tanımlaması

ALTER TABLE KİŞİLER


ADD CONSTRAINT CHK_MAIL CHECK(MAIL LIKE '%@%.%')

Bartın MYO – Öğr. Gör. Bayram AKGÜL 2


SQL Ders 3: Tablo Düzenleme Komutları BPR203 Veritabanı
Yönetim. Sis. II

Burada KİŞİLER tablosuna sonradan CHK_MAIL adında mail kontrolü için bir constraint eklenmiştir.
Tabloya yeni alan ekleyince yaptığımız gibi bir defada birden fazla constraint de eklenebilir.

ALTER TABLE KİŞİLER


ADD CİNSİYET CHAR(5) NOT NULL,
CONSTRAINT CHK_MAIL CHECK(MAIL LIKE '%@%.%'),
CONSTRAINT CHK_CINS CHECK(CİNSİYET IN ('BAY', 'BAYAN'))

Yukarıdaki örnekte görüldüğü gibi alanlar ile constraint’ler beraber eklenebilirler.

5. Tablodan Sütun(alan) Silme


Bir tablodan alan silmek için aşağıdaki kod kullanılır.

ALTER TABLE tablo_adı DROP COLUMN alan_adı

Örneğin kişiler tablosundan telefon alanını silmek istiyorsam aşağıdaki kodu kullanırım.

ALTER TABLE KİŞİLER DROP COLUMN TELEFON

Bir defada birden fazla alan silinebilir.

ALTER TABLE KİŞİLER DROP COLUMN ALAN1, ALAN2

6. Tablodan sınırlandırma (constraint) silme


Bir tablodan CONSTRAINT silmek için aşağıdaki kod kullanılır.

ALTER TABLE tablo_adı DROP [CONSTRAINT] constraint_adı

Dikkat edilirse constraint silme ile alan silme mantık olarak aynı. Burada bilinmesi gereken fark
constraint silerken CONSTRAINT anahtar sözcüğünün Opsiyonel olmasıdır.

ALTER TABLE KİŞİLER DROP CONSTRAINT CHK_MAIL

Constraint silerken de bir defada birden fazla silebiliriz.

ALTER TABLE KİŞİLER DROP CONSTRAINT CHK_MAIL, CHK_CINS

Constraint’ler ve alanlar beraber de silinebilirler.

ALTER TABLE KİŞİLER


DROP CONSTRAINT CHK_MAIL, CHK_CINS,
COLUMN ALAN1, ALAN2

Bartın MYO – Öğr. Gör. Bayram AKGÜL 3

You might also like