Grow with AppMaster Grow with AppMaster.
Become our partner arrow ico

SQL Oluşturma Tablosu

SQL Oluşturma Tablosu

SQL , mühendislerin ilişkisel veritabanlarında depolanan verileri işlemek veya ilişkisel veri akışı yönetim sistemlerinde akış işlemek için kullandıkları alana özgü bir dildir. Verileri tablolar aracılığıyla ilişkisel bir veritabanında saklayabilirsiniz. Bu süreçte yapılacak ilk şey, üzerinde çalışmak istediğiniz veritabanını oluşturmaktır. Ardından, gerçek verilerin saklanacağı tablolar oluştururuz. Böyle bir veritabanındaki bir tablonun hem satırları hem de sütunları olacaktır.

Depolayabileceği veri türünü belirleyen her sütunla ilişkilendirilmiş belirli bir veri türü olacaktır. Tabloyu oluştururken her sütunun adını ve veri tipini belirtmemiz gerekiyor. Hem MySQL hem de PostgreSQL veritabanlarında SQL CREATE TABLE komutunu kullanarak bir tablo oluşturabilirsiniz.

CREATE TABLE SQL deyimine daha yakından bakalım.

SQL ile nasıl tablo oluştururum?

MySQL'de aşağıdaki sözdizimi ile bir tablo oluşturabilirsiniz:

TABLO OLUŞTUR tablo_adı(

column_1 data_type varsayılan değeri column_constraint ,

column_2 data_type varsayılan değeri column_constraint ,

...,

…,

tablo_kısıtlaması

);

Bir tablo oluştururken sahip olmanız gereken temel şeyler, adı ve en az bir sütun adıdır. Belirli bir tablo adına sahip yalnızca bir veritabanı tablosu olmalıdır. Aynı isimde iki tablo oluşturmaya çalışırsanız, veritabanı size bir hata mesajı gösterecektir.

Köşeli parantez içinde tabloda yapmak istediğimiz kolonların isimlerini ve içine girilecek datanın data tipini belirtiyoruz. Virgüller bu sütunların adlarını ayıracaktır. Her sütunu ad, veri türü, sütunun varsayılan değeri ve bir veya daha fazla sütun kısıtlaması oluşturur.

Sütun kısıtlamaları, sütunda saklanabilecek gerçek veri değerini kontrol eder. Örneğin, NOT NULL kısıtlaması, söz konusu sütunda NULL değerlerin bulunmadığını garanti eder. Tek bir sütun için birden fazla kısıtlamanız olabilir. Örneğin, bir sütun hem NOT NULL hem de UNIQUE kısıtlamalarını içerebilir.

Tablodaki tüm sütunlara kısıtlamalar uygulamak istiyorsanız, tablo kısıtlamalarını kullanabilirsiniz. Aynı bazı örnekler YABANCI ANAHTAR , KONTROL ve BENZERSİZ'dir . Her tablonun bir veya birden fazla sütundan oluşan bir birincil anahtarı olabilir. Bu birincil anahtar, bir tablonun her kaydını benzersiz şekilde tanımlamak için kullanılır. Normalde, önce birincil anahtar sütununu, ardından diğerlerini listelersiniz. İki veya daha fazla sütundan oluşuyorsa, PRIMARY KEY kısıtlamasını bir tablo kısıtlaması olarak bildirmeniz gerekir.

Bir örneğe bakalım:

TABLO MÜŞTERİLERİ OLUŞTURUN(

ID INT NULL DEĞİL,

İSİM VARCHAR (20) NULL DEĞİL,

YAŞ INT NULL DEĞİL,

MAAŞ ONDALIK (18, 2),

BİRİNCİL ANAHTAR (ID)

);

Burada tablonun adı "MÜŞTERİLER" ve birincil anahtarı ID'dir. ID, NAME ve AGE sütunlarında NOT NULL sınırlaması vardır. Adın uzunluğu 20 karakterden az olmalıdır. Şimdi SQL CREATE TABLE komutu ile bir tablo oluşturduk ve ilgili datayı ona ve veritabanına ekleyebiliriz.

MySQL/PostgreSQL'de bir tablonun içinde bir tablonuz olabilir mi?

Bir tablonun içinde bir tabloya sahip olmak, tabloların iç içe geçmesi olarak adlandırılır. Bunun için SQL CREATE TABLE komutu ile başka bir tablonun içinde bir tablo oluşturmamız gerekecekti. Bu MySQL'de olmayan bir kavramdır. Ancak, bir birincil anahtar ve bir yabancı anahtar kullanarak iç içe tablolara sahip olmakla aynı sonucu elde edebiliriz. Bu, iki tablo arasında bir ebeveyn-çocuk ilişkisi yaratır.

Bir tablodaki başka bir tablonun BİRİNCİL ANAHTARINA başvuran bir alan veya alan grubu, YABANCI ANAHTAR olarak bilinir. Ana birincil anahtarın bulunduğu tablo ana tablo, yabancı anahtarın bulunduğu tablo ise alt tablo olarak adlandırılır.

Örneğin, Birincil anahtarı VehId olan bir ana tablomuz olduğunu varsayalım. Sırasıyla birincil anahtar CarId'li Car ve birincil anahtarlı TruckId'li Truck olmak üzere iki tablomuz daha var. VehId'i hem Araba hem de Kamyon'a yabancı anahtar olarak koyarsak, Araç onun üst tablosu olacak ve böylece bir ebeveyn-çocuk ilişkisi yaratacaktır.

Üst tablo Araç {VehId}

Alt tablolar

1. Araba {VehId,CarId}

2. Kamyon {VehId,TruckId}

Önce oluşturmadan bir SQL tablosunu seçmek mümkün müdür?
Bir veritabanından veri seçmek için SELECT deyimini kullanırız. Bundan elde edilen veriler, sonuç kümesi adı verilen bir sonuç tablosunda tutulur. Bu, bir tablonun bir bölümünü veya tüm tabloyu tamamen seçmek için kullanılır. SQL CREATE TABLE komutu ile kodlama yaparken ve bir tablo oluşturduğunuzda, oluşturduğunuz tabloları görüntülemek için SELECT komutunu kullanabilirsiniz.

Sözdizimi şöyledir:

Sütun_1, sütun_2, … SEÇİN

FROM tablo_adı;

Örneğin, aşağıdaki komut tüm tabloyu seçer.

tablo_adı'ndan * SEÇİN;

İÇİNDE SEÇ
Bir tablodaki veriler, SELECT INTO deyimi kullanılarak başka bir tabloya aktarılır. Bir tablonun tüm sütunlarını diğerine kopyalayabilir. Bu genellikle verilerin kopyalandığı tablo zaten mevcut olduğunda kullanılır.

Bir tablonun tüm sütunlarını seçmek için:

SEÇME *

INTO new_table [harici veritabanında]

FROM old_table

NEREDE koşulu;

Yeni tabloya yalnızca birkaç sütun seçmek için:

sütun_1, sütun_2, sütun_3, ... SEÇ

INTO new_table [harici veritabanında]

Try AppMaster no-code today!
Platform can build any web, mobile or backend application 10x faster and 3x cheaper
Start Free

FROM old_table

NEREDE koşulu;

Peki, SQL CREATE TABLE ile henüz oluşturmadıysak bir tabloyu seçebilir miyiz?

Mantıken, cevap hayır olmalıdır. Ancak durum böyle değil ve henüz oluşturmamış olsak bile bir tabloya seçebiliriz. Bir tablo oluşturulduğunda ve bir tablodaki verilerin yeni oluşturulan tabloya aktarılması gerektiğinde bu yaklaşım kullanılır. Yeni tabloyu oluşturmak için seçilen sütunlarla aynı veri türleri kullanılır.

SQL'de ürün tablosu nasıl oluşturulur?

SQL'de bir ürün tablosu çeşitli şekillerde oluşturulabilir. SQL CREATE TABLE ifadesini kullanmak bir seçenektir. Ürün bilgileri bu beyanın oluşturacağı bir tabloda yer alacaktır. SELECT komutu, tablodan verileri görüntülemek ve almak için de kullanılabilir. Bunların her ikisinin de sözdizimi yukarıda belirtilmiştir.

INSERT komutu, tabloya yeni veri eklemek için de kullanılabilir. INSERT deyimi sayesinde veriler belirlenen konumda tabloya eklenecektir. Veriler ayrıca SELECT sorgusu kullanılarak tablodan çıkarılabilir ve ardından INSERT deyimi kullanılarak başka bir tabloya eklenebilir.

TAKIN
Bir tabloya yeni kayıtlar eklemek için INSERT INTO deyimini kullanırız. INSERT ifadesinin sözdizimi şöyledir:

INSERT INTO tablo_adı (sütun_1, sütun_2, ...)

DEĞERLER (değer_1, değer_2, ...);

Bir ürün tablosunu farklı kılan sadece tasarım yönüdür. Ürünün adı, modeli, sınıfı, model yılı ve liste fiyatının tümü ürün veritabanında saklanır. Her öğe, marka kimliği sütunuyla tanımlanan markanın bir parçasıdır. Sonuç olarak, bir markanın bir veya daha fazla ürünü olabilir. Her ürün, tablodaki kategori kimliği ile tanımlanan bir kategorinin üyesidir.

SQL veritabanları için ne tür veriler uygundur?

SQL CREATE TABLE komutunu kullanırken sütunların veri tiplerinden bahsetmek zorundayız. Bir sütunun içerebileceği veriler bu veri türüne bağlıdır. Örnekler tamsayı, karakter, ikili, tarih ve saati ve daha fazlasını içerir. Bir veritabanı tablosunun her sütun için bir veri türünün yanı sıra bir adı da olmalıdır.

Bir tablo oluştururken, bir SQL programcısı her sütunda ne tür verilerin bulunacağını belirlemelidir. Veri türü, SQL'in depolanan verilerle nasıl arayüz oluşturacağını belirtir. Her sütunda ne tür verilerin beklendiğini belirlemeye yardımcı olur. MySQL 8.0'daki üç ana veri türü dize, sayısal ve tarih ve saattir.

Dize veri türleri
Dize veri türleri genellikle İngiliz alfabesine ait bir dizi karakterdir. Ana dize veri türleri şunlardır:

  • CHAR(boyut)
  • VARCHAR(boyut)
  • İKİLİ(boyut)
  • VARBINARY(boyut)
  • TINYBLOB
  • KÜÇÜKMETİN
  • Yazı Boyutu)
  • BLOB(boyut)
  • ORTAMETİN
  • ORTABLOB
  • UZUNMETİN
  • LONGBLOB
  • ENUM(val_1, val_2, val_3, ...)
  • SET(val_1, val_2, val_3, ...)

Burada SIZE , saklanan verilerin alabileceği maksimum boyutu ifade eder. Bir CHAR sabit uzunlukta bir dizedir, VARCHAR ise değişken bir dize uzunluğunda bir dizedir. Bunlar en çok kullanılan dize veri türleridir. BLOB , İkili Büyük Nesnedir.

Sayısal veri türleri
Sayısal veri türü değişkenleri sayısal verileri tutmak için kullanılır. Ayrıca iki tür veri türüne ayrılırlar - Tam ve Yaklaşık. Kesin veri türleri, veri değerini gerçek biçiminde tutmak için kullanılır. Gerçek sayılar yaklaşık veri türlerinde yer alırken, bilgiler gerçek değerlerin bir kopyası olarak tam anlamıyla kaydedilmez. Başlıca sayısal veri türleri şunlardır:

  • BIT(boyut)\
  • KÜÇÜK(boyut)
  • BOOL
  • BOOLE
  • KÜÇÜK(boyut)
  • ORTA(boyut)
  • INT(boyut)
  • INTEGER(boyut)
  • BÜYÜK(boyut)
  • FLOAT(boyut, d)
  • FLOAT(p)
  • ÇİFT(boyut, d)
  • ÇİFT HASSASİYET(boyut, d)
  • ONDALIK(boyut, d)
  • Aralık(boyut, d)

En sık kullanılan sayısal veri türü INT'dir . Ondalık olmayan sayıları tutmak için kullanılırken, FLOAT veri türlerine sahip değişkenler ondalık sayıları tutmak için kullanılır. BOOL veri türünde sıfır, FALSE olarak kabul edilir ve sıfır olmayan değerler TRUE olarak kabul edilir.

Tarih ve saat
Tarih ve saat veri türleri, tarih verilerini tutmak için kullanılır. Ana tarih ve saat veri türleri şunlardır:

  • TARİH
  • DATETIME(fsp)
  • ZAMAN DAMGASI(fsp)
  • ZAMAN(fsp)
  • YIL

SQL sunucusu veri türleri, yukarıda verilen veri türlerine benzer, ancak küçük sözdizimsel farklılıklara sahiptir.

SQL sunucusundaki değişken türleri nelerdir?

MS SQL sunucusunda iki değişken kategorisi vardır:

Yerel değişken

Bir kullanıcı yerel bir değişken bildirir. Her zaman @ ile başlar. Her yerel değişkenin kapsamı, belirli bir oturumda şu anda çalışmakta olan toplu iş veya işlemle sınırlıdır. Transact-SQL yerel değişkeni, yalnızca belirli bir tür veri değerini depolayabilen bir tür nesnedir. Komut dosyaları ve toplu işlerde sıklıkla değişkenler kullanılır:

  • ya döngünün tekrar oranını yönetmek ya da kaç kez yürütüldüğünü takip etmek için bir sayaç olarak.
  • akış kontrolü kontrolünden geçirilecek bir veri değerini depolamak için.
  • bir işlev dönüş değerinin döndüreceği bir veri değerini tutmak için.

Küresel değişken

Sistem global değişkeni korur. Kullanıcılar bunları herkese açık hale getiremez. @@, global değişkenin başladığı yerdir. Oturumlarla ilgili verileri tutar.

Değişken bildirmek

Herhangi bir değişkeni bir toplu iş veya işlemde kullanmadan önce tanımlamanız yardımcı olacaktır. Bellek konumu değiştirme değişkeni, DECLARE komutu kullanılarak bildirilir. Bir değişken, ancak sonraki toplu iş veya prosedür adımında bildirildikten sonra kullanılabilir.

Try AppMaster no-code today!
Platform can build any web, mobile or backend application 10x faster and 3x cheaper
Start Free

Bir değişken bildirmek için TSQL Sözdizimi şöyle görünür:

DECLARE { @LOCAL_VARIABLE[AS] data_type [ = değer ] }

Programcı ayrıca tanımlanmış bir değişkenin değerine şu şekilde karar verebilir:

  • DECLARE anahtar sözcüğü ile değişken bildirimi sürecinde
  • SET'i kullanma
  • SELECT'i kullanma

SQL'de veri türleri neden önemlidir?

Veri türü, C gibi bir programlama dili veya SQL gibi bir veri işleme dili olsun, herhangi bir kodlama dilinin temel bileşenleri arasındadır. Gerçekte, SQL, çeşitli gerçek veri biçimlerini depolayabilen 30'dan fazla veri türünü destekler. Verilerle uğraşmaya başlamadan önce çeşitli SQL veri türlerini sağlam bir şekilde kavramanız en iyisi olacaktır.

Tablolar gibi veritabanı nesnelerinde tutulabilecek bilgi türleri, SQL veri türleri tarafından belirlenir. Bir tablodaki her sütunun bir adı ve bir veri türü vardır ve her tablonun sütunları vardır. Verileri kullanmadan değiştiremeyeceğiniz için herhangi bir dilin omurgasını oluştururlar.

Tüm veri türlerinin veritabanı sistemleri tarafından desteklenmediğini bilmelisiniz. Bu nedenle, belirli bir veri türünü kullanmadan önce kontrol etmelisiniz. Örneğin Oracle'da DateTime bu veri tipine izin vermediği için kullanamazsınız.

Benzer şekilde MySQL, veri türü olarak Unicode kullanmaz. Belirli veritabanlarının sahip olduğu ekstra veri türlerini kullanabilirsiniz. Örneğin, Microsoft SQL Server'daki "para" ve "küçük para", "kayan" ve "gerçek" yerine kullanılabilir, ancak bu terimler veritabanına özgüdür ve diğer veritabanı sistemlerinde mevcut değildir. Bazen, bazı veritabanlarında belirli veri türleri çeşitli adlara sahip olarak adlandırılır. Örneğin Oracle, "ondalık" sayıyı "sayı" ve "blob" kelimesini "ham" olarak ifade eder.

Birden çok tablo aynı birincil anahtara sahip olabilir mi?

Evet. Birkaç tabloda, birincil anahtar aynı sütun adını paylaşabilir. Bir tablonun içinde sütun adları farklı olmalıdır. Varlıkların bütünlüğünü belirlediğinden, bir tablo yalnızca bir birincil anahtar içerebilir. Her tablo bir birincil anahtar içerebilir, ancak bu gerekli değildir. Birincil anahtar olarak atanan sütun veya sütunlar sayesinde hiçbir iki satır aynı birincil anahtarı paylaşamaz. Bir tablonun birincil anahtarı, başka bir tablonun kayıtlarını tanımlamak ve ikincisinin birincil anahtarının bir parçası olmak için kullanılabilir.

Birincil anahtarda "sıralama ölçütü"nü nasıl kullanırım?

ORDER BY komutu, sonuç kümesini sıralamak için kullanılabilir. Bu, artan veya azalan sırada olabilir. Kayıtlar, genellikle artan düzende ORDER BY anahtar sözcüğü kullanılarak sıralanır. Girişleri azalan düzende düzenlemek için DESC anahtar sözcüğünü kullanabilirsiniz.

Siparişin sözdizimi şöyle görünür:

sütun_1, sütun_2, ... SEÇ

tablo_adı'ndan

SİPARİŞ BY sütun_1, sütun_2, ... ASC|DESC;

Örneğin, Kullanıcılar adında bir tablo olduğunu varsayalım; Kullanıcıların şehrine göre artan veya azalan düzende sıralayabilirsiniz.

KULLANICILARDAN * SEÇİN

İLLERE GÖRE SİPARİŞ;

Aynı şeyi azalan düzende sıralamak için:

KULLANICILARDAN * SEÇİN

Şehre GÖRE SİPARİŞ AÇIKLAMASI;

ORDER BY birincil anahtarda

"RollID" gibi birincil anahtarın adında her zamanki gibi ORDER BY kullanın:

SEÇ * FROM my_table WHERE col_1 < 5 RollID'YE GÖRE SİPARİŞ;

Sorgu iyileştirici, sorguyu nasıl değerlendirmeye karar verdiğine bağlı olarak SİPARİŞ BY'yi ele almak için sorgu sonuç kümesinde etkin bir sıralama yapmak yerine sıralamayı analiz etmek için birincil anahtar dizin yapısını kullanmaya karar verebilir veya vermeyebilir.

ORDER BY yan tümcesi olmayan tek tablo sorgularının çoğu, MySQL InnoDB tabloları yerel birincil anahtar sırasına hangi yaklaşımla sakladığından, sonuçları Birincil anahtar sırasına göre döndürür. Ancak, uygulamanız gerçekten Birincil Anahtar siparişi gerektiriyorsa, yine de ORDER BY kullanabilirsiniz.

Kod geliştirme yok

Kodsuz geliştirme metodolojisi, kodlamanın demokratikleşmesini destekleyen ana faktörlerden biridir. Bu günlerde, prensipte daha fazla kişi herhangi bir kodlama bilmeden bilgisayara erişebiliyor. Duyarlı web sitelerinin yanı sıra mobil uygulamaların oluşturulmasını kolaylaştırır.

low-code-no-code

AppMaster, otomatik olarak kaynak kodu oluşturmanıza yardımcı olabilir. Kod, görüntülemeniz ve incelemeniz için her zaman mevcuttur. AppMaster ile bir programlama dili kullanarak proje ayrıntılarını değiştirme seçeneğiniz vardır. Ayrıca kullanıcılara kodu dışa aktarma seçeneği sunuyoruz. Bu, AppMaster ile geliştirdiğiniz yazılımın tamamen sizin kontrolünüzde ve mülkiyetinizde olduğuna dair bir sözdür.

Çözüm

SQL'i çok çekici kılan çeşitli uygulamalar vardır. Veri entegrasyonu komut dosyaları oluşturmak, analitik sorgular tasarlamak ve yürütmek ve içgörüler ve işlem işleme için bir veritabanından veri alt kümelerine erişmek, en belirgin amaçlarından bazılarıdır. Ayrıca bir veritabanına veri satırları ve sütunları eklemek, değiştirmek ve kaldırmak için de kullanılabilir.

SQL'in derinliklerine girmeden önce, temel komutlarını ve sözdizimini tanımamız gerekir. Yukarıdaki makaleyi inceleyerek, SQL'de kullanılan CREATE TABLE, INSERT INTO, SELECT ve daha fazlası gibi temel ifadeler hakkında daha fazla bilgi edinebiliriz.

İlgili Mesajlar

İhtiyaçlarınıza Uygun Doğru Sağlık İzleme Araçlarını Nasıl Seçersiniz?
İhtiyaçlarınıza Uygun Doğru Sağlık İzleme Araçlarını Nasıl Seçersiniz?
Yaşam tarzınıza ve gereksinimlerinize göre uyarlanmış doğru sağlık izleme araçlarını nasıl seçeceğinizi keşfedin. Bilinçli kararlar almak için kapsamlı bir rehber.
Serbest Çalışanlar İçin Randevu Planlama Uygulamalarını Kullanmanın Faydaları
Serbest Çalışanlar İçin Randevu Planlama Uygulamalarını Kullanmanın Faydaları
Randevu planlama uygulamalarının serbest çalışanların üretkenliğini nasıl önemli ölçüde artırabileceğini keşfedin. Avantajlarını, özelliklerini ve planlama görevlerini nasıl kolaylaştırdıklarını keşfedin.
Maliyet Avantajı: Kodsuz Elektronik Sağlık Kayıtları (EHR) Neden Bütçe Bilinçli Uygulamalar İçin Mükemmeldir?
Maliyet Avantajı: Kodsuz Elektronik Sağlık Kayıtları (EHR) Neden Bütçe Bilinçli Uygulamalar İçin Mükemmeldir?
Bütçe bilincine sahip sağlık uygulamaları için ideal bir çözüm olan kodsuz EHR sistemlerinin maliyet avantajlarını keşfedin. Bankayı kırmadan verimliliği nasıl artırdıklarını öğrenin.
ÜCRETSİZ BAŞLAYIN
Bunu kendin denemek için ilham aldın mı?

AppMaster'ın gücünü anlamanın en iyi yolu, onu kendiniz görmektir. Ücretsiz abonelik ile dakikalar içinde kendi başvurunuzu yapın

Fikirlerinizi Hayata Geçirin