SQL adalah bahasa khusus domain yang digunakan para insinyur untuk menangani data yang disimpan dalam database relasional atau untuk pemrosesan aliran dalam sistem manajemen aliran data relasional. Anda dapat menyimpan data dalam database relasional melalui tabel. Hal pertama yang harus dilakukan dalam proses ini adalah membuat database yang ingin Anda kerjakan. Kemudian kami membuat tabel di mana data aktual akan disimpan. Tabel dalam database semacam itu akan memiliki baris dan kolom.
Akan ada tipe data tertentu yang terkait dengan setiap kolom yang menentukan jenis data yang dapat disimpannya. Saat membuat tabel, kita harus menentukan nama dan tipe data setiap kolom. Anda dapat membuat tabel menggunakan perintah SQL CREATE TABLE di database MySQL dan PostgreSQL.
Mari kita lihat lebih dalam pernyataan SQL CREATE TABLE.
Bagaimana cara membuat tabel dengan SQL?
Anda dapat membuat tabel di MySQL dengan sintaks berikut:
BUAT TABEL nama_tabel(
column_1 data_type nilai default column_constraint ,
kolom_2 nilai default tipe_data column_constraint ,
...,
…,
table_constraint
);
Hal-hal dasar yang harus Anda miliki saat membuat tabel adalah namanya dan setidaknya satu nama kolom. Seharusnya hanya ada satu tabel database dengan nama tabel tertentu. Database akan menampilkan pesan kesalahan jika Anda mencoba membuat dua tabel dengan nama yang sama.
Di dalam tanda kurung, kita tentukan nama kolom yang ingin kita buat dalam tabel, beserta tipe data dari data yang akan dimasukkan ke dalamnya. Koma akan memisahkan nama-nama kolom ini. Nama, tipe data, nilai default kolom, dan satu atau beberapa batasan kolom membentuk setiap kolom.
Batasan kolom mengontrol nilai data aktual yang dapat disimpan dalam kolom. Misalnya, batasan NOT NULL menjamin bahwa tidak ada nilai NULL di kolom tertentu. Anda dapat memiliki lebih dari satu batasan untuk satu kolom. Misalnya, kolom dapat berisi batasan NOT NULL dan UNIQUE .
Jika Anda ingin menerapkan batasan ke semua kolom dalam tabel, Anda dapat menggunakan batasan tabel. Beberapa contoh yang sama adalah FOREIGN KEY , CHECK , dan UNIQUE . Setiap tabel dapat memiliki kunci utama yang terdiri dari satu atau lebih dari satu kolom. Kunci utama ini digunakan untuk mengidentifikasi secara unik setiap catatan tabel. Biasanya, Anda mencantumkan kolom kunci utama terlebih dahulu dan kemudian yang lainnya. Anda harus mendeklarasikan batasan PRIMARY KEY sebagai batasan tabel jika terdiri dari dua kolom atau lebih.
Mari kita lihat sebuah contoh:
BUAT PELANGGAN TABEL (
ID INT BUKAN NULL,
NAMA VARCHAR (20) BUKAN NULL,
USIA INT BUKAN NULL,
GAJI DESIMAL (18, 2),
KUNCI UTAMA (ID)
);
Di sini, nama tabelnya adalah "PELANGGAN", dan kunci utamanya adalah ID. Kolom ID, NAME, dan AGE memiliki batasan NOT NULL . Panjang nama harus kurang dari 20 karakter. Sekarang, kita telah membuat tabel dengan perintah SQL CREATE TABLE dan kita dapat memasukkan data yang relevan ke dalamnya dan database.
Bisakah Anda memiliki tabel di dalam tabel di MySQL/PostgreSQL?
Memiliki tabel di dalam tabel akan disebut bersarang tabel. Untuk ini, kita harus membuat tabel di dalam tabel lain dengan perintah SQL CREATE TABLE. Ini adalah konsep yang tidak ada di MySQL. Namun, kita dapat mencapai hasil yang sama seperti memiliki tabel bersarang dengan menggunakan kunci utama dan kunci asing. Ini menciptakan hubungan induk-anak di antara dua tabel.
Bidang atau sekelompok bidang dalam satu tabel yang merujuk KUNCI UTAMA dari tabel lain dikenal sebagai KUNCI ASING . Tabel dengan kunci utama utama disebut sebagai tabel induk, sedangkan tabel dengan kunci asing disebut sebagai tabel anak.
Sebagai contoh, asumsikan kita memiliki tabel induk Vehicle, yang Primary key-nya adalah VehId. Kami memiliki dua tabel lagi, Mobil, dengan kunci utama CarId, dan Truk, dengan kunci utama TruckId, masing-masing. Jika kita menempatkan VehId sebagai kunci asing di Mobil dan Truk, maka Kendaraan akan menjadi tabel induknya, sehingga menciptakan hubungan induk-anak.
Kendaraan meja induk {VehId}
Meja anak
1. Mobil {VehId,CarId}
2. Truk {VehId,TruckId}
Apakah mungkin untuk memilih ke dalam tabel SQL tanpa membuatnya terlebih dahulu?
Untuk memilih data dari database, kami menggunakan pernyataan SELECT. Data dari ini disimpan dalam tabel hasil yang disebut kumpulan hasil. Ini digunakan untuk memilih sebagian dari tabel atau seluruh tabel secara keseluruhan. Saat Anda mengkode dan telah membuat tabel dengan perintah SQL CREATE TABLE, Anda dapat menggunakan perintah SELECT untuk melihat tabel yang telah Anda buat.
Sintaksnya seperti ini:
PILIH kolom_1, kolom_2, …
DARI nama_tabel;
Misalnya, perintah berikut memilih seluruh tabel.
PILIH * DARI nama_tabel;
PILIH KE
Data dari satu tabel ditransfer ke tabel lain menggunakan pernyataan SELECT INTO. Itu dapat menyalin semua kolom dari satu tabel ke tabel lain. Ini biasanya digunakan ketika tabel tempat data disalin sudah ada.
Untuk memilih semua kolom tabel:
PILIH *
KE tabel_baru [IN externaldb]
DARI old_table
kondisi DIMANA;
Untuk memilih hanya beberapa kolom ke dalam tabel baru:
PILIH kolom_1, kolom_2, kolom_3, ...
KE tabel_baru [IN externaldb]
DARI old_table
kondisi DIMANA;
Jadi, bisakah kita memilih ke dalam tabel jika kita belum membuatnya dengan SQL CREATE TABLE?
Logikanya, jawabannya seharusnya tidak. Tapi ini tidak terjadi, dan kita bisa memilih ke dalam tabel bahkan jika kita belum membuatnya. Ketika sebuah tabel harus dibentuk, dan data dari satu tabel perlu ditransfer ke tabel yang baru dibuat, pendekatan ini digunakan. Tipe data yang sama dengan kolom yang dipilih digunakan untuk menghasilkan tabel baru.
Bagaimana Anda membuat tabel produk di SQL?
Tabel produk dalam SQL dapat dibuat dengan berbagai cara. Memanfaatkan pernyataan SQL CREATE TABLE adalah salah satu opsi. Informasi produk akan dimuat dalam tabel yang akan dibuat oleh pernyataan ini. Perintah SELECT juga dapat digunakan untuk melihat dan mengambil data dari tabel. Sintaks untuk keduanya telah disebutkan di atas.
Perintah INSERT dapat digunakan untuk memasukkan data baru ke dalam tabel juga. Berkat pernyataan INSERT, data akan dimasukkan ke dalam tabel pada posisi yang ditentukan. Data juga dapat diambil dari tabel menggunakan kueri SELECT dan kemudian ditambahkan ke tabel lain menggunakan pernyataan INSERT.
MASUKKAN KE DALAM
Kami menggunakan pernyataan INSERT INTO untuk menambahkan catatan baru ke tabel. Sintaks dari pernyataan INSERT adalah:
INSERT INTO table_name (column_1, column_2, ...)
NILAI (nilai_1, nilai_2, ...);
Yang membuat tabel produk berbeda hanyalah aspek desainnya saja yang sama. Nama produk, model, kelas, tahun model, dan daftar harga semua disimpan dalam database produk. Setiap item adalah bagian dari merek yang diidentifikasi oleh kolom id merek. Akibatnya, sebuah merek dapat memiliki satu produk atau banyak. Setiap produk adalah anggota kategori yang diidentifikasi oleh id kategorinya di tabel.
Jenis data apa yang cocok untuk database SQL?
Saat menggunakan perintah SQL CREATE TABLE, kita harus menyebutkan tipe data kolom. Data yang dapat disertakan oleh kolom bergantung pada tipe data ini. Contohnya termasuk bilangan bulat, karakter, biner, tanggal dan waktu, dan banyak lagi. Tabel database harus memiliki nama serta tipe data untuk setiap kolom.
Saat membuat tabel, programmer SQL harus menentukan jenis data apa yang akan dimuat di setiap kolom. Tipe data menentukan bagaimana SQL akan berinteraksi dengan data yang disimpan. Ini membantu dalam menentukan jenis data apa yang diantisipasi di dalam setiap kolom. Tiga tipe data utama di MySQL 8.0 adalah string, numerik, dan tanggal dan waktu.
Tipe data string
Tipe data string umumnya merupakan kumpulan karakter yang termasuk dalam alfabet bahasa Inggris. Tipe data string utama adalah:
- CHAR(ukuran)
- VARCHAR (ukuran)
- BINER (ukuran)
- VARBINARY (ukuran)
- TINYBLOB
- TINYTEXT
- Ukuran teks)
- Gumpalan (ukuran)
- TEKS MENENGAH
- MEDIUMBLOB
- TEKS PANJANG
- LONGBLOB
- ENUM(val_1, val_2, val_3, ...)
- SET(val_1, val_2, val_3, ...)
Di sini SIZE adalah ukuran maksimum yang dapat diambil oleh data yang disimpan. CHAR adalah string dengan panjang tetap, sedangkan VARCHAR adalah string dengan panjang string variabel. Ini adalah tipe data string yang paling banyak digunakan. BLOB adalah Objek Besar Biner.
Tipe data numerik
Variabel tipe data numerik digunakan untuk menyimpan data numerik. Mereka selanjutnya dibagi menjadi dua jenis tipe data - Exact dan Approximate. Tipe data yang tepat digunakan untuk menyimpan nilai data dalam bentuk literalnya. Sementara bilangan real terkandung dalam tipe data perkiraan, informasi tersebut tidak secara harfiah disimpan sebagai salinan dari nilai sebenarnya. Tipe data numerik utama adalah:
- BIT(ukuran)\
- TINYINT(ukuran)
- BOOL
- BOLEAN
- KECIL(ukuran)
- MEDIUMINT(ukuran)
- INT(ukuran)
- INTEGER(ukuran)
- BIGINT (ukuran)
- MENGApung (ukuran, d)
- MENGApung (p)
- GANDA (ukuran, d)
- PRESISI GANDA (ukuran, d)
- DESIMAL(ukuran, d)
- DES(ukuran, d)
Tipe data numerik yang paling umum digunakan adalah INT . Ini digunakan untuk menyimpan angka non-desimal, sedangkan variabel dengan tipe data FLOAT digunakan untuk menyimpan angka desimal. Dalam tipe data BOOL , nol dianggap FALSE , dan nilai bukan nol dianggap TRUE .
Tanggal dan waktu
Tipe data tanggal dan waktu digunakan untuk menyimpan data tanggal. Tipe data tanggal dan waktu utama adalah:
- TANGGAL
- DATETIME(fsp)
- TIMESTAMP(fsp)
- WAKTU (fsp)
- TAHUN
Tipe data SQL server mirip dengan tipe data yang diberikan di atas tetapi dengan perbedaan sintaksis yang kecil.
Apa saja jenis variabel dalam SQL server?
Dua kategori variabel ada di server MS SQL:
Variabel lokal
Seorang pengguna mendeklarasikan variabel lokal. Itu selalu dimulai dengan @. Ruang lingkup setiap variabel lokal dibatasi untuk batch atau proses yang sekarang berjalan dalam sesi tertentu. Variabel lokal Transact-SQL adalah semacam objek yang hanya dapat menyimpan satu jenis nilai data tertentu. Skrip dan batch sering menggunakan variabel:
- sebagai penghitung, baik untuk mengatur tingkat pengulangan loop atau untuk melacak berapa kali dieksekusi.
- untuk menyimpan nilai data yang akan dimasukkan melalui pemeriksaan kontrol aliran.
- untuk menyimpan nilai data yang akan dikembalikan oleh nilai pengembalian fungsi.
Variabel global
Sistem menjaga variabel global. Pengguna tidak dapat menjadikannya publik. @@ adalah tempat variabel global dimulai. Itu menyimpan data tentang sesi.
Mendeklarasikan variabel
Akan membantu jika Anda mendefinisikan variabel apa pun sebelum menggunakannya dalam batch atau proses. Variabel pengganti lokasi memori dideklarasikan menggunakan perintah DECLARE. Variabel hanya dapat digunakan setelah dideklarasikan pada batch atau langkah prosedur berikutnya.
Sintaks TSQL untuk mendeklarasikan variabel terlihat seperti ini:
MENYATAKAN { @LOCAL_VARIABLE[AS] tipe_data [ = nilai ] }
Pemrogram juga dapat memutuskan nilai variabel yang ditentukan dengan:
- Dalam proses deklarasi variabel dengan kata kunci DECLARE
- Menggunakan SET
- Menggunakan PILIH
Mengapa tipe data penting dalam SQL?
Tipe data adalah salah satu komponen penting dari setiap bahasa pengkodean, apakah itu bahasa pemrograman seperti C atau bahasa manipulasi data seperti SQL. Pada kenyataannya, SQL mendukung lebih dari 30 tipe data yang dapat menyimpan berbagai bentuk data aktual. Akan lebih baik jika Anda memiliki pemahaman yang kuat tentang berbagai tipe data SQL sebelum Anda dapat mulai menangani data.
Jenis informasi yang dapat disimpan dalam objek database seperti tabel ditentukan oleh tipe data SQL. Setiap kolom dalam tabel memiliki nama dan tipe data, dan setiap tabel memiliki kolom. Mereka membentuk tulang punggung bahasa apa pun, karena Anda tidak dapat memanipulasi data tanpa menggunakannya.
Anda harus tahu bahwa tidak semua tipe data didukung oleh sistem database. Oleh karena itu Anda harus memeriksa sebelum menggunakan tipe data tertentu. Misalnya, Anda tidak dapat menggunakan DateTime di Oracle karena tidak mengizinkan tipe data ini.
Demikian pula, MySQL tidak menggunakan Unicode sebagai tipe data. Anda dapat menggunakan tipe data tambahan yang dimiliki database tertentu. Misalnya, "uang" dan "uang kecil" di Microsoft SQL Server dapat diganti dengan "mengambang" dan "nyata", tetapi istilah ini khusus untuk basis data dan tidak ada di sistem basis data lain. Terkadang, tipe data tertentu disebut memiliki berbagai nama di beberapa database. Oracle, misalnya, mengacu pada "desimal" sebagai "angka" dan "gumpalan" sebagai "mentah."
Bisakah beberapa tabel memiliki kunci utama yang sama?
Ya. Di beberapa tabel, kunci utama dapat berbagi nama kolom yang sama. Di dalam tabel, nama kolom harus berbeda. Karena menentukan integritas Entitas, tabel hanya dapat berisi satu kunci utama. Setiap tabel mungkin berisi kunci utama, tetapi tidak diperlukan. Tidak ada dua baris yang dapat berbagi kunci utama yang sama, berkat kolom atau kolom yang ditetapkan sebagai kunci utama. Kunci utama dari satu tabel dapat digunakan untuk mengidentifikasi catatan tabel lain dan menjadi bagian dari kunci utama kedua.
Bagaimana cara menggunakan "pesan berdasarkan" pada kunci utama?
Perintah ORDER BY dapat digunakan untuk mengurutkan kumpulan hasil. Ini bisa dalam urutan menaik atau menurun. Catatan biasanya diurutkan menggunakan kata kunci ORDER BY dalam urutan menaik. Anda dapat menggunakan kata kunci DESC untuk mengatur entri dalam urutan menurun.
Sintaks pesanan terlihat seperti:
PILIH kolom_1, kolom_2, ...
DARI nama_tabel
ORDER BY kolom_1, kolom_2, ... ASC|DESC;
Misalnya, asumsikan ada tabel bernama Users; Anda dapat mengurutkannya dalam urutan menaik atau menurun berdasarkan kota pengguna.
PILIH * DARI Pengguna
ORDER BY Kota;
Untuk mengurutkan yang sama dalam urutan menurun:
PILIH * DARI Pengguna
PESANAN OLEH DESC Kota;
ORDER BY pada kunci utama
Cukup gunakan ORDER BY seperti biasa pada nama kunci utama, seperti "RollID":
SELECT * FROM my_table WHERE col_1 < 5 ORDER BY RollID;
Pengoptimal kueri mungkin atau mungkin tidak memutuskan untuk menggunakan struktur indeks kunci utama untuk menganalisis penyortiran daripada melakukan pengurutan aktif pada hasil kueri yang disetel untuk menangani ORDER BY berdasarkan cara memutuskan untuk menilai kueri.
Mayoritas kueri tabel tunggal tanpa klausa ORDER BY akan mengembalikan hasil dalam urutan kunci Primer karena MySQL InnoDB menyimpan tabel dalam pendekatan apa ke urutan kunci primer asli. Namun, Anda masih dapat menggunakan ORDER BY jika aplikasi Anda benar-benar membutuhkan pemesanan Kunci Utama.
Tidak ada pengembangan kode
Metodologi pengembangan tanpa kode adalah salah satu faktor utama yang mendorong demokratisasi pengkodean. Hari-hari ini, lebih banyak individu memiliki akses ke komputasi pada prinsipnya tanpa mengetahui pengkodean apa pun. Ini memfasilitasi pembangunan situs web responsif serta aplikasi seluler.
AppMaster dapat membantu Anda menghasilkan kode sumber secara otomatis. Kode selalu tersedia untuk Anda lihat dan periksa. Anda memiliki pilihan untuk mengubah detail proyek menggunakan bahasa pemrograman dengan AppMaster. Kami juga memberi pengguna opsi untuk mengekspor kode. Ini adalah janji bahwa perangkat lunak yang Anda kembangkan dengan AppMaster sepenuhnya berada dalam kendali dan kepemilikan Anda.
Kesimpulan
SQL memiliki beberapa aplikasi yang membuatnya sangat menarik. Membuat skrip integrasi data, merancang dan mengeksekusi kueri analitik, dan mengakses subset data dari database untuk wawasan dan pemrosesan transaksi adalah beberapa tujuan utamanya. Ini juga dapat digunakan untuk menyisipkan, memodifikasi, dan menghapus baris dan kolom data dalam database.
Sebelum masuk ke kedalaman SQL, kita perlu membiasakan diri dengan perintah dan sintaks dasar. Dengan membaca artikel di atas, kita bisa mengenal lebih jauh tentang pernyataan dasar yang digunakan dalam SQL, seperti CREATE TABLE, INSERT INTO, SELECT, dan lainnya.