Programcıların Bilmesi Gereken 13 Temel SQL Komutu ve Sorgusu

Programcıların Bilmesi Gereken 13 Temel SQL Komutu ve Sorgusu

Veritabanları çağdaş ağın omurgasını oluşturur. Her büyük yada dinamik internet sayfası bir halde bir veritabanı kullanır ve SQL komutlarıyla (Yapılandırılmış Sorgu Dili) birleştirildiğinde, verileri işleme olanakları hakikaten sonsuzdur.

Veritabanı tablosundan döndürülen veriler için birçok ad vardır. Veriler çoğu zaman Satırlar, Kayıtlar, yada Dizilerini. Bu terimlerin her biri bu yazı süresince birbirinin yerine kullanılmaktadır.

Önsöz

Tüm örnekler dört kurgusal tabloya dayanmaktadır. Bu, bir sonraki alan kişi tablo müşterilerin adını ve yaşını ihtiva eder:

Ad Yaş
Joe 99
James 78
Ryan 101

Bu, bir sonraki Heights tablo herhangi bir kişinin adını ve yüksekliğini ihtiva eder:

Ad Yükseklik
Joe 101
James 102
Ryan 103

Bu, bir sonraki personel tablo, alan kişi tablosuyla tamamen aynı olan personel üyelerinin adını ve yaşını ihtiva eder:

Ad Yaş
Joe 17
James 24
Ryan 18

Son tablo halk alan kişi ve personel tabloları benzer biçimde insanların adını ve yaşını ihtiva eder:

Ad Yaş
Joe 98
James 99
Ryan 100

1. Seçin

Bu, bir sonraki seçmek komutu, SQL komutları paketindeki en kolay, sadece en mühim SQL sorgularından biridir.

Select komutunun okunmasını ve anlaşılmasını kolaylaştıran ayrılmış SQL sözdiziminizi büyük harfle yazmak en iyi uygulama olarak kabul edilir.

Adından da anlaşılacağı benzer biçimde, select seçmek veritabanındaki veriler. İşte en kolay kullanım:

SELECT * FROM table;

Bu komut satırının iki kısmı vardır. İlk bölüm (* ÖĞESINI SEÇIN) seçmek istediğiniz sütunları belirtir.

Yıldız işareti, tanımlanan tablodan tüm sütunları seçmek istediğinizi gösterir. İkinci bölüm (FROM tablosu) veritabanı altyapınıza bu verileri nereden almak istediğinizi söyler.

Değişiklik yapmak masa veritabanı tablonuzun adıyla beraber.

Bu select deyimi şu şekilde bilinir: yıldız seçmek. Yıldız işareti, tablodaki verilerin ne işe yaradığını bulmanın iyi bir yoludur, sadece üretim kodları için daima önerilmez.

Bir çok süre, tonlarca kod satırıyla çalışıyor olmuş olursunuz, bu da select * deyiminizin sisteminizi limbo moduna alacağı anlamına gelir. Bunun sebebi, tanımlanan tablodan tüm veri satırlarını getirmeye çalışmasıdır.

Belirli bir yıldız kullanırken, size istediğiniz verileri sunmak veritabanı altyapısına kalmış. Verilerin döndürülme sırası üstünde herhangi bir denetiminiz yoktur, bundan dolayı birisi tabloya yeni bir sütun eklerse, programlama dilinizdeki değişkenlerinizin artık doğru verileri temsil etmediğini görebilirsiniz. Her neyse ki, bir çözüm var.

Hangi sütunları almak istediğinizi açıkça belirtebilirsiniz, şu şekilde:

SELECT age, name FROM people;

Bu sorgu, yaş ve ad sütunlarını sütunlar. Bu açık olmak, oldukça fazla veriniz var ise birazcık bunaltan olabilir, sadece bunu yapmak, SQL sorgunuzun anlaşılmasını kolaylaştırmanın yanı sıra gelecekte sorunları azaltacaktır.

Ek bir veri parçası seçmek istiyorsanız, sadece tablolarınızın hiçbirinde depolanmıyorsa, bunu şu şekilde yapabilirsiniz:

SELECT age, '1234' FROM people;

SQL arabirimi

Tek tırnak içindeki herhangi bir mısra, sütun adıyla eşleşmek yerine döndürülür.

İlgili: SQL vs. NoSQL: Bir Sonraki Projeniz İçin En İyi Veritabanı Nedir?

2. Nerede

Select komutu veri almak için mükemmeldir, sadece neticeleri belirli ölçütlere gore filtrelemek istiyorsanız ne olur?

Bir tek mavi gözlü insanları geri almak ne olacak? Peki ya Ocak ayında doğan ve tamirci olarak çalışan insanoğlu?

Burası. nerede komutu gelir. Bu SQL komutunun kullanımı, select deyimiyle koşulları uygulamanıza olanak tanır ve yalnızca deyimin sonuna eklersiniz:

SELECT age, name FROM people WHERE age < 100

SQL arabirimi

Bu sorgu artık 100 yaşın altındaki kişilarla sınırlıdır.

Birden oldukça koşulu VE operatör:

SELECT * FROM customer WHERE age > 80 AND age < 100;

SQL arabirimi

Bu, bir sonraki VE komutu tam olarak İngilizce dilinde olduğu benzer biçimde çalışır: ifadeye başka bir şart uygular.

Bununla beraber kullanılabilecek başka bir komut da VEYA. İşte bir örnek:

SELECT * FROM customer WHERE age > 10 OR name = 'Joe';

SQL arabirimi

Bu sorgu, yaşın daha büyük olduğu kayıtları döndürür 90yada adı eşittir Joe.

3. Sipariş

Bu, bir sonraki sipariş komutu, neticeleri artan/azalan düzende sıralamak için kullanılır. Bir tane kullanıyorsanız, where deyiminden sonrasında ifadenizin sonuna eklemeniz yeterlidir:

SELECT * FROM customer ORDER BY age DESC;

SQL arabirimi

Sütunu ve siparişi belirtmeniz gerekir, bu da ASC artan yada DESC alçalma için. ASC yada DESC tanımlanmamışsa, sıralama düzeni varsayılan olarak artacaktır.

Aşağıdaki benzer biçimde birden oldukça sütuna gore sipariş verebilirsiniz:

seçin * yaş desc gore personel siparişi, ad;

SQL arabirimi

SIPARIŞ EDENE GÖRE öteki komutlarla birleştirildiğinde en kullanışlı komutlardan biridir. Tüm sorgular verileri mantıksal yada sıralı bir halde döndürmez; bu komut bunu değiştirmenizi sağlar.

4. Katılın

SQL'deki join komutu birleştirmek bir yada daha çok tabloda depolanan ilgili veriler. Birleşik neticeleri getirmek için bir tabloyu diğerine bir araya getirebilirsiniz.

İşte temel bir örnek:

SELECT age, name, height FROM people 
LEFT JOIN heights
USING (name);

SQL arabirimi

Bununla başlamalısın. SOL BIRLEŞTIRME sol türünde bir birleşim kullanarak bir tabloya katılmak istediğinizi belirten sözdizimi.

İlgili: SQL Birleşimleriyle Aynı Anda Birden Oldukca Veritabanı Tablosu Iyi mi Sorgular

Arkasından, katılmak istediğiniz tabloyu (yükseklikler) belirtin. Bu, bir sonraki KULLANIM (ad) sözdizimi, sütunun ad her iki tabloda da bulunabilir ve bu tabloları birleştirmek için birincil anahtar olarak kullanılmalıdır.

Sütunlarınızın her tabloda değişik adları var ise endişelenmeyin. Kullanabilirsiniz ÜZERİNDE Onun yerine KULLAN -ARAK:

SELECT a.age, a.name,b.Height FROM people a LEFT JOIN heights as b ON a.name = b.name;

SQL arabirimi

On deyimi, hangi sütunların anahtarla açtını açıkça belirtir. Birçok birleştirme türü vardır; kullanımlarının süratli bir özetini aşağıda bulabilirsiniz:

  • (İç) BİRLEŞTİRMEK her iki tabloda da eşleşme olan satırları döndürür.
  • SOL (DıŞ) BIRLEŞTIRME sağ tablodan eşleşmeler olacak şekilde sol tablodaki tüm satırları döndürür. Eşleşme yoksa, sol tablo kayıtları döndürülür.
  • SAĞ (OUTER) BIRLEŞTIRME s sol birleştirmenin tersi: sağ tablodaki tüm satırlar, sol tablodaki eşleşmelerle beraber döndürülür.
  • TAM (DıŞ) BIRLEŞTIRME her iki tabloda da eşleşen tüm kayıtları döndürür.
  • EŞIT OLMAYAN BIRLEŞTIRME: Her iki tablodaki eşleşmeyen kayıtlar netice olarak verilir.

5. Öteki Ad

Öteki Ad komutu, tabloyu geçici olarak tekrardan adlandırmak için kullanılır. Çalıştırdığınız bireysel işlemin içinde bulunan bir takma addır.

Şu şekilde kullanabilirsiniz:

SELECT A.age FROM people as A;

SQL arabirimi

İstediğiniz geçerli adı kullanabilirsiniz, sadece alfabe harflerini kullanmak daima en iyisidir. Her sütun adından ilkin, öteki ad öneklendirilir.

Bu öteki ad, bildirildikten derhal sonrasında tabloya atanır. Bunu yapmakla aynı şey:

SELECT people.age FROM people;

Uzun bir tablo adı yazmak yerine, kolay ve hatırlanması kolay bir harf yazabilirsiniz.

Birden fazla tablo arasından seçim yapıyorsanız, hangi sütunların hangi tabloya ilişkin olduğu mevzusunda kafanız karışmak kolaydır. Her iki tabloda da aynı ada haiz sütunlar var ise, veritabanı sorgunuz tablo adlarına yada öteki adlarına açıkça başvurmadan çalışamaz.

İki tablo içeren bir örnek aşağıda verilmiştir:

SELECT staff.age, staff.name, customers.age, customers.name FROM staff, customers;

Öteki adlarla aynı sorgu alttadır:

SELECT A.age, A.name, B.age, B.name FROM staff A, customers B;

Personel tablosuna Ave alan kişi tablosuna B. Tabloları öteki ad vermek, kodunuzun anlaşılmasını kolaylaştırmaya destek verir ve yapmanız ihtiyaç duyulan yazma miktarını azaltır.

Ek olarak, GİBİ komut:

SELECT age AS person_age FROM people;

SQL arabirimi

Bu sorgu çalıştırıldığında, sütun şimdi person_age Onun yerine yaş.

6. Birlik

Sendika birbirinize satır eklemenize izin verdiği için mükemmel bir komut. Eşleşen sütunları eklenen birleşimlerin aksine, birleşim, sütunların aynı numarasına ve adına haiz olmaları koşuluyla ilgisiz satırları ekleyebilir.

SELECT age, name FROM customer
UNION
SELECT age, name FROM staff;

SQL arabirimi

Birleşim'i iki sorgunun neticelerini birleştirmenin bir yolu olarak düşünebilirsiniz. Birleşim yalnızca iki sorgu içinde benzersiz bir satır olduğunda sonuçlar döndürür.

Bunu kullanabilirsiniz. TÜM BİrLİk tüm verileri döndürmek için sözdizimi, yenidenyinelemeler dless:

SELECT age, name FROM customer
UNION ALL
SELECT age, name FROM staff;

SQL arabirimi

Satırların sırasının iyi mi değiştiğine dikkat edin? Union en verimli şekilde çalışır, bundan dolayı döndürülen veriler sırayla değişebilir.

Birleşim için ihtimaller içinde bir kullanım örneği bir alt toplamdır: toplamın toplam sorgusunu belirli bir senaryo için tek tek toplamların sorgusunda birleşebilirsiniz.

7. Ekle

Kimi zaman, varolan bir veritabanına/tabloya yeni veriler eklemek istersiniz. Burası. sokmak komutu gelir.

Bu, bir sonraki DEĞER sözdizimi, ekleneceğiniz değerleri sağlamak için kullanılır.

INSERT INTO people(name, age) 
VALUES('Joe', 102);

Tablo adını (kişiler) ve kullanmak istediğiniz sütunları (ad ve yaş) belirtmelisiniz. Bu, bir sonraki DEĞER sözdizimi, ekleneceğiniz değerleri sağlamak için kullanılır. Bunlar daha ilkin belirtilen sütunlar ile aynı sırada olmalıdır.

Ekler için where yan tümcesi belirtemezsiniz ve mevcut olan lüzumlu tablo kısıtlamalarını izlediğinizi sağlamanız gerekir.

8. Güncelleme

Bazı veriler ilave ettikten sonra, belirli satırları değiştirmeniz yeterlidir. İşte. güncelleştirmek komut sözdizimi:

UPDATE people SET name = 'Joe', age = 101;

Değişiklik yapmak istediğiniz tabloyu belirtmeniz ve arkasından AYARLAMAK sütunları ve yeni değerlerini belirtmek için sözdizimi.

Daha spesifik olmak gerekirse, NEREDE yan tümceleri tıpkı select deyimi yaparken olduğu benzer biçimde:

UPDATE people SET name = 'Joe', age = 101 WHERE name = 'James';

Hatta kullanarak birden oldukça şart belirtebilirsiniz VE/VEYA:

UPDATE people SET name = 'Joe', age = 101 WHERE (name = 'James' AND age = 100) OR name = 'Ryan';

Parantezlerin koşulları kısıtlamak için iyi mi kullanıldığına dikkat edin.

9. Upsert

Upsert acayip bir kelime, fakat inanılmaz derecede yararlı bir komut. Tablonuzda bir engelleme bulunduğunu ve yalnızca benzersiz adlara haiz kayıtlar istediğinizi belirttiğinizi varsayın; mesela, aynı ada haiz iki satırı depolamak istemezsiniz.

Birden oldukça kıymet eklemeye çalıştıysanız, Joe, veritabanı altyapınız bir hata atar ve bunu yapmayı reddeder (oldukça haklı olarak).

UPSERT, aslına bakarsan var ise bir kaydı güncelleştirmenizi sağlar. Bu inanılmaz derecede yararlı! Bu komut olmadan, ilkin bir kaydın var olup olmadığını denetlemek, yoksa eklemek, aksi takdirde doğru birincil anahtarı almak ve sonrasında güncelleştirmek için birçok mantıksal deyim yazmanız gerekir.

Ne yazık ki, upserts değişik veritabanı altyapılarında değişik şekilde uygulanır. PostgreSQL bu kabiliyeti yeni kazanmıştır, oysa MySQL oldukça uzun bir süredir buna sahipti. Müracaat için MySQL sözdizimi alttadır:

INSERT INTO people(name, age)
VALUES('Joe', 101)
ON DUPLICATE KEY UPDATE age = 101;

Bunun aslına bakarsak iyi mi bir güncelleme ve bir insert deyimi olduğuna dikkat edin, bu da eklenemediyse güncelleştirin.

10. Sil

Silmek kayıtları tamamen kaldırmak için kullanılır; yanlış kullanıldığında oldukça zarar verici olabilir.

Temel sözdiziminin kullanımı oldukça kolaydır:

DELETE FROM people;

Öteki komutların bir çoğu gibi, bu da herşey. İdeal olarak birazcık daha saner sayıda satırla sınırlamak için bir yer kullanmanız gerekir:

DELETE FROM people WHERE name = 'Joe';

Bir sistem geliştiriyorsanız, çoğu zaman bir yazılım silme. Silme komutunu hiçbir süre çalıştırmazsınız; bunun yerine silinmiş bir sütun oluşturursunuz ve sonrasında bu sütunu seçtiğinizde denetlersiniz. Bu, sözde silinen kayıtları süratli ve kolay bir halde alabilirseniz, birçok potansiyel utancı önleyebilir. Sadece bu, uygun yedeklemelerin yerini tutmaz.

11. Tablo Oluştur

Bu, bir sonraki tablo oluşturma komutu tablo oluşturmak için kullanılır. Başka bir kolay ve temel sorgu işlemidir:

CREATE TABLE people (
name TEXT,
age, INTEGER,
PRIMARY KEY(name)
);

SQL arabirimi

Sütun adlarının ve engellemelerinin köşeli ayraçların içinde iyi mi olduğuna ve sütunlara uygun bir veri türü verildiğine dikkat edin.

İlgili: SQL'de Tablo Iyi mi Oluşturulur

Herhangi bir iyi veritabanı tasarımında gerektiği benzer biçimde bir birincil anahtar belirtilir.

12. Tabloyu Değiştir

Bu, bir sonraki değişiklik yapmak komutu bir tablonun yapısını değiştirebilmek için kullanılır. Bu birazcık sınırlıdır, zira veritabanınız, varolan veriler bir çakışmaya niçin olacaksa bir tabloyu değiştirmenize izin vermez; Bu durumlarda, ilkin verileri düzeltin, sonrasında tabloyu değiştirin. İşte bir örnek:

ALTER TABLE people ADD height integer;

Bu örnek, yükseklik kişiler tablosuna tamsayı türünde. Değiştirebileceğin şeyin bir sınırı yok.

13. Tablo Bırak

Son komut: tablo bırakma. Bunu silme olarak düşünün, sadece tek bir kaydı silmek yerine, tabloyla beraber her kaydı kaldırır. Şu şekilde kullanabilirsiniz:

DROP TABLE people;

Oldukça sert bir komut ve sisteminize programlanması için hiçbir niçin yok. Oldukça yıkıcı olabileceği için vakaların büyük çoğunluğunda bir tek manuel olarak yapılmalıdır.

Dışarıdaki Her Programcı için SQL Komutları

SQL, veritabanlarından /veritabanlarına veri ayıklamaya, dönüştürmeye ve yüklemeye destek olabilecek oldukça yaygın, sadece kuvvetli bir araçtır. Veri sorgulamanın aslı SQL'dedir. Dile hakim olmak için, en iyi kullanım örnekleri için bazı komutlarda iyi mi çalışacağınızı bilmeniz gerekir.

Yorum Yap
0 Yorum yapan