Kaydol

Merhaba Sevgili Floodlar.com Kullanıcısı, Web sitemizde geçirdiğiniz zaman ve bu büyüleyici flood evrenine katılımınız için teşekkür ederiz. Floodların geniş dünyasıyla dolu deneyiminizi daha fazla keşfetmek için, web sitemizi sınırsız olarak kullanabilmeniz adına giriş yapmanız gerekmektedir.

Oturum aç

Merhaba Floodlar.com Kullanıcısı, İlk üç sayfayı tamamladınız, tebrikler! Ancak, floodların devamını görmek ve daha fazla interaktif deneyim yaşamak için giriş yapmanız gerekiyor. Hesabınız yoksa, hızlıca oluşturabilirsiniz. Sınırsız floodlar ve etkileşimler sizleri bekliyor. Giriş yapmayı unutmayın!

Şifremi hatırlamıyorum

Şifreniz mi unuttunuz? Endişelenmeyin! Lütfen kayıtlı e-posta adresinizi giriniz. Size bir bağlantı göndereceğiz ve bu link üzerinden yeni bir şifre oluşturabileceksiniz.

Fil Necati Masonlar Locası Subreddit Adı Nedir? Cevap: ( N31 )

Üzgünüz, flood girme izniniz yok, Flood girmek için giriş yapmalısınız.

Lütfen bu Floodun neden bildirilmesi gerektiğini düşündüğünüzü kısaca açıklayın.

Lütfen bu cevabın neden bildirilmesi gerektiğini kısaca açıklayın.

Lütfen bu kullanıcının neden rapor edilmesi gerektiğini düşündüğünüzü kısaca açıklayın.

Mobil Uygulamada Açın

Güncel Floodlar En sonuncu Nesne

MySQL Saklı Yordamları (Oluştur, Listele, Değiştir ve Bırak)

MySQL Saklı Yordamları (Oluştur, Listele, Değiştir ve Bırak)

MySQL saklı yordamlar birden fazla görevi gruplandırmak tek bir dosyaya dönüştürün ve görevi ileride kullanmak üzere sunucuya kaydedin.

Saklı yordamlar veritabanı yönetimini basitleştirir ve ağ trafiğini azaltır. Örneğin, MySQL sunucusuna bir sorgu vermek, sorguyu işler ve sonuçları döndürür. Saklı yordamların kullanılması, sorguları daha sonra yürütülebilmeleri için sunucuya kaydeder.

Bu öğreticide saklı yordamları oluşturmayı, listelemeyi, değiştirmeyi ve bırakmayı öğreneceksiniz.

MySQL Saklı yordamlar kılavuzu.

Önkoşullar

  • MySQL Sunucusu ve MySQL Workbench kurulu
  • Kök ayrıcalıklarına sahip bir MySQL kullanıcı hesabı

MySQL’de Saklı Prosedürler Nelerdir?

MySQL saklı yordamları önceden derlenmiş SQL ifadeleri bir veritabanında saklanır. Bir ad, bir parametre listesi ve SQL deyimleri içeren alt programlardır.

Tüm ilişkisel veritabanı sistemleri saklı yordamları destekler ve herhangi bir ek çalıştırma ortamı paketi gerektirmez.

Saklı Prosedürler Nasıl Kullanılır?

Saklı yordamları çağırmak için, CALL deyimi veya diğer saklı yordamlar. Bir saklı yordam ilk kez çağrıldığında, MySQL onu veritabanı kataloğunda arar, kodu derler ve ön bellekve yürütür.

Aynı oturumdaki müteakip çalıştırmalar, saklı yordamları önbellekten yürüterek onları tekrarlayan görevler için son derece kullanışlı hale getirir.

Saklı yordamlar kullanır parametreler değerleri iletmek ve sonuçları özelleştirmek için. Parametreler, sorgunun çalıştığı ve sonuçları döndürdüğü tablodaki sütunları belirtmek için kullanılır.

Saklı yordamlar şunları da içerebilir: IF, CASEVe LOOP kontrol akışı ifadeleri kodu prosedürel olarak uygulayan.

Saklı Prosedür Oluştur

İki şekilde bir saklı yordam oluşturun:

1. MySQL Shell’i kullanın

MySQL’de bir saklı yordam oluşturmak için aşağıdaki sözdizimini kullanın:

DELIMITER //
CREATE PROCEDURE procedure_name ( IN | OUT | INOUT parameter_name parameter_datatype (length), … )
BEGIN    
    SQL statements
END //
DELIMITER ;

Varsayılan olarak, sözdizimi kullanılan veritabanıyla ilişkilendirilir, ancak veritabanı adını aşağıdaki şekilde belirterek sözdizimini başka bir veritabanı için de kullanabilirsiniz: database_name.procedure_name.

Burada, ilk DELIMITER bağımsız değişken, varsayılan sınırlayıcıyı şu şekilde ayarlar: //son iken DELIMITER bağımsız değişken onu noktalı virgüle geri döndürür ;. Birden çok deyim kullanmak için farklı sınırlayıcılar belirtin. $$.

Prosedür adı şundan sonra gelir: CREATE PROCEDURE argüman. Prosedür adından sonra, prosedürde kullanılacak parametreleri, parametrenin adını, veri tipini ve veri uzunluğunu belirtmek için parantez kullanın. Her parametreyi virgülle ayırın.

bu parametre modları bunlar:

  • IN – Bir parametreyi giriş olarak iletmek için kullanın. Sorgu tanımlandığında, saklı yordama bir bağımsız değişken iletir. Parametrenin değeri her zaman korunur.
  • OUT – Çıkış olarak bir parametre geçirmek için kullanın. Değeri saklı yordam içinde değiştirebilirsiniz ve yeni değer çağıran programa geri gönderilir.
  • INOUT – Kombinasyonu IN Ve OUT parametreler. Çağıran program argümanı iletir ve prosedür argümanı değiştirebilir. INOUT parametre, yeni değeri programa geri iletir.

Örneğin:

MySQL Shell'de bir saklı yordam oluşturun.

Saklı yordamı çağırarak yürütün:

CALL procedure_name;
MySQL Kabuğu kullanarak bir saklı yordam yürütün.

Sorgu, saklı yordamın sonuçlarını döndürür.

2. MySQL Workbench’i kullanın

Saklı yordam oluşturmanın başka bir yolu da MySQL Workbench Sihirbazını kullanmaktır. Sihirbaz sezgiseldir ve sınırlayıcılar yerleştirmeniz veya biçim konusunda endişelenmeniz gerekmediğinden süreci basitleştirir.

Bu adımları takip et:

Aşama 1: Sağ tık saklı yordamlar MySQL Workbench’in Navigator penceresinde ve seçin Saklı Yordam Oluştur… Sihirbazı başlatmak için

MySQL Workbench'i kullanarak bir saklı yordam oluşturun - adım 1.

Adım 2: Prosedür adını belirtin ve içindeki kodu girin. BAŞLAMAKSON engellemek.

MySQL Workbench'te bir saklı yordam oluşturun - adı ve içeriği belirtin.

Aşama 3: Kodu inceleyin ve tıklayın Uygula.

MySQL Workbench'te bir saklı yordam oluşturmadan önce kodu gözden geçirin.

Adım 4: Yürütmeyi tıklayarak onaylayın Uygula ve tıklayarak prosedürü oluşturun Sona ermek.

Saklı yordamı MySQL Workbench'te yürütün ve kaydedin.

Adım 5: İşe yarayıp yaramadığını görmek için prosedürü uygulayın. Sorguları yürütmek için yeni bir SQL sekmesi oluşturun.

Adım 6: CALL SQL sekmesindeki prosedürü ve tıklayın Uygulamak.

MySQL Workbench'te bir saklı yordam yürütün.

Hiçbir hata dönmezse, MySQL saklı yordamı yürütür ve sonuçları görüntüler.

Saklı Prosedürleri Listeleme

Tüm saklı yordamların listesini görmenin üç yolu vardır:

1. MySQL Shell’i kullanın

Özellikleri de dahil olmak üzere, erişiminiz olan tüm saklı yordamların bir listesini almak için aşağıdaki sözdizimini kullanın:

SHOW PROCEDURE STATUS [LIKE 'pattern' | WHERE search_condition]

bu SHOW PROCEDURE STATUS ifadesi uzun bir çıktı döndürür. Açıklama, sunucuda erişiminiz olan saklı yordamların adlarını ve özelliklerini görüntüler.

Şu anda sunucuda bulunan tüm saklı yordamlara bakın.

Şu anda sunucuda bulunan prosedürleri bulmak için çıktıyı kaydırın.

bu LIKE bağımsız değişken, adında belirli bir sözcük içeren saklı yordamları bulur. Kullanmak % sıfır da dahil olmak üzere herhangi bir sayıda karakteri değiştirmek için.

Örneğin:

Bir anahtar sözcük kullanarak saklı yordamları arayın.

bu WHERE bağımsız değişkeni, saklı yordamları yalnızca belirli bir veritabanında listelemenize olanak tanır.

Örneğin:

Tek bir veritabanı için saklı yordamları gösterin.

Bu örnekte, deyim yalnızca ‘ için saklı yordamları döndürür.müşteri listesi‘ veri tabanı.

2. Veri Sözlüğünü Kullan

bu bilgi şeması veritabanı adlı bir tablo içerir. rutinlerGeçerli MySQL sunucusundaki tüm veritabanlarıyla ilgili saklı yordamlar ve işlevler hakkında bilgi içeren.

Bir veritabanı için tüm saklı yordamları görmek için aşağıdaki sözdizimini kullanın:

SELECT 
    routine_name
FROM
    information_schema.routines
WHERE
    routine_type = 'PROCEDURE'
        AND routine_schema = 'database_name';
Information_schema veritabanındaki saklı yordamlara bakın.

3. MySQL Workbench’i kullanın

Saklı yordamları görüntülemeye yönelik bir GUI yaklaşımı için MySQL Workbench’i kullanın. Saklı yordamları görmek için şu adımları izleyin:

Aşama 1: Kullanmak istediğiniz veritabanına çift tıklayın. gezgin bölüm.

Adım 2: Genişletin saklı yordamlar açılır öğe.

Saklı yordamları tek bir veritabanında görmek için MySQL Workbench'i kullanın.

Bu öğe, geçerli veritabanı için tüm saklı yordamları gösterir.

Saklı Prosedürü Değiştir

Saklı bir yordamı değiştirmek şu anlama gelir: özellikleri değiştir bir prosedürün Orada açıklama yok için MySQL’de parametreleri veya gövdeyi değiştirmek bir saklı yordamın. Parametreleri veya gövdeyi değiştirmek için saklı yordamı bırakın ve yeni bir tane oluşturun.

Bir saklı yordamı iki şekilde değiştirin:

1. MySQL Shell’i kullanın

kullanarak bir prosedür özelliğini değiştirin. ALTER PROCEDURE ifade. Örneğin daha önce oluşturduğumuz bir prosedüre yorum ekleyebiliriz. sözdizimi şöyledir:

ALTER PROCEDURE procedure_name
COMMENT 'Insert comment here';
MySQL Shell'de saklı bir prosedürü değiştirin.

2. MySQL Workbench’i kullanın

MySQL Workbench GUI, kullanıcıların saklanan bir prosedürü değiştirmesine izin verir. parametre ekleyin veya kodu değiştirin. MySQL Çalışma Tezgahı damla mevcut saklı yordam ve yaratır değişiklikler yapıldıktan sonra yeni bir tane.

Bu adımları takip et:

Aşama 1: Gezgin bölümünde, değiştirmek istediğiniz saklı yordama sağ tıklayın. seçin Saklı yordamı değiştir… öğe.

MySQL Workbench'te saklı bir prosedürü değiştirmenin ilk adımı.

Adım 2: Sekme açıldığında, mevcut saklı yordamda istediğiniz değişiklikleri yapın ve tıklayın. Uygula.

MySQL Workbench'te saklı bir prosedürü değiştirmenin ikinci adımı.

Aşama 3: Bir SQL Komut Dosyası gözden geçirme penceresi işlemi gösteren görünür – mevcut saklı yordam bırakılır ve değişiklikleri içeren yeni bir prosedür oluşturulur.

Tıklamak Uygula ve daha sonra Sona ermek komut dosyasını çalıştırmak için bir sonraki pencerede.

MySQL Workbench'te saklı bir prosedürü değiştirmenin üçüncü adımı.

Saklı Prosedürü Bırak

Bir prosedürü bırakmak (silmek) için:

1. MySQL Shell’i kullanın

kullanarak bir saklı yordamı sunucudan silin. DROP PROCEDURE ifade.

Temel sözdizimi şöyledir:

DROP PROCEDURE [IF EXISTS] stored_procedure_name;

bu IF EXISTS parametresi, yalnızca sunucuda varsa saklı yordamı bırakır. yerine saklı yordamın adını girin. stored_procedure_name sözdizimi.

Örneğin:

Varsa saklı bir yordamı bırakın (silin).

‘ adında bir prosedür olmadığı içinÖlçek‘ sunucuda çıktı, 0 satırın etkilendiğini ve belirtilen prosedürün mevcut olmadığını belirtir.

olmadan var olmayan bir prosedürün bırakılması IF EXISTS parametre bir hata döndürür.

2. MySQL Workbench’i kullanın

Saklı bir prosedürü MySQL Workbench ile bırakmak için şu adımları izleyin:

Aşama 1: Gezgin bölümünde Saklı Yordamlar öğesini genişletin. Silmek istediğiniz saklı yordama sağ tıklayın ve seçin Saklı Prosedürü Bırak… bağlam menüsünde.

Saklı bir prosedürü MySQL Workbench'e bırakın - Adım 1.

Adım 2: Onay penceresinde tıklayın Şimdi bırak saklı yordamı silmek için.

Saklı bir prosedürü MySQL Workbench'e bırakın - Adım 2.

Bu hareket kalıcı olarak siler prosedür.

MySQL Saklı Prosedürlerin Avantajları ve Dezavantajları

Saklı yordamlar, belirli ihtiyaçlara göre uyarlandıklarından çeşitli avantaj ve dezavantajlara sahiptir. Aşağıda bazı avantaj ve dezavantajlar verilmiştir.

Saklı Prosedürleri Kullanmanın Avantajları

Saklı yordamların avantajları şunlardır:

Ağ Trafiği Azaltma

Saklı yordamlar, tüm programlama mantığını sunucuda tutarak uygulamalar ile MySQL Sunucusu arasındaki ağ trafiğini azaltmaya yardımcı olur. Uygulamalar, ağ üzerinden birden fazla sorgu sonucu göndermek yerine yalnızca prosedür adını ve parametre girişini gönderir.

Gelişmiş Güvenlik

Veritabanı yöneticisi, uygulamalara tablolara doğrudan erişim vermeden yalnızca belirli saklı yordamları arama ve bunlara erişme ayrıcalıkları verir. Girdi parametreleri yürütülebilir kod olarak değil, değerler olarak ele alındığından, saklı yordamlar betik enjeksiyon saldırılarını önlemeye yardımcı olur.

Merkezi İş Mantığı

Saklı yordamlar, birden çok uygulama tarafından yeniden kullanılabilen iş mantığını kapsar. Bu, birçok farklı uygulamada aynı mantığı tekrarlamayı azaltmaya yardımcı olur ve veritabanını daha tutarlı hale getirir.

Saklı Prosedürleri Kullanmanın Dezavantajları

Saklı yordamların dezavantajları şunlardır:

Kaynak kullanımı

Birçok saklı yordamın ve mantıksal işlemin kullanılması, her bağlantı için bellek ve CPU kullanımının önemli ölçüde artmasına neden olur.

Taşınabilirlik Yok

Belirli bir dilde yazılmış saklı yordamları bir kurulumdan diğerine taşımak kolay değildir. Saklı bir yordama güvenmek, kullanıcıyı belirli bir veritabanına da bağlar.

Sorun Giderme ve Test Etme

MySQL, saklı yordamları test etmek ve hata ayıklamak için yardımcı programlar sağlamaz, bu nedenle bunların hatalarını ayıklamak zor olabilir. Saklı yordamları geliştirmek ve sürdürmek kapsamlı bilgi gerektirir. Bu, yeni geliştiriciler için bir zorluktur ve ek bakım maliyetlerine neden olur.

Çözüm

Bu makaleyi okuduktan sonra saklı yordamların ne olduğunu ve ne zaman kullanılacağını biliyorsunuz. Ayrıca, tüm mevcut saklı yordamları nasıl oluşturacağınızı, değiştireceğinizi, göreceğinizi ve artık ihtiyacınız olmayanları nasıl sileceğinizi de biliyorsunuz.

İlgili Mesajlar

Yorum eklemek için giriş yapmalısınız.