Rumah > pangkalan data > tutorial mysql > Bagaimana untuk menetapkan kekangan pada jadual dalam pangkalan data MySQL

Bagaimana untuk menetapkan kekangan pada jadual dalam pangkalan data MySQL

王林
Lepaskan: 2023-06-01 15:55:30
ke hadapan
2302 orang telah melayarinya

    1. PK (kekangan kunci utama)

    1.

    • Sebelum memahami kunci utama, fahami dahulu apa itu kata kunci

    • Kata kunci: medan unik dalam jadual, seperti A person's Nombor ID dan nombor pelajar. Terdapat berbilang kata kunci dalam jadual.

    • Kunci primer ialah gabungan satu atau lebih kata kunci Maklumat tentang keseluruhan jadual boleh diperolehi melalui kunci primer, kadangkala juga dipanggil kunci utama. Mengambil jadual pesanan sebagai contoh, anda boleh mendapatkan nama penerima pesanan, maklumat produk, harga dan maklumat lain yang berkaitan melalui nombor pesanan.

    Nota: Kata kunci tidak semestinya kunci utama, kunci utama mestilah kata kunci

    Ciri-ciri: Kunci utama tidak boleh kosong, unik dan tidak boleh berulang. Jadual sama ada mempunyai hanya satu kunci utama atau tiada kunci utama, dan tidak boleh mempunyai berbilang kunci utama.

    2. Bagaimana untuk menetapkan kunci utama?

    Kaedah 1: Tetapkan kunci utama semasa mencipta jadual

    -- 建立User表
    CREATE TABLE User(
    User_id int NOT NULL,
    User_name VARCHAR(20),
    User_pwd VARCHAR(18),
    -- 在这里设置id为主键
    PRIMARY KEY(User_id)
    )
    Salin selepas log masuk
    rrree

    Dua kaedah di atas boleh mencipta kunci utama dan kesannya adalah sama.

    Kaedah 2: Tiada kunci utama ditetapkan semasa membuat jadual, dan kemudian tetapkan kunci utama dalam jadual

    • Mula-mula buat jadual tanpa menetapkan kunci utama< . kaedah dalam kaedah 1 kepada kod semasa mencipta jadual Prinsip pertama adalah sama

      CREATE TABLE Users(
      -- 也可以在字段中直接设置主键
      User_id int NOT NULL PRIMARY KEY,
      User_name VARCHAR(20),
      User_pwd VARCHAR(18)
      )
      Salin selepas log masuk
    • Prinsipnya ialah menambah KUNCI UTAMA pada medan User_id
    Ia adalah sama dengan prinsip kedua dalam kaedah 1
      CREATE TABLE User(
      User_id int NOT NULL,
      User_name VARCHAR(20),
      User_pwd VARCHAR(18)
      )
      Salin selepas log masuk
    • 2. FK (kekangan kunci asing)

      1. Apakah itu kunci asing? sambungan langsung antara dua jadual. Kunci asing satu jadual mestilah kunci utama jadual lain Jadual dengan kunci asing hubungan lain sebagai kunci utama dipanggil jadual induk, dan jadual dengan kunci asing dipanggil jadual hamba jadual induk. .


    Sebagai contoh, jadual pesanan mengandungi dua kunci asing: ID produk dan ID pengguna. ID produk ialah kunci utama jadual maklumat produk dan ID pengguna ialah kunci utama jadual pengguna.


    Nota: Mungkin terdapat berbilang atau tiada kunci asing dalam jadual.

    2. Bagaimana untuk menetapkan kunci asing

    Kaedah 1: Tetapkan kekangan kunci asing semasa membuat jadual
    • Mari kita ambil contoh berdasarkan penetapan kunci utama sebelum ini jadual pengguna tadi. Jadi sekarang buat jadual pesanan.

      ALTER TABLE user ADD PRIMARY KEY(User_id)
      Salin selepas log masuk

      Kaedah 2: Tiada kunci utama ditetapkan semasa mencipta jadual, dan kemudian tetapkan kunci utama dalam jadual
    • ALTER TABLE users MODIFY User_id INT PRIMARY KEY;
      Salin selepas log masuk
    • Nota: Selepas perhubungan kunci utama dan asing diwujudkan, data dalam jadual utama tidak boleh dipadam sesuka hati. Jika maklumat pengguna disertakan dalam data pesanan, ralat akan berlaku semasa memadam maklumat pengguna, jadi maklumat pengguna perlu disimpan.

      3. Unik (kekangan unik)
    1.

    Jika kekangan unik ditetapkan pada medan, maka medan itu mestilah sama ada tidak ditulis atau jika ditulis, ia tidak boleh diulang.

    2. Bagaimana untuk menetapkan kekangan unik

    Masih mencipta jadual pengguna, kali ini terdapat medan e-mel dalam jadual. Menetapkan alamat e-mel tidak boleh diulang

    CREATE TABLE dingdan(
    DDid INT PRIMARY KEY NOT NULL,
    User_id INT NOT null,
    DDname VARCHAR(20) NOT NULL,
    -- 设置约束关系,dingdan表中的User_id 与 user表中的User_id表示的是同一个数据
    constraint fk FOREIGN KEY(User_id) REFERENCES user(User_id)
    )
    Salin selepas log masuk

    4. bukan null (tidak kosong)

    bermakna medan ini tidak boleh kosong

    Kemudian tulis kekangan unik di atas, yang menetapkan bahawa bukan sahaja alamat e-mel tidak boleh Diulang dan tidak boleh kosong

    alter table student add constraint stfk foreign key(stid) references teacher(tid)
    Salin selepas log masuk

    5. lalai (nilai lalai)

    bermakna jika anda tidak menulis medan ini, anda akan diberi nilai secara lalai. Teruskan menulis dalam jadual Pengguna di atas. Tambah medan jantina di sini Jika anda tidak menulis jantina, lalainya ialah lelaki

    CREATE TABLE User(
    User_id int NOT NULL,
    User_name VARCHAR(20),
    User_pwd VARCHAR(18),
    User_Email VARCHAR(40) UNIQUE
    )
    Salin selepas log masuk

    6. auto_increment (kenaikan diri)

    Auto-increment bermaksud kenaikan automatik, iaitu, jika anda tidak mempunyai apa-apa dalam medan ini Isikan data, sistem akan secara automatik menambah 1 berdasarkan data sebelumnya

    biasanya digunakan dalam ID, nombor

    menetapkan ID dalam jadual pengguna untuk menambah automatik

    CREATE TABLE User(
    User_id int NOT NULL,
    User_name VARCHAR(20),
    User_pwd VARCHAR(18),
    User_Email VARCHAR(40) UNIQUE not null
    )
    Salin selepas log masuk
    Nota: Tidak. Jika sekeping data tidak diisi, nilai akan diberikan secara lalai. Jadi walaupun ID ialah kunci utama, anda tidak perlu mengisi data

    Atas ialah kandungan terperinci Bagaimana untuk menetapkan kekangan pada jadual dalam pangkalan data MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Label berkaitan:
    sumber:yisu.com
    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan