Bagaimana untuk menambah kekangan yang unik ke lajur SQL?
Sep 24, 2025 am 04:27 AMApabila menggunakan Jadual Create, tambahkan kata kunci yang unik atau gunakan Alter Table Tambah kekangan untuk menambah kekangan ke jadual sedia ada untuk memastikan nilai -nilai dalam lajur adalah unik, dan menyokong lajur tunggal atau lajur berganda. Sebelum menambah, anda perlu memastikan bahawa data tidak diduplikasi. Anda boleh memadamkannya melalui kekangan drop, memberi perhatian kepada perbezaan sintaks antara pangkalan data yang berbeza dan nilai null.
Untuk menambah kekangan yang unik ke lajur SQL, anda boleh melakukannya sama ada ketika membuat jadual atau selepas jadual sudah ada. Kekangan yang unik memastikan bahawa semua nilai dalam lajur adalah berbeza, menghalang penyertaan pendua.
1. Menambah kekangan yang unik semasa penciptaan meja
Apabila menentukan jadual baru, sertakan kata kunci unik di sebelah definisi lajur.
Buat Pengguna Jadual (
Kunci utama ID int,
E -mel Varchar (255) Unik
);
Ini memastikan lajur e -mel mengandungi hanya nilai unik dari permulaan.
2. Menambah kekangan yang unik ke lajur yang ada
Jika jadual sudah ada, gunakan pernyataan Alter Table dengan Tambah Kekangan .
Alter pengguna Jadual
Tambah kekangan UQ_USERS_EMAIL Unik (e -mel);
Ini menambah kekangan unik yang dinamakan ( UQ_USERS_EMAIL ) pada lajur e -mel . Menamakan kekangan menjadikannya lebih mudah untuk dikendalikan kemudian.
3. Nota Penting
- Kekangan yang unik membolehkan satu nilai null dalam kebanyakan pangkalan data. Pelbagai nulls boleh dibenarkan bergantung pada sistem pangkalan data.
- Sekiranya terdapat nilai pendua yang sedia ada dalam lajur, penambahan kekangan akan gagal.
- Anda boleh memohon kekangan yang unik di pelbagai lajur dengan menyenaraikannya: Unik (Col1, Col2) .
4. Mengeluarkan kekangan yang unik
Sekiranya diperlukan, anda boleh menjatuhkan kekangan menggunakan:
Alter pengguna Jadual
Drop kekangan UQ_USERS_EMAIL;
Sintaks mungkin berbeza sedikit bergantung pada pangkalan data anda (misalnya, MySQL vs PostgreSQL vs SQL Server).
Pada asasnya, gunakan unik pada penciptaan meja atau alter jadual ... tambah kekangan selepas itu. Pastikan data bersih sebelum menggunakan kekangan.
Atas ialah kandungan terperinci Bagaimana untuk menambah kekangan yang unik ke lajur 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.

Stock Market GPT
Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

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)

UseCOMMENTONCOLUMNorALTERTABLEwithCOMMENTtodocumenttablesandcolumnsinSQL;syntaxvariesbyDBMS—PostgreSQLandOracleuseCOMMENTON,MySQLusesCOMMENTinCREATE/ALTERstatements,andcommentscanbeviewedviasystemtableslikeINFORMATION_SCHEMA,butSQLitelackssupport.

Fungsi Soundex menukarkan teks ke dalam kod empat aksara yang mewakili sebutan, menambah tiga digit ke huruf pertama, mengabaikan huruf vokal dan huruf tertentu, dan peta konsonan dengan sebutan yang sama dengan nombor yang sama, merealisasikan carian berasaskan sebutan. Sebagai contoh, Smith dan Smythe kedua -duanya menjana S530, dan nama -nama dengan sebutan yang sama boleh didapati melalui wheresoundex (last_name) = soundex ('smith'). Digabungkan dengan fungsi perbezaan, ia boleh mengembalikan skor kesamaan 0 hingga 4, menapis hasil sebutan yang ditutup, yang sesuai untuk menangani perbezaan ejaan, tetapi mempunyai kesan terhad pada nama bukan bahasa Inggeris, dan pengoptimuman prestasi perlu diberi perhatian.

Tofindorphanedrecords,useaLEFTJOINorNOTEXISTStoidentifychildrecordswithoutmatchingparentrecords.Forexample,SELECTo.FROMOrdersoLEFTJOINCustomerscONo.customer_id=c.customer_idWHEREc.customer_idISNULLreturnsorderslinkedtonon-existentcustomers.Alternativ

Apabila menggunakan createtable, tambahkan kata kunci yang unik atau gunakan altertableaddconstraint untuk menambah kekangan ke jadual sedia ada untuk memastikan nilai -nilai dalam lajur adalah unik, dan menyokong lajur tunggal atau lajur berganda. Sebelum menambah, anda perlu memastikan bahawa data tidak diduplikasi. Anda boleh memadamkannya melalui dropconstraint, memberi perhatian kepada perbezaan sintaks antara pangkalan data yang berbeza dan nilai null.

Subqueries adalah pertanyaan yang bersarang dalam pertanyaan lain. Mereka sesuai untuk pengiraan satu kali mudah dan boleh ditempatkan di Pilih, dari atau di mana klausa; 2. CTE ditakrifkan melalui klausa untuk meningkatkan kebolehbacaan pertanyaan kompleks dan rekursi sokongan dan pelbagai rujukan; 3. Subqueries sesuai untuk kegunaan tunggal, dan CTE lebih sesuai untuk senario di mana struktur, penggunaan semula atau rekursi yang jelas diperlukan.

Gunakan fungsi last_day () (mysql, oracle) untuk terus memperoleh hari terakhir bulan di mana tarikh yang ditentukan adalah, seperti last_day ('2023-10-15') untuk mengembalikan 2023-10-31; 2. SQLServer menggunakan fungsi eomonth () untuk mencapai fungsi yang sama; 3. PostgreSQL mengira akhir bulan melalui date_trunc dan selang; 4. SQLite menggunakan fungsi tarikh untuk menggabungkan 'startofmonth', '1month' dan '-1day' untuk mendapatkan hasilnya.

SqlServerusesNewid () togenerateguids; 2.mysqlusSuuid () forversion1uuids; 3.postgresqlusesgen_random_uuid () afterenablingpgcrypto; 4.sqlitelacksbuilt-insport.

Untuk mengemas kini data dalam jadual SQL, pernyataan kemas kini diperlukan. Sintaks asas ialah: Nama Jadual Kemas kini Nama Set Lajur 1 = Nilai 1, Lajur 2 = Nilai 2 ... di mana syarat; 1. Apabila mengemas kini satu baris, tentukan pengecam unik, seperti kunci utama; 2. Apabila mengemas kini pelbagai lajur, senaraikan pelbagai lajur dan nilai dalam klausa set; 3. Apabila mengemas kini pelbagai baris, pelbagai rekod yang sepadan dengan syarat -syarat di mana akan dikemas kini pada masa yang sama; 4 Jika klausa di mana ditinggalkan, semua baris akan dikemas kini, jadi berhati -hati untuk beroperasi; 5. Adalah disyorkan untuk menggunakan operasi pembaruan urus niaga untuk melancarkan kembali apabila ralat berlaku; Di samping itu, anda harus sentiasa menggunakan SELECT untuk menguji keadaan, sandaran data penting, dan menggunakan had dalam pangkalan data yang disokong untuk mengehadkan bilangan baris yang akan dikemas kini.
