SQL: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
Wagino Bot (bicara | kontrib) k →top: minor cosmetic change |
k →Pranala luar: clean up |
||
(24 revisi perantara oleh 14 pengguna tidak ditampilkan) | |||
Baris 1:
{{untuk|nama kelompok lawak di Indonesia|SQL (lawak)}}
{{Infobox programming language
| name
| paradigm
| year
| designer
| developer
| latest_release_version = [[SQL:
| latest_release_date = {{Start date and age|2023|06}}<ref>{{Cite web|last=|date=Juni 2023|title=ISO/IEC 9075-2:2023|url=https://www.iso.org/standard/76584.html|website=ISO.org|language=en|access-date=31 Agustus 2023}}</ref>
| turing-complete
| typing
| implementations
| dialects
| influenced_by
| influenced
| operating_system
| website
}}
{{Infobox file format
Baris 28:
| latest release version = SQL:2008
| latest release date = {{Start date and age|2008|df=yes}}
| genre =
| standard = ISO/IEC 9075
| free = Yes
Baris 34:
| file_ext = .sql
}}
'''SQL''' ({{IPAc-en|
== Sejarah ==
Baris 43:
Di akhir tahun [[1970]]-an, muncul perusahaan bernama [[Oracle]] yang membuat [[server basis data]] populer yang bernama sama dengan nama perusahaannya. Dengan naiknya kepopuleran John Oracle, maka SQL juga ikut populer sehingga saat ini menjadi standar [[de facto]] bahasa dalam manajemen basis data.
==
Saat ini sebenarnya tidak ada server basis data yang 100% mendukung SQL92. Hal ini disebabkan masing-masing server memiliki dialek masing-masing.
== Pemakaian dasar ==
Secara umum, SQL terdiri dari dua bahasa, yaitu ''[[Data Definition Language]]'' (DDL) dan ''[[Data Manipulation Language]]'' (DML). Implementasi DDL dan DML berbeda untuk tiap [[sistem manajemen basis data]] (SMBD),<ref>Troels Arvin, 2007-05-26, http://troels.arvin.dk/db/rdbms/ Comparison of different SQL implementations</ref>
=== Data Definition Language ===
DDL digunakan untuk mendefinisikan, mengubah, serta menghapus [[basis data]] dan objek-objek yang diperlukan dalam basis data, misalnya [[tabel]], [[view]], [[user]], dan sebagainya. Secara umum, DDL yang digunakan adalah <code>CREATE</code> untuk membuat objek baru, <code>USE</code> untuk menggunakan objek, <code>ALTER</code> untuk mengubah objek yang sudah ada, dan <code>DROP</code> untuk menghapus objek. DDL biasanya digunakan oleh [[administrator]] basis data dalam pembuatan sebuah [[program|aplikasi]] basis data.
Baris 55:
<code>CREATE</code> digunakan untuk membuat basis data maupun objek-objek basis data. SQL yang umum digunakan adalah:
<
<code>CREATE DATABASE</code> membuat sebuah basis data baru.
<
<code>CREATE TABLE</code> membuat tabel baru pada basis data yang sedang aktif. Secara umum, perintah ini memiliki bentuk
<
CREATE TABLE [''nama_tabel'']
(
Baris 69:
...]
)
</syntaxhighlight>
atau
<
CREATE TABLE [''nama_tabel'']
(
Baris 79:
[CONSTRAINT nama_field constraints]
)
</syntaxhighlight>
dengan:
Baris 91:
Contoh:
<
CREATE TABLE user
(
Baris 98:
tanggal_lahir DATETIME
);
</syntaxhighlight>
akan membuat tabel <code>user</code> seperti berikut:
{| class="wikitable"
Baris 117:
==== <code>SELECT</code> ====
<code>SELECT</code> adalah perintah yang paling sering digunakan pada SQL, sehingga kadang-kadang istilah ''query'' dirujukkan pada perintah <code>SELECT</code>.
( QUERY BUDIN ) Cilegon.
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ...]
Baris 126:
[GROUP BY nama_field1[, nama_field2, ...]]
[HAVING ''kondisi_aggregat'']
</syntaxhighlight>
dengan:
* ''kondisi'' adalah syarat yang harus dipenuhi suatu data agar ditampilkan.
Baris 178:
Contoh 1:
Tampilkan seluruh data.
<
SELECT *
FROM user
</syntaxhighlight>
Contoh 2:
Tampilkan pengguna yang tidak pernah bertransaksi.
<
SELECT *
FROM user
WHERE total_transaksi = 0
</syntaxhighlight>
Contoh 3:
Tampilkan username pengguna yang bertransaksi kurang dari 10 dan nilainya lebih dari 1.000.
<
SELECT username
FROM user
WHERE jml_transakai < 10 AND total_transaksi > 1000
</syntaxhighlight>
Contoh 4:
Tampilkan total nominal transaksi yang sudah terjadi.
<
SELECT SUM(total_transaksi) AS total_nominal_transaksi
FROM user
</syntaxhighlight>
Contoh 5:
Tampilkan seluruh data diurutkan berdasarkan jumlah transaksi terbesar ke terkecil.
<
SELECT *
FROM user
ORDER BY jml_transaksi DESC
</syntaxhighlight>
===== Fungsi aggregat =====
Beberapa SMBD memiliki fungsi aggregat, yaitu fungsi-fungsi khusus yang melibatkan sekelompok data (aggregat). Secara umum fungsi aggregat adalah:
Baris 220:
===== Subquery =====
Tampilkan username pengguna yang memiliki jumlah transaksi terbesar.
<
SELECT username
FROM user
Baris 231:
FROM user
)
</syntaxhighlight>
==== <code>INSERT</code> ====
Untuk menyimpan data dalam tabel digunakan sintaks:
<
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
</syntaxhighlight>
Contoh:
<
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');
</syntaxhighlight>
==== <code>UPDATE</code> ====
Untuk mengubah data menggunakan sintax:
<
UPDATE [NAMA_TABLE] SET [NAMA_KOLOM]=[NILAI] WHERE [KONDISI]
</syntaxhighlight>
Contoh:
<
UPDATE Msuser set password="123456" where username="abc"
</syntaxhighlight>
==== <code>DELETE</code> ====
Untuk menghapus data dipergunakan sintaks:
<
DELETE FROM [nama_table] Where [KONDISI]
</syntaxhighlight>
Contoh:
<
DELETE FROM TEST WHERE NAMA='test';
</syntaxhighlight>
== Catatan ==
{{reflist}}
==
* [[Kata-kata yang dilindungi di SQL]]
* {{en}}[http://www.sql.org/ SQL Org]▼
* {{en}}[http://www.1keydata.com/sql/sql.html SQL Tutorial]▼
* {{en}}Mike Chapple, [http://databases.about.com/od/sql/a/sqlfundamentals.htm ''SQL Fundamentals'']▼
* {{en}}MySQL AB, [http://dev.mysql.com/doc/refman/5.0/en/index.html MySQL 5.0 Reference Manual]▼
== Pranala luar ==
▲* {{en}} [http://www.sql.org/ SQL Org]
▲* {{en}} [http://www.1keydata.com/sql/sql.html SQL Tutorial]
▲* {{en}} Mike Chapple, [http://databases.about.com/od/sql/a/sqlfundamentals.htm ''SQL Fundamentals''] {{Webarchive|url=https://web.archive.org/web/20090222225300/http://databases.about.com/od/sql/a/sqlfundamentals.htm |date=2009-02-22 }}
▲* {{en}} MySQL AB, [http://dev.mysql.com/doc/refman/5.0/en/index.html MySQL 5.0 Reference Manual]
{{Daftar bahasa pemrograman}}
{{Authority control}}
[[Kategori:Bahasa pemrograman]]▼
[[Kategori:SQL| ]]
[[Kategori:
|