SQL adalah salah satu bahasa pertanyaan yang paling dipercayai dan mudah di sekitar. Ia memberikan sintaksis yang jelas dan mudah dibaca tanpa menyingkirkan terlalu banyak makna fungsi.
Sekiranya anda menginginkan beberapa sejarah mengenai bahasa dan juga beberapa fakta menarik, lihat bahagian pengenalan artikel Pernyataan Kemas kini SQL saya.
Dalam artikel ini, kita akan membahas bahagian penting dalam membuat jadual dalam SQL. "Rasa" SQL pilihan saya ialah SQL Server tetapi maklumat tentang membuat jadual cukup banyak terdapat di semua variasi SQL.
Sekiranya anda tidak pernah menggunakan SQL atau tidak tahu apa jadualnya, jangan takut! Secara ringkas (dan secara luas), tabel adalah objek pangkalan data yang menyimpan, atau berisi, semua data dalam bahagian pangkalan data tersebut. Ini menyimpan data ini dalam lajur bernama dan baris bernombor yang tidak asing jika anda pernah menggunakan program spreadsheet. Setiap baris mewakili keseluruhan rekod pangkalan data.
Sekiranya data dalam bentuk kotak maka meja akan menjadi bahagian rak gudang, kami menyimpan kotak tersebut.

Saya mempermudah penjelasannya dan terdapat lebih banyak lagi jadual SQL tetapi itu di luar ruang lingkup artikel ini. Sekiranya anda ingin mendapatkan penjelasan yang lebih mendalam di atas meja, saya mendorong anda untuk menyelami dokumentasi Reka Bentuk Pangkalan Data Microsoft.
Sebelum kita belajar membuat jadual, penting untuk kita mengetahui jenis data yang boleh disimpan oleh lajur dan baris ini.
Jenis Data
Jadual SQL boleh memuat teks, nombor, gabungan teks dan nombor, serta gambar dan pautan.
Semasa membuat jadual kami, kami menetapkan jenis data yang akan disimpan oleh baris dan lajurnya. Berikut adalah klasifikasi data yang menyeluruh:
- Numerik Kira-kira
- Rentetan
- Masa tarikh
- Rentetan Watak Unicode
- Numerik Tepat
- Yang lain
Saya akan menyenaraikan beberapa jenis data yang lebih biasa digunakan di bawah ini, tetapi jika anda menginginkan lebih banyak jenis semua data, saya menjemput anda untuk melihat artikel lengkap ini pada setiap jenis dari Microsoft.
Berikut adalah jenis data yang paling biasa digunakan dari pengalaman saya, tanpa urutan tertentu:
- char (size) - rentetan panjang tetap yang boleh mengandungi huruf, angka, watak khas
- varchar (size) - rentetan panjang berubah yang boleh mengandungi huruf, nombor, & watak khas
- boolean - Nol (atau nilai yang sama dengan 0) adalah salah, bukan sifar adalah benar
- int ( ukuran pilihan ) - nombor hingga 10 aksara, menerima nombor negatif & positif
- bigint ( saiz pilihan ) - bilangan hingga 19 aksara, menerima nombor negatif & positif
- apungan (ukuran, d) - nombor dengan jumlah bilangan bilangan yang diwakili oleh ukuran dan bilangan aksara selepas perpuluhan yang diwakili oleh d
- tarikh - tarikh dalam format YYYY-MM-DD
- datetime - waktu tarikh dalam format YYY-MM-DD hh: mm: ss
- masa - masa dalam format hh: mm: ss
Baiklah, setelah kita mengetahui jenis data yang boleh diisi oleh baris dan lajur, mari masuk ke bahagian yang menyeronokkan!
Membuat Jadual

Sebelum kita memulakan, penting untuk diperhatikan bahawa saya akan memberikan semua contoh saya bebas daripada program apa pun.
Walau bagaimanapun, jika anda ingin mula menulis pertanyaan dan anda tidak pasti di mana hendak memulakannya, lihatlah SQL Server Management Studio. Ini adalah program percuma dan mantap yang banyak digunakan dan disokong dalam komuniti.
Sebagai alternatif, terdapat beberapa pilihan termasuk DB Fiddle yang membolehkan anda membina skema dan menulis pertanyaan terus di penyemak imbas anda.
Mari kita mulakan dengan pernyataan mudah untuk membuat jadual asas:
CREATE TABLE table_name ( column1_name datatype, column2_name datatype, column3_name datatype, column4_name datatype, column5_name datatype,)
Terdapat parameter lain yang dapat kita tambahkan setelah datatype
menambah lajur:
NOT NULL
- melewati parameter ini akan memastikan lajur tidak dapat menahanNULL
nilaiUNIQUE
- melewati parameter ini akan mengelakkan lajur menahan nilai yang sama lebih dari sekaliUNIQUE KEY
- melewati parameter ini akan menetapkan lajur itu sebagai pengecam unik. Ini pada dasarnya adalah gabungan dua parameter sebelumnya.
Sekarang, kita akan membuat jadual (bernama doggo_info yang mesti mematuhi piawaian pengecam untuk pangkalan data) untuk menyimpan maklumat mengenai penghuni Woof Woof Retreat, tempat penitipan anjing fiksyen yang baru saya fikirkan :)
CREATE TABLE doggo_info ( ID int UNIQUE KEY, Name varchar(50) NOT NULL, Color varchar(50), Breed varchar(50), Age int, Weight int, Height int, Fav_Food varchar(100), Fav_Toy varchar(100), Dislikes varchar(500), Allergies varchar(500) NOT NULL )
Dan inilah jadual baru yang baru kami buat:
Nama | Warna | Keturunan | Umur | Berat | Ketinggian | Fav_Food | Fav_Toy | Tidak suka | Alahan |
Anda akan melihat bahawa jadual kami benar-benar kosong dan ini kerana kami belum menambahkan data ke dalamnya. Melakukannya di luar ruang lingkup artikel ini tetapi saya mahu anda mengetahui berita itu.
Buat Jadual Dari Jadual Yang Ada
Anda juga boleh membuat jadual baru berdasarkan jadual yang ada.
Ia cukup mudah dan tidak memerlukan sintaks yang lebih banyak. Kita perlu memilih jadual dan lajur untuk "menyalin" dari:
CREATE TABLE new_table_name AS SELECT column1, column2, column3, column4 (use * to select all columns to be added to the new_table) FROM current_table_name WHERE conditions_exist
Oleh itu, demi kesesuaian, saya telah menambahkan beberapa data ke doggo_info
jadual kami dan sekarang kelihatan seperti contoh di bawah:
Nama | Warna | Keturunan | Umur | Berat | Ketinggian | Fav_Food | Fav_Toy | Tidak suka | Alahan |
daisy | merah | dachshund standard | 1 | 14 | 6 | kibble berperisa salmon | bola menjerit | burung terbang di halaman rumah | kucing, mandi, kebersihan |
ketua | hitam / tan | rottweiler | 3 | 41 | 17 | secara harfiah apa sahaja | tali penarik | tinggal di sofa | mendengar, berkelakuan, tidak memarahi segalanya |
sammie | sayang ringan | retriever emas | 9 | 46 | 19 | kibble berperisa daging lembu | katilnya | anak anjing berambut perang | tidak diketahui |
Sekarang kita boleh membuat jadual lain berdasarkan data yang kita ada dalam doggo_info
jadual kita dengan menjalankan pertanyaan di bawah:
CREATE TABLE puppies_only AS SELECT * FROM doggo_info WHERE Age < 4
Kami ingin membuat jadual baru dengan semua lajur dari doggo_info
jadual tetapi hanya di mana Age
kurang dari 4. Setelah menjalankan pertanyaan ini, jadual baru kami akan kelihatan seperti ini:
Nama | Warna | Keturunan | Umur | Berat | Ketinggian | Fav_Food | Fav_Toy | Tidak suka | Alahan |
daisy | merah | dachshund standard | 1 | 14 | 6 | kibble berperisa salmon | bola menjerit | burung terbang di halaman rumah | kucing, mandi, kebersihan |
ketua | hitam / tan | rottweiler | 3 | 41 | 17 | secara harfiah apa sahaja | tali penarik | tinggal di sofa | mendengar, berkelakuan, tidak memarahi segalanya |
Saya harap anda dapat melihat betapa kuatnya pernyataan ini. Dengan beberapa baris dalam pertanyaan kami, pada dasarnya kami telah menyalin data dari satu jadual ke satu jadual yang lain tetapi hanya baris yang kami mahukan.
Ini bukan sahaja alat yang berguna untuk dimiliki di tali pinggang alat pembangun anda - ia juga akan menjimatkan banyak masa ketika anda perlu memindahkan data di sekitar jadual.
Mengakhiri
Sekarang setelah anda mengetahui cara membuat (atau menyalin) jadual dalam SQL tidak kira apa keadaan yang anda hadapi, anda boleh mula mengisi lajur dan baris dengan data untuk disimpan!
The CREATE TABLE
kenyataan amat berguna dan berkuasa. Anda sudah bersedia untuk mula menggunakannya dengan baik.
Sekiranya artikel ini berguna, periksa blog saya di mana saya sering menyiarkan artikel mengenai pembangunan, kehidupan, dan pembelajaran web.
Semasa anda berada di sana mengapa tidak mendaftar untuk buletin saya? Anda boleh melakukannya di bahagian kanan atas halaman blog utama. Saya suka menghantar artikel menarik (artikel saya dan lain-lain), sumber dan alat untuk pembangun sesekali.
Sekiranya anda mempunyai pertanyaan mengenai artikel ini atau secara umum, beritahu saya - datanglah menyapa di Twitter atau mana-mana akaun media sosial saya yang lain yang boleh anda temukan di bawah buletin mendaftar di halaman utama blog saya atau di profil saya di sini di fCC :)
Selamat mencuba! Selamat belajar dan selamat pengekodan, kawan!