Apakah kekangan SQL?
Kekangan SQL adalah peraturan yang digunakan untuk memastikan integriti dan ketepatan data pangkalan data. Jenis biasa termasuk: 1.not null pastikan lajur tidak kosong; 2.Unique memastikan bahawa nilai lajur adalah unik; 3. Kunci primer adalah pengenal baris yang tidak kosong dan unik; 4. Kunci asing mengaitkan data antara jadual; 5. Semak menggunakan syarat untuk data lajur; 6. Lalai menetapkan nilai lalai lajur. Kekangan ini boleh ditakrifkan dengan membuat jadual apabila membuat jadual, atau diubahsuai dengan jadual Alter selepas itu. Sebagai contoh, tidak NULL sesuai untuk medan yang diperlukan seperti peti mel. Semak boleh menghalang kuantiti inventori daripada menjadi negatif. Kunci asing boleh mengelakkan rekod yatim. Kekangan boleh digunakan secara langsung melalui Buat Jadual. Sebagai contoh, menetapkan ID sebagai nama utama utama, e-mel yang tidak kosong, umur unik tidak boleh kurang daripada 18. Jadual alter boleh ditambah kemudian. Jika anda menetapkan lalai negara ke Amerika Syarikat, sintaks pangkalan data yang berbeza mungkin sedikit berbeza.
Kekangan SQL adalah peraturan yang digunakan untuk lajur atau jadual dalam pangkalan data untuk menguatkuasakan integriti dan ketepatan data. Kekangan ini memastikan bahawa data yang masuk atau sedia ada dalam pangkalan data mematuhi keadaan tertentu, mencegah maklumat yang tidak sah atau tidak konsisten daripada disimpan. Mereka memainkan peranan kejam dalam mengekalkan kebolehpercayaan data merentasi aplikasi dan sistem.

Jenis Kekangan SQL Biasa
Terdapat beberapa kekangan SQL yang biasa digunakan, masing -masing melayani tujuan yang unik apabila menentukan bagaimana data harus berkelakuan dalam pangkalan data:
- Tidak NULL - memastikan bahawa lajur tidak boleh mempunyai nilai
NULL
. - Unik - Pastikan semua nilai dalam lajur adalah berbeza.
- Kunci utama - menggabungkan
NOT NULL
danUNIQUE
, mengenal pasti setiap baris dalam jadual. - Kunci Asing - Pautan data antara jadual dengan memastikan nilai dalam satu nilai padanan lajur dalam kunci utama jadual lain.
- Semak - Menguatkuasakan syarat -syarat tertentu pada data dalam lajur (contohnya, umur mestilah sekurang -kurangnya 18).
- Lalai - Menetapkan nilai lalai untuk lajur jika tiada nilai disediakan semasa penyisipan.
Kekangan ini boleh ditakrifkan sama ada apabila membuat jadual menggunakan CREATE TABLE
atau ditambah kemudian menggunakan ALTER TABLE
.

Bila dan mengapa anda menggunakan kekangan
Kekangan paling berguna apabila anda perlu mengekalkan konsistensi dan mengelakkan data yang buruk. Contohnya:
- Kekangan
NOT NULL
masuk akal untuk lajur seperti e -mel atau nombor telefon dalam jadual pengguna -medan yang tidak boleh dibiarkan kosong. - Jika anda menjejaki inventori produk, kekangan
CHECK
boleh menghalang nombor negatif daripada dimasukkan ke dalam lajur "kuantiti". - Menggunakan
FOREIGN KEY
membantu mengelakkan rekod yatim piatu; Sebagai contoh, pesanan dalam jadual pesanan harus selalu dihubungkan dengan pelanggan yang sah dalam jadual pelanggan.
Tanpa peraturan ini, pangkalan data anda boleh berakhir dengan data yang hilang, diduplikasi, atau tidak sesuai, yang membawa kepada kesilapan dalam pelaporan, kegagalan logik aplikasi, dan lebih banyak sakit kepala penyelenggaraan.

Cara memohon kekangan dalam amalan
Memohon kekangan adalah mudah. Berikut adalah contoh asas menggunakan CREATE TABLE
:
Buat Pengguna Jadual ( Kunci utama ID int, Nama Varchar (50) Tidak Null, e -mel varchar (100) unik, pemeriksaan int umur (umur> = 18) );
Dalam kes ini:
- Lajur
id
berfungsi sebagai kunci utama. -
name
tidak boleh kosong. - Setiap
email
mestilah unik di seluruh baris. -
age
mestilah sekurang -kurangnya 18.
Jika anda mahu menambah atau mengeluarkan kekangan kemudian, anda boleh menggunakan ALTER TABLE
. Sebagai contoh, menambah kekangan DEFAULT
baru:
Alter pengguna Jadual Alter Column Country Set Default 'USA';
Perlu diingat bahawa pangkalan data yang berbeza (seperti MySQL, PostgreSQL, SQL Server) mungkin mempunyai perbezaan sintaks yang sedikit, jadi selalu periksa dokumentasi untuk sistem yang anda gunakan.
Pada dasarnya itu sahaja.
Atas ialah kandungan terperinci Apakah kekangan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Jika/lain logik dilaksanakan terutamanya dalam pernyataan pilih SQL. 1. Struktur Casewhen boleh mengembalikan nilai yang berbeza mengikut syarat -syarat, seperti menandakan rendah/sederhana/tinggi mengikut selang gaji; 2. MySQL menyediakan fungsi IF () untuk pilihan mudah dua untuk menilai, seperti sama ada tanda memenuhi kelayakan bonus; 3. Kes boleh menggabungkan ungkapan Boolean untuk memproses pelbagai kombinasi keadaan, seperti menilai kategori pekerja "Salary High dan Young"; Secara keseluruhan, kes lebih fleksibel dan sesuai untuk logik kompleks, manakala jika sesuai untuk penulisan mudah.

Buat jadual sementara dalam SQL untuk menyimpan set hasil pertengahan. Kaedah asas ialah menggunakan pernyataan CreateTemaryTable. Terdapat perbezaan dalam butiran dalam sistem pangkalan data yang berbeza; 1. Sintaks Asas: Kebanyakan pangkalan data menggunakan createtemararyTableTemp_table (definisi medan), manakala SQLServer menggunakan # untuk mewakili jadual sementara; 2. Menjana jadual sementara dari data sedia ada: Struktur dan data boleh disalin secara langsung melalui CreateTemaryTableas atau SelectInto; 3. Nota termasuk skop tindakan adalah terhad kepada sesi semasa, menamakan semula mekanisme pemprosesan, overhead prestasi dan perbezaan tingkah laku dalam urus niaga. Pada masa yang sama, indeks boleh ditambah ke jadual sementara untuk mengoptimumkan

Kaedah mendapatkan tarikh dan masa semasa dalam SQL berbeza dari sistem pangkalan data. Kaedah umum adalah seperti berikut: 1. MySQL dan MariaDB menggunakan sekarang () atau current_timeStamp, yang boleh digunakan untuk menanyakan, memasukkan dan menetapkan nilai lalai; 2. 3. SQLServer menggunakan getDate () atau sysdateTime (), yang menyokong tetapan nilai sisipan dan lalai; 4. Oracle menggunakan sysdate atau systimestamp, dan perhatikan penukaran format tarikh. Menguasai fungsi ini membolehkan anda memproses korelasi masa yang fleksibel dalam pangkalan data yang berbeza

Perbezaan utama di mana dan mempunyai masa penapisan: 1. 2. Memiliki menapis keputusan selepas pengelompokan, dan bertindak ke atas data agregat, dan boleh menggunakan fungsi agregat. Sebagai contoh, apabila menggunakan di mana untuk menyaring pekerja bergaji tinggi dalam pertanyaan, kemudian statistik kumpulan, dan kemudian gunakan untuk menyaring jabatan dengan gaji purata lebih daripada 60,000, perintah kedua tidak dapat diubah. Di mana sentiasa melaksanakan terlebih dahulu untuk memastikan bahawa hanya baris yang memenuhi syarat -syarat yang mengambil bahagian dalam kumpulan, dan mempunyai penapis lebih lanjut output akhir berdasarkan hasil pengumpulan.

Kata kunci yang berbeza digunakan dalam SQL untuk mengeluarkan baris pendua dalam hasil pertanyaan. Fungsi terasnya adalah untuk memastikan bahawa setiap baris data yang dikembalikan adalah unik dan sesuai untuk mendapatkan senarai nilai unik untuk satu lajur atau lajur berganda, seperti jabatan, status atau nama. Apabila menggunakannya, sila ambil perhatian bahawa tindakan yang berbeza pada keseluruhan baris dan bukannya satu lajur, dan apabila digunakan dalam kombinasi dengan pelbagai lajur, ia mengembalikan gabungan unik semua lajur. Sintaks asas adalah selectDistinctColumn_Namefromtable_name, yang boleh digunakan untuk lajur tunggal atau pertanyaan lajur berganda. Perhatikan kesan prestasinya apabila menggunakannya, terutamanya pada set data yang besar yang memerlukan operasi penyortiran atau hash. Kesalahpahaman yang biasa termasuk kepercayaan yang salah bahawa berbeza hanya digunakan untuk lajur tunggal dan disalahgunakan dalam senario di mana tidak perlu deduplicate d

Dalam reka bentuk pangkalan data, gunakan pernyataan createtable untuk menentukan struktur jadual dan kekangan untuk memastikan integriti data. 1. Setiap jadual perlu menentukan medan, jenis data dan kunci utama, seperti user_idintprimarykey; 2. Tambahkan kekangan notnull, unik, lalai dan lain -lain untuk meningkatkan konsistensi data, seperti e -melVarchar (255) notnullunique; 3. Gunakan ForeignKey untuk mewujudkan hubungan antara jadual, seperti Jadual Pesanan Rujukan Kunci Utama Jadual Pengguna melalui USER_ID.

SQLFUNCTIONSANDSTOREDPROCEDURESDIFFERINPORPOSE, RETURNBEHAVIOR, CALLECONTEXT, ANDSECURITY.1.FUNCTIONSERETurnasingLevalueorTableAndareUsedForpoPromputationsWithinqueries, sementaraProceDurePormComplexPleperationsOrpoperations

Asequenceobjectinsqlgeneratesasequenceofnumericvaluesbasedonspecifiedrules, yang biasa digunakanfforuniquenumbergenerationacrosssessionsandtables.1.itallowsdefiningIntegersThatIncrementOrdeCrementByAsetamount.2.UnlikeDuseDuseDuseDuseDus
