DDL ve DML nedir?


347

Veri tabanları ile ilgili olarak DDL ve DML terimlerini duydum, ama ne olduklarını anlamıyorum.

Nedir ve SQL ile nasıl ilişkilidir?

Yanıtlar:


283

SQL komutu DDL, DML ve DCL olmak üzere üç alt gruba ayrılabilir

Daha fazla bilgi için buraya bakın: MySQL DDL, DML ve DCL nedir? , orijinal aşağıdaki gibidir:

DDL

DDL, veritabanı şemaları ve açıklamalarıyla, verilerin veritabanında nasıl bulunması gerektiğine ilişkin Veri Tanımlama Dili'nin kısa adıdır.

  • CREATE - veritabanı ve benzeri nesneler oluşturmak için (tablo, dizin, görünümler, saklama yordamı, işlev ve tetikleyiciler)
  • ALTER - mevcut veritabanının yapısını değiştirir
  • DROP - nesneleri veritabanından sil
  • TRUNCATE - kayıtlar için ayrılan tüm boşluklar da dahil olmak üzere bir tablodaki tüm kayıtları kaldır
  • COMMENT - veri sözlüğüne yorumlar ekleyin
  • RENAME - bir nesneyi yeniden adlandır

DML

DML, veri işleme ile ilgilenen ve SELECT, INSERT, UPDATE, DELETE vb.Gibi en yaygın SQL deyimlerini içeren Veri İşleme Dilinin kısa adıdır ve verileri veritabanında depolamak, değiştirmek, almak, silmek ve güncellemek için kullanılır.

  • SELECT - veritabanından veri alma
  • INSERT - tabloya veri ekleme
  • GÜNCELLEME - tablodaki mevcut verileri günceller
  • SİL - Bir veritabanı tablosundaki tüm kayıtları sil
  • MERGE - UPSERT işlemi (ekle veya güncelle)
  • CALL - PL / SQL veya Java alt programını çağırır
  • AÇIK PLAN - veri erişim yolunun yorumlanması
  • KİLİT TABLOSU - eşzamanlılık Kontrolü

DCL

DCL, GRANT gibi komutları içeren ve çoğunlukla haklar, izinler ve veritabanı sisteminin diğer denetimleriyle ilgili olan Veri Kontrol Dilinin kısa adıdır.

  • HİBE - kullanıcıların veritabanına ayrıcalıklarına erişmesine izin ver
  • REVOKE - GRANT komutunu kullanarak kullanıcıların erişim ayrıcalıklarını geri çek

TCL

TCL, bir veritabanı içindeki işlemlerle ilgilenen İşlem Kontrol Dilinin kısa adıdır.

  • COMMIT - bir İşlem yapar
  • ROLLBACK - herhangi bir hata olması durumunda bir işlemi geri alma
  • SAVEPOINT - gruplar içinde işlem yapma noktalarını geri almak için
  • İŞLEMİ AYARLA - işlemin özelliklerini belirtin

2
gelecekte herhangi bir durumda biraz bağlantıyı genişletmek isteyebilirsiniz, bu bağlantı kullanılamaz hale gelir
svarog

2
Bazen SELECT / SHOW / EXPLAIN / HELP gibi komutların DML'den ayrıldığını ve DQLQuery'den Q ile birlikte altında gruplandığını göreceksiniz - çünkü hiçbir şeyi gerçekten manipüle etmiyorlar.
okdewit

1
TRUNCATE DML olmalı
Pete Alvin

@PeteAlvin yolu yok.
Snr

336

Ddl olduğu Veri Tanımlama Dili : veri tanımlamak için kullanılır yapılar .

Örneğin, SQL ile, bu gibi talimatları olurdu create table, alter table...


DML olan veri düzenleme dili : işlemek için kullanılır verilerin kendilerini .

Örneğin, SQL ile, bu gibi talimatları olurdu insert, update, delete, ...


6
AÇIKLAMA DDL mi DML mi?
Tom J Muthirenthi

2
@TomJMuthirenthi İkisinin hiçbirine uymadığını düşünüyorum DESCRIBE. Sadece bir Tablo / DB'nin nasıl yapılandırıldığına dair kendi temsilini döndürür. Aynı şeyi örneğin CREATE"insan tarafından okunabilir" olarak da elde edebilirsiniz
JensV

SELECT DML olarak kabul edilirse, DESCRIBE öğesi DDL olarak kabul edilmelidir.
Shloim

40

DDL , Veri Tanımlama Dili'dir: Veritabanı şemasını tanımlamak için özellik gösterimi. Şema düzeyinde çalışır.

DDL komutları:

create,drop,alter,rename

Örneğin:

create table account (
  account-number  char(10),
 balance integer);

DML olan veri düzenleme dili .Bu verilerine erişmek ve değiştirmek için kullanılır.

DML komutları:

select,insert,delete,update,call

Örneğin :

update account set balance = 1000 where account_number = 01;

1
@isapir SQL'de verileri “manipüle etmenin” üç genel yolu vardır: (1) Hangi sonuçların sunulacağını değiştirebilirsiniz. (2) Sonuçların sunulma veya organize edilme şeklini değiştirebilirsiniz (sıralama düzeni gibi şeyler açısından). (3) Temel verileri değiştirebilirsiniz. İlk durumda, bir SELECT deyiminde farklı WHERE yan tümcelerini, JOIN tahminlerini, vb. Kullanarak hangi sonuçların sunulacağını değiştirebilirsiniz, yani- "hesaptan * seçin;" bakiye = 1000 olan hesaptan * seçmekten çok daha farklı bir sonuç verecektir (hesabın 1'den fazla satır olduğu varsayılarak);
Raju

1
Verileri farklı biçimlerde seçtiğinizde, söz konusu sorguya ait verilerin sunumunu değiştirirsiniz, verilerin kendisini değiştirmezsiniz. DML'deki M, verilerin Manipülasyonu veya değişiklik terimleri anlamına gelir. SELECTverileri değiştirmez. Alternatif olarak, TRUNCATEbir DML talimatı yapar ve bu bir DDL talimatı DEĞİLDİR.
isapir

31

resim açıklamasını buraya girin

DDL, Veri Tanımlama Dili

  • Bir veritabanında veritabanı nesnesinin yapısını oluşturun ve değiştirin.
  • Bu veritabanı nesnesi Tablo, görünüm, şema, dizinler vb.

Örneğin:

  • CREATE, ALTER, DROP, TRUNCATE, COMMIT, Vs.

DML, Veri İşleme Dili

DML deyimi tabloda etkilenir. Yani bir tabloda yaptığımız temel işlemler budur.

  • Temel crud işlemi tabloda gerçekleştirilir.
  • Bunlar crud operasyonu ile gerçekleştirmek olan SELECT, INSERT, UPDATEvb

DML'de aşağıdaki Komutlar kullanılır:

  • INSERT, UPDATE, SELECT, DELETE, Vs.

14

Layman terimleriyle bir ev inşa etmek istediğinizi varsayalım, ne yaparsınız.

DDL Veri Tanımı Dili

  1. Sıfırdan inşa edin
  2. Yenilemek
  3. Büyük olanı yok et ve sıfırdan yeniden yarat

yani

  1. CREATE
  2. ALTER
  3. DROP & CREATE

DML Veri İşleme Dili

İnsanlar evinize / içeri giriyor

  1. SELECT
  2. DELETE
  3. UPDATE
  4. TRUNCATE

DCL Veri Kontrol Dili

İnsanları evin hangi kısmına erişmelerine ve erişim türlerine izin verdiklerini kontrol etmek istiyorsunuz.

  1. GRANT PERMISSION

11

DML, Veri İşleme Dilinin kısaltmasıdır . Veritabanındaki verileri almak, depolamak, değiştirmek, silmek, eklemek ve güncellemek için kullanılır.

Örnekler: SELECT, UPDATE, INSERT deyimleri


DDL, Veri Tanımlama Dilinin kısaltmasıdır . Veritabanındaki veritabanı nesnelerinin yapısını oluşturmak ve değiştirmek için kullanılır.

Örnekler: CREATE, ALTER, DROP ifadeleri

Daha fazla bilgi için bu siteyi ziyaret edin: http://blog.sqlauthority.com/2008/01/15/sql-server-what-is-dml-ddl-dcl-and-tcl-introduction-and-examples/


3

DDL Veri Tanımlama Dilidir: DB'yi tanımladığınızı düşünün. Bu yüzden CREATE, ALTER TRUNCATE komutlarını kullanıyoruz.
DML tanımladıktan sonra verileri işliyoruz. Bu yüzden SELECT, INSERT, UPDATE, DELETE komutunu kullanıyoruz.

DDL komutlarının otomatik taahhüt edildiğini unutmayın. COMMIT deyimlerini kullanmanıza gerek yoktur.
DML (Veri İşleme Dili) komutlarının yerine getirilmesi / geri alınması gerekir.


2

DDL = Veri Tanımlama Dili, verilerinizle ilgili yapı ve diğer bilgileri sağlayan tüm komutlar

DML = Veri İşleme Dili, sadece 3 tanesi var, INSERT, UPDATE, DELETE. Eğer saymak eğer 4, SELECT * INTO x_tbl from tblMSSQL ait (ANSI SQL: CREATE TABLE x_tbl AS SELECT * FROM tbl)


2

Basit bir deyişle.

DDL (Veri tanımlama dili): verinin yapısı üzerinde çalışacaktır. veri yapılarını tanımlar.

DML (veri işleme dili): veriler üzerinde çalışır. verinin kendisini manipüle eder



2

DDL

Oluşturma, Değiştirme, Bırakma (Veritabanları, Tablolar, Anahtarlar, Dizin, Görünümler, İşlevler, Saklı Yordamlar)

DML

(Tablolar) Ekle, Sil, Güncelle, Kısalt


1

DDL , Veri Tanımlama Dili anlamına gelir. DDL, tablo oluşturmak veya tabloya sütun eklemek ve hatta tabloyu bırakmak ve kısaltmak gibi tablonun yapısını tanımlamak için kullanılır. DML , Veri İşleme Dili anlamına gelir. Adından da anlaşılacağı gibi tablonun verilerini değiştirmek için kullanılan DML. DML'de ekleme ve silme gibi bazı komutlar vardır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.