Apa itu DDL dan DML?


345

Saya telah mendengar istilah DDL dan DML sehubungan dengan database, tapi saya tidak mengerti apa itu.

Apa itu dan bagaimana kaitannya dengan SQL?

Jawaban:


280

Perintah SQL dapat dibagi menjadi tiga subkelompok, DDL, DML dan DCL

Informasi lebih lanjut lihat di sini: MySQL Apa itu DDL, DML dan DCL? , aslinya adalah sebagai berikut:

DDL

DDL adalah nama pendek dari Data Definition Language, yang berkaitan dengan skema dan deskripsi basis data, tentang bagaimana data harus berada di dalam basis data.

  • BUAT - untuk membuat database dan objeknya seperti (tabel, indeks, tampilan, prosedur penyimpanan, fungsi, dan pemicu)
  • ALTER - mengubah struktur database yang ada
  • DROP - hapus objek dari database
  • TRUNCATE - menghapus semua catatan dari tabel, termasuk semua ruang yang dialokasikan untuk catatan dihapus
  • KOMENTAR - menambahkan komentar ke kamus data
  • RENAME - ganti nama objek

DML

DML adalah nama pendek dari Bahasa Manipulasi Data yang berhubungan dengan manipulasi data, dan termasuk pernyataan SQL yang paling umum seperti SELECT, INSERT, UPDATE, DELETE dll, dan digunakan untuk menyimpan, memodifikasi, mengambil, menghapus, dan memperbarui data dalam database.

  • SELECT - mengambil data dari database
  • INSERT - masukkan data ke dalam tabel
  • UPDATE - memperbarui data yang ada dalam tabel
  • HAPUS - Hapus semua catatan dari tabel database
  • MERGE - operasi UPSERT (masukkan atau perbarui)
  • PANGGILAN - hubungi PL / SQL atau subprogram Java
  • MENJELASKAN RENCANA - interpretasi jalur akses data
  • LOCK TABLE - Kontrol concurrency

DCL

DCL adalah nama pendek dari Bahasa Kontrol Data yang mencakup perintah seperti GRANT, dan sebagian besar berkaitan dengan hak, izin, dan kontrol lain dari sistem basis data.

  • GRANT - memungkinkan pengguna mengakses hak istimewa ke basis data
  • REVOKE - menarik hak akses pengguna yang diberikan dengan menggunakan perintah GRANT

TCL

TCL adalah nama pendek dari Bahasa Kontrol Transaksi yang berkaitan dengan transaksi dalam basis data.

  • COMMIT - melakukan Transaksi
  • ROLLBACK - kembalikan transaksi jika terjadi kesalahan
  • SAVEPOINT - untuk mengembalikan poin pembuatan transaksi dalam grup
  • SET TRANSACTION - tentukan karakteristik untuk transaksi

2
Anda mungkin ingin memperluas Anda menjawab sedikit dalam kasus apa pun di masa depan bahwa tautan akan menjadi tidak tersedia
svarog

2
Terkadang Anda juga akan melihat perintah seperti SELECT / SHOW / EXPLAIN / HELP terpisah dari DML dan dikelompokkan di bawah DQL, dengan Q dari Query - karena mereka tidak benar-benar memanipulasi apa pun.
okdewit

1
TRUNCATE harus DML
Pete Alvin

@PeteAlvin tidak mungkin.
snr

335

DDL adalah Bahasa Definisi Data : digunakan untuk mendefinisikan struktur data .

Misalnya, dengan SQL, itu akan menjadi petunjuk seperti create table, alter table...


DML adalah Bahasa Manipulasi Data : digunakan untuk memanipulasi data itu sendiri .

Misalnya, dengan SQL, itu akan menjadi petunjuk seperti insert, update, delete, ...


6
DESCRIBE adalah DDL atau DML?
Tom J Muthirenthi

2
@ TomJMuthirenthi Saya pikir tidak DESCRIBEcocok dengan salah satu dari keduanya. Itu hanya mengembalikan representasi sendiri tentang bagaimana Table / DB disusun. Anda dapat mencapai hal yang sama dengan misalnya CREATEtetapi tidak "terbaca oleh manusia"
JensV

Jika SELECT dianggap DML, maka DESCRIBE harus dianggap DDL.
Shloim

40

DDL adalah Bahasa Definisi Data: Notasi spesifikasi untuk mendefinisikan skema basis data. Ini bekerja pada level Skema.

Perintah DDL adalah:

create,drop,alter,rename

Sebagai contoh:

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

DML adalah Bahasa Manipulasi Data . Ini digunakan untuk mengakses dan memanipulasi data.

Perintah DML adalah:

select,insert,delete,update,call

Sebagai contoh :

update account set balance = 1000 where account_number = 01;

1
@ mengisapir Ada tiga cara umum Anda dapat "memanipulasi" data dalam SQL: (1) Anda dapat mengubah hasil mana yang disajikan. (2) Anda dapat mengubah bagaimana hasil disajikan atau diorganisir (dalam hal-hal seperti urutan urut, dll). (3) Anda dapat mengubah data yang mendasarinya. Dalam kasus pertama, Anda dapat mengubah hasil mana yang disajikan dengan menggunakan klausa WHERE yang berbeda, predikat JOIN, dll, dalam pernyataan SELECT, yaitu- "pilih * dari akun;" akan memberikan hasil yang jauh berbeda (dengan asumsi akun memiliki lebih dari 1 baris) daripada pilih * dari akun di mana saldo = 1000;
Raju

1
Saat Anda memilih data dalam format yang berbeda, Anda memodifikasi presentasi data untuk kueri itu, dan bukan data itu sendiri. M dalam DML singkatan dari Manipulasi, atau dalam istilah awam Modifikasi, dari data. SELECTtidak mengubah data. Atau, TRUNCATElakukan, dan karena itu merupakan instruksi DML dan BUKAN yang DDL.
isapir

31

masukkan deskripsi gambar di sini

DDL, Bahasa Definisi Data

  • Membuat dan memodifikasi struktur objek basis data dalam basis data.
  • Objek basis data ini mungkin memiliki Tabel, tampilan, skema, indeks .... dll

misalnya:

  • CREATE, ALTER, DROP, TRUNCATE, COMMIT, Dll

DML, Bahasa Manipulasi Data

Pernyataan DML terpengaruh pada tabel. Jadi itulah operasi dasar yang kami lakukan dalam sebuah tabel.

  • Operasi crud dasar dilakukan dalam tabel.
  • Crud operasi ini melakukan oleh SELECT, INSERT, UPDATE, dll

Perintah di bawah ini digunakan dalam DML:

  • INSERT, UPDATE, SELECT, DELETE, Dll

14

Dalam istilah awam misalkan Anda ingin membangun rumah, apa yang Anda lakukan.

DDL yaitu Bahasa Definisi Data

  1. Bangun dari awal
  2. Rennovate itu
  3. Hancurkan yang lebih tua dan buat ulang dari awal

itu adalah

  1. CREATE
  2. ALTER
  3. DROP & CREATE

DML yaitu Bahasa Manipulasi Data

Orang-orang datang / masuk ke dalam / dari rumah Anda

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

DCL yaitu Bahasa Kontrol Data

Anda ingin mengontrol orang-orang bagian mana dari rumah yang mereka boleh akses dan jenis aksesnya.

  1. GRANT PERMISSION

11

DML adalah singkatan dari Bahasa Manipulasi Data . Ini digunakan untuk mengambil, menyimpan, memodifikasi, menghapus, memasukkan dan memperbarui data dalam database.

Contoh: SELECT, UPDATE, INSERT pernyataan


DDL adalah singkatan dari Data Definition Language . Digunakan untuk membuat dan memodifikasi struktur objek database dalam database.

Contoh: CREATE, ALTER, DROP pernyataan

Kunjungi situs ini untuk info lebih lanjut: http://blog.sqlauthority.com/2008/01/15/sql-server-what-is-dml-ddl-dcl-and-tcl-introduction-and-examples/


3

DDL adalah Bahasa Definisi Data: Bayangkan Anda mendefinisikan DB. Jadi kami menggunakan perintah CREATE, ALTER TRUNCATE.
DML adalah setelah mendefinisikan kita Memanipulasi data. Jadi kami menggunakan perintah SELECT, INSERT, UPDATE, DELETE.

Ingat, perintah DDL dilakukan secara otomatis. Anda tidak perlu menggunakan pernyataan COMMIT.
Perintah DML (Data Manipulation Language) perlu dikomit / dibatalkan.


2

DDL = Bahasa Definisi Data, perintah apa pun yang menyediakan struktur dan informasi lain tentang data Anda

DML = Bahasa Manipulasi Data, hanya ada 3 di antaranya, INSERT, UPDATE, DELETE. 4, jika Anda akan menghitung SELECT * INTO x_tbl from tbldari MSSQL (ANSI SQL: CREATE TABLE x_tbl AS SELECT * FROM tbl)


2

Dengan kata-kata sederhana.

DDL (Bahasa definisi data): akan bekerja pada struktur data. mendefinisikan struktur data.

DML (bahasa manipulasi data): akan bekerja pada data. memanipulasi data itu sendiri



2

DDL

Buat, Ubah, Setetes (Database, Tabel, Kunci, Indeks, Tampilan, Fungsi, Prosedur Tersimpan)

DML

Sisipkan, Hapus, Perbarui, Truncate of (Tables)


1

DDL adalah singkatan dari Data Definition Language. DDL digunakan untuk mendefinisikan struktur tabel seperti membuat tabel atau menambahkan kolom ke tabel dan bahkan menjatuhkan dan memotong tabel. DML adalah singkatan dari Bahasa Manipulasi Data. Seperti namanya DML digunakan untuk memanipulasi data tabel. Ada beberapa perintah dalam DML seperti menyisipkan dan menghapus.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.