13 En Önemli SQL Komutları Her Programcının Bilmesi Gerekenler

  • Harry James
  • 0
  • 2239
  • 495
reklâm

Veritabanları modern ağı yönlendirir. Her büyük veya dinamik web sitesi bir şekilde ve birleştiğinde veritabanı kullanır. Yapılandırılmış Sorgu Dili (SQL), Verileri manipüle etme olanakları gerçekten sınırsız. Zaten SQL'yi biliyorsanız, bu programlama becerilerini edindiğinizden emin olun 7 Tüm Web Sitesi Geliştiricilerinin Bilmesi Gerekenler Web Sitesi Geliştiriciler Bilmeli Bu heyecan verici alana girmek için şimdi hangi temel becerileri öğrenmeye başlayabileceğinizi göstereceğiz. tüm web sitesi geliştiricileri bilmeli.

Bugün size programcı olarak bilmeniz gereken bazı temel komutları göstereceğim..

Veritabanı tablosundan döndürülen veriler için birçok ad var. Veri genel olarak Satırlar, kayıtlar, veya Demetler. Bu yazıyı bu yazı boyunca birbirinin yerine kullanacağım.

önsöz

Günümüzde örneklerin tümü dört kurgusal tabloya dayanacaktır. müşteri tablo müşterilerin adını ve yaşını içerir:

yükseklikleri tablo, herhangi bir kişinin adını ve yüksekliğini içerir:

Personel Tablo, personel üyelerinin adını ve yaşını içerir - müşteri tablosu ile tamamen aynıdır:

Final masası denir insanlar tıpkı müşteri ve personel masaları gibi, kişilerin isimlerini ve yaşlarını içerir:

1. Seç

seçmek deyim en basittir ve neredeyse diğer tüm komutların altını çizdiği için bunu anlamanız önemlidir. Ayrılmış SQL kelimelerinizi büyük harfle yazmak en iyi yöntem olarak kabul edilir, çünkü komutun okunmasını ve anlaşılmasını kolaylaştırır..

Adından da anlaşılacağı gibi, seçim yapmak için kullanılır. seçmek bir veritabanındaki veriler. İşte en basit kullanım:

SELECT * FROM tablosundan;

Bunun iki kısmı var. İlk bölüm (SEÇ *), hangi sütunları seçmek istediğinizi belirtir. Yıldız, tablodaki tüm sütunları seçmek istediğinizi belirtir. İkinci kısım (Tablodan) veritabanı motorunuza bu verileri nereden almak istediğinizi söyler. değiştirmek “tablo” veritabanı tablonuzun adı ile.

Bu seçim olarak bilinir “yıldız seç.” Yıldız işareti kullanmak, tabloda hangi verilerin olduğunu bulmak için iyi bir yoldur, ancak herhangi bir üretim kodu için kullanmanızı önermiyorum. Seçme yıldızı kullanırken, istediğiniz verileri size sunmak için veritabanı motoruna kalmış. Verilerin döndürülmesi sırası üzerinde herhangi bir denetiminiz yoktur; bu nedenle, birileri tabloya yeni bir sütun eklerse, değişkenlerinizi programlama dilinizde artık doğru verileri temsil etmeyebilirsiniz. Neyse ki, bir çözüm var.

Hangi sütunları almak istediğinizi açıkça belirtebilirsiniz:

SELECT yaşı, insanlardan isim;

Bu sorgu alır “yaş” ve “isim” sütunlarından “insanlar” tablo. Çok fazla veriniz varsa, bu açık olmak biraz sıkıcı olabilir, ancak bunu yapmak gelecekteki sorunları azaltacak ve SQL'in gelecek programcılar tarafından anlaşılmasını kolaylaştıracak.

Ek bir veri parçası seçmek istiyorsanız, ancak tablolarınızın hiçbirinde depolanmadıysa, bunu şöyle yapabilirsiniz:

SELECT yaşı, insanlardan '1234';

Sütun adını eşleştirmek yerine, tek tırnak işaretleri içindeki herhangi bir dize döndürülür..

2. Nerede

Select komutu veri almak için mükemmeldir, fakat sonuçları biraz daha filtrelemek istiyorsanız ne yapmalıyım? Sadece mavi gözleri olan insanları geri almaya ne dersiniz? Peki ya Ocak ayında doğmuş, mekanik olarak çalışan insanlar? İşte burası nerede komut gelir. Bu, seçime koşulları uygulamanıza olanak tanır ve bunu ifadenin sonuna eklemenizi sağlar:

SEÇİN yaş, NEREDEN, soyadı> 10;

Bu sorgu şimdi 10 yaşından büyük kişilerle sınırlandırılmıştır. Kullanarak birden fazla koşulu birleştirebilirsiniz. VE Şebeke:

SEÇİN yaş, NEREDEN adı, NEREDE yaş> 10 VE yaş < 20;

VE komutu tam olarak İngilizce dilinde olduğu gibi çalışır: ifadeye başka bir koşul uygular. Bu örnekte, geri gönderilen veriler, 10 ve 20 yaşları arasında herhangi bir kayıt olacaktır. Eşleşen sonuç olmadığı için hiçbir veri döndürülmez..

Bununla bağlantılı olarak kullanılabilecek bir başka komut ise VEYA. İşte bir örnek:

SEÇİN yaş, NEREDEN'DEN isim, yaş> 10 VEYA isim = 'Joe';

Bu sorgu, yaşın 10’dan fazla olduğu veya adın “Joe”. Sadece bir eşittir işaretinin nasıl olduğuna dikkat edin. Çoğu programlama dili, denkliği kontrol etmek için çift eşittir (==) kullanır. Bu, veritabanı motorlarının büyük çoğunluğu için gerekli değildir (ancak çevre başına çok olabilir, bu nedenle önce iki kez kontrol edin).

3. Sipariş

sipariş komut döndürülen sonuçları sıralamak için kullanılır. Kullanımı kolay bir tane daha. Basitçe ifadenizin sonuna ekleyin:

SEÇİNİZ adı, kişilerden yaş SİPARİŞ TARAFINDAN yaş DESC;

Sütunu ve sırasını belirtmeniz gerekir; ASC artan için veya AZALAN azalan için. Bunun gibi birden çok sütuna göre sipariş verebilirsiniz:

SELECT ismi, kişilerden yaşı SİPARİŞ ADLA ASC ismi, yaş DESC

TARAFINDAN SİPARİŞ diğer komutlarla birleştirildiğinde belki de en kullanışlı olanıdır. Sorguların tümü mantıklı veya sıralı bir şekilde veri döndürmez - bu komut bunları değiştirmenize olanak sağlar..

4. Katıl

katılmak komut için kullanılır katılmak ilgili veriler bir veya daha fazla tabloda saklanır. Sen katılmak İkinci tablo ilk tabloya ve verilerin nasıl bağlandığını belirtin. İşte temel bir örnek:

SEÇİN yaş, isim, yükseklik FROM insanlardan LEFT JOIN yükseklikleri KULLANMA (isim);

Burada bir şeyler oluyor. İle başlamak zorunda “SOL YÖNDEN KATILIM” left türünü kullanarak bir tabloya katılmak istediğinizi belirten sözdizimi. Ardından katılmak istediğiniz masayı (yükseklikler) belirtin. KULLANIMI (isim) sözdizimi sütunun “isim” her iki tabloda da bulunabilir ve bunun tabloları birleştirmek için bir anahtar olarak kullanılması gerektiğini.

Sütunları her tabloda farklı isimler varsa endişelenmeyin. Kullanabilirsiniz “AÇIK” yerine “KULLANMA”:

SEÇİN yaş, isim, yükseklik FROM insanlardan LEFT JOIN yükseklikleri ON (namea = nameb);

On ifadesi açıkça hangi sütunların anahtarlanacağını belirtir. Birçok katılım türü vardır ve her biri için ayrıntılara girilmesi uzun zaman alacaktır, bu yüzden kullanımlarının kısa bir özeti:

  • (İÇ BİRLEŞİM - Her iki tabloda da eşleşen satırları döndürür.
  • SOL DIŞ KATILMA - Soldaki tablodaki tüm satırları, sağdaki tablodan herhangi bir eşleşmeyle döndürür. Eşleşme yoksa, soldaki tablo kayıtları yine de döndürülür.
  • SAĞ (DIŞ) KATIL - Bu sol birleştirmenin zıttıdır: Sağdaki tablodaki tüm satırlar ve soldaki tablodaki tüm eşleşmeler döndürülür..
  • TAM (DIŞ) KATILMAK - Her iki tabloda da eşleşmesi olan kayıtları döndürür.

“İÇ” veya “DIŞ” sözdizimi isteğe bağlıdır. İşlerin anlaşılmasını kolaylaştırabilir, ancak çoğu zaman için belirtmeniz gerekmez.

5. Takma ad

Şimdi temelleri biliyorsunuz, şuna bakalım: takma ad Komut. Bu geçici olarak bir tabloyu yeniden adlandırmak için kullanılır - bu yeni ad yalnızca çalıştırmakta olduğunuz işlemin içinde bulunduğundan, her şeyden daha fazla bir takma ad kullanın. İşte nasıl kullandığınız:

SEÇİMİ A.A halkından A;

İstediğiniz herhangi bir geçerli adı kullanabilirsiniz, ancak alfabenin harflerini kullanmayı severim. Her sütun adından önce, diğer ad ön eklenir. Bu takma ad bildirildikten hemen sonra masaya atanır. Bu tam olarak bunu yapmakla aynı:

İnsanlardan SELECT.

Uzun bir tablo adı yazmak yerine, basit ve hatırlanması kolay bir harf yazabilirsiniz - peki nokta ne? Birden fazla tablodan birini seçiyorsanız, hangi sütunların hangi tabloya ait olduğu konusunda kafanız karışır. Her iki tablonuzda aynı ada sahip sütunlar varsa, veritabanı sorgunuz tablonun adını veya diğer adını açıkça belirtmeden çalıştırılmayabilir. İşte iki tablodan oluşan bir örnek:

Staff.age, staff.name, customers.age, customer.name personelden, müşterilerden;

Ve işte takma adlarla aynı sorgu:

SELECT A.age, A.name, B.age, B. Personel A'dan, müşteriler B'den isim;

Personel tablosuna takma isim verilir. “bir”, ve müşteri tablosu takma adı verilir “B”. Diğer tabloları gerçekten kodunuzu anlamak daha kolay hale getirmek için yardımcı olur ve yapmanız gereken yazarak miktarını azaltır.

Ayrıca, sütunu kullanarak takma adı olan bir sütunu yeniden adlandırabilirsiniz. “GİBİ” komut:

SELECT yaş AS insandan FROM kişi;

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

6. Birlik

Birlik harika bir emirdir. Birbirinize satır eklemenizi sağlar. Eşleşen sütun ekleyen birleştirme işlemlerinden farklı olarak, birleşme, aynı sayıda sütuna ve ada sahip olmaları koşuluyla ilgisiz satırları ekleyebilir. İşte nasıl kullandığınız:

SELECT yaşı, müşterilerin birliğinden isim SELECT yaşı, personelden bir isim;

Sendikayı iki sorgunun sonuçlarını birleştirmenin bir yolu olarak düşünebilirsiniz. Bir sendika, yalnızca iki sorgu arasında benzersiz bir satırın olduğu durumlarda sonuçları döndürür. Kullanabilirsiniz “BİRLİK TÜMÜ” yinelenenlerden bağımsız olarak tüm verileri döndürmek için sözdizimi:

SELECT yaşı, müşterilerin birliğinden isim ALL SELECT yaşı, personelden bir isim;

Satırların sırasının nasıl değiştiğine dikkat edin? Sendika en verimli şekilde çalışır, bu nedenle döndürülen veriler sırayla değişebilir.

Birleşme için olası bir kullanım örneği bir alt toplamdır: toplam toplamın bir sorgusunu belirli bir senaryo için bireysel toplamların sorgusu ile birleştirebilirsiniz.

7. ekle

Artık bir veritabanından veri almakla ilgili her şeyi biliyorsunuz, peki ya onu eklemek? İşte burası eklemek komut geliyor. İşte bir örnek:

INSERT INSANLARA (isim, yaş) DEĞERLER ('Joe', 102);

Tablo adını (insanlar) ve kullanmak istediğiniz sütunları (ad ve yaş) belirtmeniz gerekir. “DEĞERLER” sözdizimi daha sonra eklenecek değerleri sağlamak için kullanılır. Bunlar daha önce belirtilen sütunlarla aynı sırada olmalıdır..

Ekler için bir where yan tümcesi belirtemezsiniz ve mevcut olan tüm gerekli tablo kısıtlamalarına uyduğunuzdan emin olmanız gerekir..

8. Güncelleme

Bazı verileri ekledikten sonra, belirli satırları değiştirmeniz yalnızca doğaldır. Burada güncelleştirme komut sözdizimi:

GÜNCELLEME insanlar SET ismi = 'Joe', yaş = 101;

Değiştirmek istediğiniz tabloyu belirtmeniz ve ardından “SET” sütunları ve yeni değerlerini belirtmek için sözdizimi. Bu örnek iyidir, ancak her rekoru güncelleyecektir - her zaman arzu edilmeyen bir şey!

Daha spesifik olmak için, kullanabilirsiniz “NEREDE” sadece bir seçim yaparken olduğu gibi yan tümceleri:

GÜNCELLEME kişi SET ismi = 'Joe', yaş = 101 NEREDE isim = 'James';

Kullanarak birden fazla koşul bile belirleyebilirsiniz “VE” ve “VEYA”:

GÜNCELLEME insanlar SET name = 'Joe', yaş = 101 NEREDE (name = 'James' VE yaş = 100) VEYA name = 'Ryan';

Koşulları sınırlamak için parantezlerin nasıl kullanıldığına dikkat edin.

9. Upsert

Upsert garip bir sondaj sözcüğü, ancak inanılmaz derecede yararlı bir komut. Masanızda bir kısıtlama bulunduğunu ve yalnızca benzersiz adlara sahip kayıtları istediğinizi belirttiğinizi varsayalım; örneğin, aynı ada sahip iki satır saklamak istemezsiniz. Birden fazla 'Joe' değeri girmeye çalıştıysanız, veritabanı motorunuz bir hata verir ve bunu yapmayı reddeder (oldukça haklı). Bir UPSERT zaten varsa bir kaydı güncellemenizi sağlar. Bu inanılmaz faydalı! Bu komut olmadan, önce bir kaydın olup olmadığını kontrol etmek için bir mantık yazmanız gerekir, eğer yoksa yazmaz, aksi takdirde doğru ana anahtarı alır ve sonra güncellersiniz..

Ne yazık ki, farklı veritabanı motorlarında yükseltmeler farklı şekilde uygulanmaktadır. PostgreSQL bu yetenekleri yeni kazanmıştır, oysa MySQL oldukça uzun bir süredir devam etmektedir. İşte başvuru için MySQL sözdizimi:

INSERT INS INT insanlara (isim, yaş) DEĞERLER ('Joe', 101) DUPLICATE KEY GÜNCELLEME YAŞI = 101;

Bunun esasen nasıl bir güncelleme ve insert olarak ifade edilebildiğine dikkat edin. “ekleme başarısız olursa güncelleme.”

10. Sil

silmek kayıtları tamamen kaldırmak için kullanılır - kötüye kullanılması durumunda oldukça zararlı olabilir! Temel sözdizimi kullanımı çok kolaydır:

İnsanlardan SİL;

Diğer komutların çoğu gibi, bu silinir her şey! Biraz daha akıllıca bir dizi sıra ile sınırlandırmak için bir yer kullanmanız gerekir - ideal olarak:

İnsanlardan SİLME NEREDEN, name = 'Joe';

Bir sistem geliştiriyorsanız, bir sistemi uygulamak genellikle akıllıca olacaktır. “yumuşak silme.” Gerçekten de delete komutunu çalıştırmazsınız, bunun yerine silinmiş bir sütun oluşturur ve seçimlerinizde bu sütunu kontrol edin - sözde silinen kayıtları hızlı ve kolay bir şekilde alabiliyorsanız, çok fazla potansiyel utançtan kaçınabilir. Ancak bu, uygun yedeklemelerin yerini almaz.

11. Tablo Oluştur

tablo oluştur komut tabloları oluşturmak için kullanılır. Çok basit bir tane daha var:

TABLO insanı yarat (METİN, yaş, INTEGER, PRIMARY KEY (isim) adı);

Sütun adlarının ve sınırlamalarının parantez içinde nasıl olduğuna ve sütunlara uygun bir veri türü verildiğine dikkat edin. Herhangi bir iyi veritabanı tasarımında gerektiği gibi bir birincil anahtar belirtildi.

12. Masa Değiştir

tabloyu değiştir Bir tablonun yapısını değiştirmek için komut kullanılır. Bu, biraz kısıtlıdır, çünkü mevcut veriler çakışmaya neden olacaksa veritabanını bir tabloyu değiştirmenize izin vermeyecektir - örneğin bir dizgiyi bir tamsayı olarak değiştirmek. Bu gibi durumlarda, önce verileri düzeltip tabloyu değiştirin. İşte bir örnek:

ALTER TABLE insanları ADD yükseklik tamsayı;

Bu örnek adlı bir sütun ekler “yükseklik” insanlar tablosuna tamsayı türü. Neleri değiştirebileceğiniz konusunda bir sınır yok..

13. Masa Bırak

Son komut masa düşür. Bunu silme olarak düşünün, ancak tek bir kaydı silmek yerine, her bir kaydı tabloyla birlikte kaldırır! İşte nasıl kullandığınız:

DROP TABLE insanlar;

Oldukça sert bir komut ve sisteminize programlanması için hiçbir neden yok. Bu, yalnızca vakaların çoğunda el ile yapılmalıdır ve çok yıkıcı.

Hepsi bugün için. Umarım bazı faydalı numaralar öğrenmişsindir! Bir web sitesinin nasıl yapıldığını öğrenebilirsiniz Bir Web Sitesi Nasıl Yapılır: Yeni Başlayanlar İçin Bir Web Sitesi Nasıl Yapılır: Yeni Başlayanlar İçin Bugün size sıfırdan eksiksiz bir web sitesi oluşturma sürecinde size rehberlik edeceğim. Bu zor geliyorsa endişelenme. Size her adımda rehberlik edeceğim. ve ardından dinamik hale getirmek için yeni temel becerilerinizi kullanın - sadece bu hataları yapmadığınızdan emin olun 9 Bir Web Sayfası Oluştururken Yapmanız Gereken Hatalar 9 hataların yapılması kolaydır, ancak daha sonra değil de daha erken başlarda ilerlerseniz, sayfanız daha iyi görünür, bakımı daha kolay olur ve nasıl olmasını istediğinizde işlev görür. veya onu SQL enjeksiyonuna karşı savunmasız bırakarak bırakın Bir SQL Enjeksiyonu Nedir? [MakeUseOf Açıklar] Bir SQL Enjeksiyonu Nedir? [Açıklamayı Yapın] İnternet güvenliği dünyası açık portlar, arka kapılar, güvenlik delikleri, Truva atları, solucanlar, güvenlik duvarı güvenlik açıkları ve bizi her gün ayak parmaklarımızda tutan bir dizi başka sorunla karşı karşıya. Özel kullanıcılar için,…. SQL öğrenmeniz gerektiğinden emin değilseniz, statik bir site üreticisi olarak değerlendirdiniz mi? 7 CMS'nizi Hizalama Sebepleri ve Statik Site Üreticisi Olarak Düşünme 7 CMS'inizi Hizalama Sebepleri ve Statik Site Üreticisi Olarak Düşünme Uzun yıllar boyunca bir web sitesi yayınlama birçok kullanıcı için zordu. WordPress gibi CMS'ler bunu değiştirdi, ancak yine de kafa karıştırıcı olabilir. Başka bir alternatif ise Statik Bir Site Üreticisi. ?

Neden en sevdiğiniz SQL ipuçları ve püf noktaları ile aşağıda bir yorum bırakmıyorsunuz??

Resim Kredisi: HYS_NP / Shutterstock




Henüz no comments

Modern teknoloji hakkında basit ve uygun fiyatlı.
Modern teknoloji dünyasında rehberiniz. Her gün bizi çevreleyen teknolojileri ve araçları nasıl kullanacağınızı ve Internet'te ilginç şeyleri nasıl keşfedeceğinizi öğrenin.