SQL Chairil Anwar

Ngalenyepan DDL, DML sarta ngagabung

The terstruktur pamundut Basa mangrupa salah sahiji blok wangunan dasar arsitektur database modern. SQL ngahartikeun metodeu dipaké pikeun nyieun jeung ngamanipulasi basis data relational on sadayana platform utama. Dina glance kahiji, basa meunang sigana intimidating tur kompléks, tapi éta henteu kabeh anu hésé.

bubuka ieu Chairil Anwar balik SQL nyokot katingal ringkes dina sababaraha Paréntah utama dipaké pikeun nyieun jeung ngarobah basis data.

ngeunaan SQL

Cara ngucapkeun nu bener di SQL mangrupakeun masalah contentious dina komunitas database. Dina standar SQL na, anu Amérika Nasional Standards Institute ngadéklarasikeun yén ngucapkeun resmi nyaeta "es ngantri el". Sanajan kitu, loba database professional geus dibawa ka slang ngucapkeun "sequel". pilihan nyaeta Hormat.

SQL asalna di loba rasa. Basis data Oracle make na proprietary PL / SQL. Microsoft SQL Server ngajadikeun pamakéan Transact-SQL. Sakabéh nu variasi anu dumasar kana baku industri ANSI SQL. bubuka ieu migunakeun Paréntah SQL ANSI-patuh anu dianggo dina sagala sistem database relational modern.

DDL na DML

Paréntah SQL bisa dibagi jadi dua sub-basa utama. The Data Harti Basa (DDL) ngandung paréntah dipaké pikeun nyieun sarta ngancurkeun basis data sarta objék database. Saatos struktur database diartikeun kalawan DDL, database pangurus jeung pamaké tiasa nganggo Data manipulasi Basa (DML) nyelapkeun, meunangkeun jeung ngaropéa data ngandung dina eta.

Data Harti Basa Paréntah

The Data Harti Basa ieu dipaké pikeun nyieun sarta ngancurkeun basis data sarta objék database. Paréntah ieu utamana dipaké ku pangurus database salila setelan na ngaleupaskeun fase hiji proyék database. Di dieu hiji katingal di struktur jeung pamakéan tina opat Paréntah DDL dasar:

Jieun. Masang hiji sistem manajemen database dina komputer anu ngidinan Anjeun pikeun nyieun jeung ngokolakeun loba basis data bebas. Contona, anjeun bisa jadi hoyong ngajaga database kontak customer pikeun departemén jualan anjeun sarta database tanaga pikeun departemén HR Anjeun. The nyieun paréntah dipake pikeun nangtukeun unggal basis data ieu di platform Anjeun. Contona, sorana:

Jieun karyawan database

nyiptakeun mangrupa databés kosong ngaranna "karyawan" dina DBMS Anjeun. Sanggeus nyieun Cikajang, lengkah saterusna nya éta nyieun tabel nu ngandung data. variasi séjén anu nyieun paréntah bisa dipaké keur kaperluan ieu. paréntah:

Nyieun tabél personal_info (first_name char (20) moal null, last_name char (20) moal null, employee_id int moal null)

ngawangun hiji méja judulna "personal_info" dina database ayeuna. Dina conto éta, méja ngandung tilu atribut: first_name, last_name na employee_id sapanjang kalawan sababaraha émbaran tambahan.

Paké. Paréntah nganggo ngidinan Anjeun pikeun nangtukeun databés anjeun hoyong Anjeun gawekeun dina DBMS Anjeun. Contona, upami anjeun nuju ayeuna digawé di database jualan na hayang ngaluarkeun sababaraha Paréntah anu bakal mangaruhan databés pagawe, cariosan aranjeunna kalayan paréntah SQL handap:

karyawan nganggo

Éta penting pikeun salawasna jadi sadar tina database anjeun digawé di saméméh ngaluarkeun paréntah SQL anu ngamanipulasi data.

Ngarobah. Sakali anjeun geus dijieun méja dina database, Anjeun meureun hoyong ngaropéa harti na. The Ngarobah paréntah ngidinan Anjeun pikeun nyieun parobahan struktur méja henteu sareng mupus na recreating eta. Candak katingal di paréntah di handap:

Ngarobah tabel personal_info nambahkeun duit gaji null

Contona kieu nambahan atribut anyar pikeun gaji tabel-hiji personal_info pagawe sacara. The "uang" argumen hususna nu gaji hiji pagawe sacara disimpen maké dollar na cents format. Tungtungna, anu "null" keyword ngabejaan databés anu éta OK pikeun médan ieu ngandung euweuh nilai keur naon pagawe dibikeun.

Serelek. Paréntah ahir tina Basa Data Harti, serelek, ngamungkinkeun urang pikeun nyabut sakabéh objék database ti DBMS urang. Contona, upami urang hoyong miceun permanén tabel personal_info yén urang dijieun, urang kukituna nganggo paréntah di handap:

Serelek tabel personal_info

Nya kitu, paréntah di handap bakal dipaké pikeun nyabut sakabéh database karyawan:

karyawan database serelek

Paké paréntah ieu kalayan perawatan. Paréntah serelek ngaluarkeun sakabéh struktur data ti databés anjeun. Lamun Anjeun hoyong cabut rékaman individual, nganggo paréntah ngahapus tina Basa Data manipulasi.

Data manipulasi Basa Paréntah

The Data manipulasi Basa (DML) digunakeun pikeun meunangkeun, ngalebetkeun na ngaropéa informasi database. Paréntah ieu dipaké ku sakabéh pamaké database mangsa operasi rutin tina pangkalan data.

Selapkeun. Paréntah ngalebetkeun di SQL geus dipaké pikeun nambahkeun rékaman ka méja aya. Balik kana conto personal_info ti bagian saencanna, ngabayangkeun yén jurusan HR urang perlu nambahan hiji pagawe anyar pikeun database na. Anjeun bisa make paréntah sarupa ieu:

Ngalebetkeun kana personal_info nilai ( 'Bart', 'Simpson', 12345, $ 45000)

Catet yén aya opat nilai dieusian pikeun rékaman éta. Ieu pakait jeung atribut tabel dina urutan ka maranéhanana didefinisikeun: first_name, last_name, employee_id na gaji.

Pilih. Paréntah MILIH nyaéta paréntah paling ilahar dipake dina SQL. Hal ieu ngamungkinkeun pamaké database pikeun meunangkeun informasi husus aranjeunna mikahayang ti hiji database operasional. Candak katingal di sababaraha conto, deui maké tabel personal_info ti database karyawan.

Paréntah ditémbongkeun di handap retrieves kabeh informasi anu dikandung dina tabel personal_info. Catet yén bintang dipaké salaku bonus di SQL. Ieu sacara harfiah ngandung harti "Pilih sagalana ti méja personal_info".

MILIH * FROM personal_info

Alternatipna, pamaké bisa rék ngawates atribut nu Disalin ti pangkalan data. Contona, departemen Sumberdaya Asasi Manusa bisa merlukeun daptar ngaran tukang sadaya pagawé di pausahaan. handap paréntah SQL bakal meunangkeun ngan informasi yén:

last_name milih tina personal_info

Mana klausa bisa dipaké pikeun ngawates rékaman nu Disalin kana pamadegan yen minuhan kriteria dieusian. CEO nu bisa jadi museurkeun reviewing rékaman tanaga sadaya karyawan kacida dibayar. Paréntah di handap retrieves sakabéh data ngandung dina personal_info pikeun rékaman nu boga nilai gaji gede ti $ 50,000:

MILIH * FROM personal_info WHERE gaji> $ 50000

Update. Paréntah update bisa dipaké pikeun ngaropéa informasi anu dikandung dina méja, boh dina bulk atawa individual. Nganggap parusahaan méré sagala karyawan a 3 persén kanaékan ongkos-of-hirup di gaji maranéhanana taunan. handap paréntah SQL bisa dipaké pikeun gancang panawaran ieu kabeh karyawan disimpen dina pangkalan data:

Update personal_info Romadhon gaji = gaji * 1,03

Lamun pagawe anyar Bart Simpson mendemonstrasikan kinerja luhur tur saluareun sauran tina tugas, manajemén wishes ngakuan accomplishments stellar na ku $ 5,000 ngangkat. Mana klausa bisa dipaké pikeun hiji kaluar Bart pikeun ngangkat ieu:

Update personal_info Romadhon gaji = gaji + $ 5000 WHERE employee_id = 12345

MUPUS. Tungtungna, hayu urang nyandak katingal di paréntah ngahapus. Anjeun nimu yén sintaksis tina paréntah ieu sarupa jeung nu ti Paréntah séjén DML. Hanjakal, laporan earnings perusahaan panganyarna kami teu rada minuhan ekspektasi jeung nagara miskin Bart geus diteundeun pareum. The ngahapus paréntah ku WHERE klausa bisa dipaké jang ngaleupaskeun catetan ti tabel personal_info:

Pupus ti personal_info WHERE employee_id = 12345

ngagabung

Ayeuna nu geus diajar dasar tina SQL, éta waktuna pikeun ngaléngkah ka salah sahiji konsep pangkuatna basa geus nawarkeun-nu gabung pernyataan. A gabung pernyataan ngidinan Anjeun pikeun ngagabungkeun data di sababaraha tabel kana epektip ngolah jumlah badag data. pernyataan ieu tempat kakawasaan sabenerna database a resides.

Ngajajah pamakéan operasi dasar gabung ngagabungkeun data ti dua tabel, neruskeun jeung conto migunakeun tabel PERSONAL_INFO tur nambahkeun hiji méja tambahan kana racikanana. Nganggap anjeun gaduh tabel disebut DISCIPLINARY_ACTION nu dijieun ku pernyataan di handap:

Nyieun tabél disciplinary_action (action_id int moal null, employee_id int moal null, komentar char (500))

tabél ieu ngandung hasil lampah disiplin dina karyawan parusahaan. Anjeun bakal aya bewara nu teu ngandung émbaran wae ngeunaan pagawe sejenna ti jumlah pagawe. Ieu gampang keur ngabayangkeun loba skenario dimana anjeun bisa hayang ngagabungkeun informasi ti DISCIPLINARY_ACTION na tabel PERSONAL_INFO.

Nganggap maneh geus tasked kalayan nyieun laporan nu mangrupa daptar tindakan disiplin dicokot ngalawan sagala karyawan ku gaji gede ti $ 40.000. Pamakéan a gabung operasi, dina hal ieu, anu lugas. Urang tiasa meunangkeun inpo ieu maké paréntah di handap:

personal_info.first_name pilih, personal_info.last_name, disciplinary_action.comments FROM personal_info, disciplinary_action WHERE personal_info.employee_id = disciplinary_action.employee_id AND personal_info.salary> 40000

Kode nu hususna ti dua tabel nu hayang urang gabung di ti klausa lajeng ngawengku hiji pernyataan dina klausa dimana ngawatesan hasil mun rékaman nu tadi Gajah Mungkur pagawe cocog jeung patepung kriteria kami tina hiji gaji gede ti $ 40.000.