Jadual Kandungan
Kunci utama MySQL
Indeks (Indeks) MySQL
Rumah pangkalan data tutorial mysql Adakah kunci utama dalam mysql indeks?

Adakah kunci utama dalam mysql indeks?

Dec 27, 2021 pm 05:40 PM
mysql kunci utama indeks

Kunci utama dalam mysql bukan indeks. Nama penuh kunci utama ialah "kekangan kunci utama", yang merupakan kekangan pada data dalam jadual Ia adalah medan khas jadual, yang boleh mengenal pasti setiap maklumat dalam jadual secara unik struktur pangkalan data khas, yang terdiri daripada data Gabungan satu atau lebih lajur dalam jadual, yang boleh digunakan untuk menanya rekod dengan cepat dengan nilai tertentu dalam jadual data.

Adakah kunci utama dalam mysql indeks?

Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.

Kunci utama MySQL

Dalam MySQL, nama penuh kunci utama (KUNCI UTAMA) ialah "kekangan kunci utama", yang merupakan kekangan yang paling kerap digunakan dalam MySQL. Dalam keadaan biasa, untuk memudahkan DBMS mencari rekod dalam jadual dengan lebih cepat, kunci utama akan ditetapkan dalam jadual.

Kekangan merujuk kepada kekangan pada data dalam jadual, yang boleh membantu pentadbir pangkalan data mengurus pangkalan data dengan lebih baik dan memastikan ketepatan dan kesahihan data dalam pangkalan data.

Kunci primer ialah medan khas dalam jadual yang mengenal pasti secara unik setiap maklumat dalam jadual. Contohnya, nombor pelajar dalam jadual maklumat pelajar adalah unik.

Kunci utama dibahagikan kepada kunci utama satu medan dan kunci utama gabungan berbilang medan Bahagian ini akan menerangkan penciptaan, pengubahsuaian dan pemadaman kedua-dua kekangan utama ini.

Perkara berikut perlu diberi perhatian apabila menggunakan kunci utama:

  • Setiap jadual hanya boleh mentakrifkan satu kunci utama.

  • Nilai kunci utama mesti mengenal pasti secara unik setiap baris dalam jadual dan tidak boleh NULL, iaitu, tidak boleh ada dua baris data dengan nilai kunci utama yang sama dalam jadual. Ini adalah prinsip keunikan.

  • Nama medan hanya boleh muncul sekali dalam jadual medan kunci primer bersama.

  • Kunci primer bersama tidak boleh mengandungi medan berlebihan yang tidak diperlukan. Apabila medan dalam kunci utama bersama dipadamkan, jika kunci utama yang terdiri daripada medan yang tinggal masih memenuhi prinsip keunikan, maka kunci utama bersama adalah salah. Ini adalah prinsip meminimumkan.

Tetapkan kekangan kunci utama semasa membuat jadual

Tetapkan kekangan kunci utama semasa membuat jadual data, sama ada untuk jadual Tetapkan kunci utama untuk medan dalam jadual, atau tetapkan kunci utama bersama untuk berbilang medan dalam jadual. Tetapi tidak kira kaedah yang digunakan, hanya terdapat satu kunci utama dalam jadual. Berikut menerangkan cara untuk menetapkan kunci utama satu medan dan kunci utama gabungan berbilang medan.

1) Tetapkan kunci utama medan tunggal

Dalam penyataan CREATE TABLE, nyatakan kunci utama melalui kata kunci PRIMARY KEY.

Nyatakan kunci utama semasa mentakrifkan medan Format sintaks adalah seperti berikut:

<字段名> <数据类型> PRIMARY KEY [默认值]
Salin selepas log masuk

Contoh 1

Buat jadual data tb_emp3 dalam pangkalan data test_db, yang mana kunci utama ialah id, SQL Penyataan dan keputusan yang dijalankan adalah seperti berikut.

mysql> CREATE TABLE tb_emp3
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(25),
    -> deptId INT(11),
    -> salary FLOAT
    -> );
Query OK, 0 rows affected (0.37 sec)

mysql> DESC tb_emp3;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   | PRI | NULL    |       |
| name   | varchar(25) | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float       | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.14 sec)
Salin selepas log masuk

Atau tentukan kunci utama selepas mentakrifkan semua medan Format sintaks adalah seperti berikut:

[CONSTRAINT <约束名>] PRIMARY KEY [字段名]
Salin selepas log masuk

Contoh 2

Buat jadual data tb_emp4 dalam pangkalan data test_db, Kunci utamanya ialah id, dan penyata SQL serta keputusan yang dijalankan adalah seperti berikut.

mysql> CREATE TABLE tb_emp4
    -> (
    -> id INT(11),
    -> name VARCHAR(25),
    -> deptId INT(11),
    -> salary FLOAT,
    -> PRIMARY KEY(id)
    -> );
Query OK, 0 rows affected (0.37 sec)
mysql> DESC tb_emp4;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   | PRI | NULL    |       |
| name   | varchar(25) | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float       | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.14 sec)
Salin selepas log masuk

2) Tetapkan kunci utama bersama semasa mencipta jadual

Kunci primer bersama yang dipanggil bermakna kunci utama terdiri daripada berbilang medan dalam sebuah meja.

Contohnya, semasa menyediakan jadual data pemilihan kursus pelajar, patutkah anda menggunakan nombor pelajar sebagai kunci utama atau nombor kursus sebagai kunci utama? Jika nombor pelajar digunakan sebagai kunci utama, maka pelajar hanya boleh memilih satu kursus. Jika nombor kursus digunakan sebagai kunci utama, maka hanya seorang pelajar boleh memilih kursus. Jelas sekali, kedua-dua situasi ini tidak realistik.

Malah, apabila mereka bentuk jadual pemilihan kursus pelajar, hadnya ialah pelajar hanya boleh memilih kursus yang sama sekali sahaja. Oleh itu, nombor pelajar dan nombor kursus boleh disatukan sebagai kunci utama, yang merupakan kunci primer bersama.

Kunci primer terdiri daripada berbilang medan Format sintaks adalah seperti berikut:

PRIMARY KEY [字段1,字段2,…,字段n]
Salin selepas log masuk

Nota: Apabila kunci utama terdiri daripada berbilang medan, kekangan kunci primer tidak boleh diisytiharkan. terus selepas nama medan.

Contoh 3

Buat jadual data tb_emp5 Andaikan bahawa tiada id kunci utama dalam jadual untuk mengenal pasti pekerja secara unik, anda boleh menggabungkan nama dan deptId sebagai kunci utama . Pernyataan SQL dan keputusan berjalan adalah seperti berikut.

mysql> CREATE TABLE tb_emp5
    -> (
    -> name VARCHAR(25),
    -> deptId INT(11),
    -> salary FLOAT,
    -> PRIMARY KEY(name,deptId)
    -> );
Query OK, 0 rows affected (0.37 sec)
mysql> DESC tb_emp5;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| name   | varchar(25) | NO   | PRI | NULL    |       |
| deptId | int(11)     | NO   | PRI | NULL    |       |
| salary | float       | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.14 sec)
Salin selepas log masuk

Tambahkan kekangan kunci utama apabila mengubah suai jadual

Kekangan kunci utama boleh dibuat bukan sahaja semasa mencipta jadual, tetapi juga apabila mengubah suai jadual ditambah apabila. Walau bagaimanapun, perlu diingatkan bahawa nilai nol tidak dibenarkan dalam medan yang ditetapkan sebagai kekangan utama utama.

Format sintaks untuk menambah kekangan kunci utama apabila mengubah suai jadual data adalah seperti berikut:

ALTER TABLE <数据表名> ADD PRIMARY KEY(<字段名>);
Salin selepas log masuk

Lihat struktur jadual jadual data tb_emp2 Penyataan SQL dan hasil yang dijalankan adalah seperti mengikuti.

mysql> DESC tb_emp2;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   |     | NULL    |       |
| name   | varchar(30) | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float       | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.14 sec)
Salin selepas log masuk

Contoh 4

Ubah suai jadual data tb_emp2 dan tetapkan id medan sebagai kunci utama Penyataan SQL dan hasil yang dijalankan adalah seperti berikut.

mysql> ALTER TABLE tb_emp2
    -> ADD PRIMARY KEY(id);
Query OK, 0 rows affected (0.94 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC tb_emp2;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   | PRI | NULL    |       |
| name   | varchar(30) | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float       | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.12 sec)
Salin selepas log masuk

Biasanya, apabila anda ingin menetapkan kekangan kunci utama medan dalam jadual apabila mengubah suai jadual, anda mesti memastikan bahawa nilai dalam medan yang ditetapkan sebagai kekangan kunci utama tidak boleh mempunyai pendua, dan pastikan bahawa ia adalah benar dan salah. Jika tidak, kekangan kunci utama tidak boleh ditetapkan.

Indeks (Indeks) MySQL

Indeks ialah struktur pangkalan data khas, yang terdiri daripada satu atau lebih lajur dalam jadual data Ia boleh digunakan untuk menanya dengan pantas lajur tertentu dalam jadual data.

Dengan indeks, anda tidak perlu membaca semua maklumat dalam rekod semasa menanyakan data, tetapi hanya menanya lajur indeks. Jika tidak, sistem pangkalan data akan membaca semua maklumat setiap rekod untuk dipadankan.

Indeks boleh dibandingkan dengan urutan fonetik Kamus Xinhua. Sebagai contoh, jika anda ingin mencari perkataan "ku", jika anda tidak menggunakan urutan fonetik, anda perlu mencarinya halaman demi halaman dalam 400 halaman kamus. Walau bagaimanapun, jika anda mengekstrak pinyin untuk membentuk urutan fonetik, anda hanya perlu mencarinya terus daripada jadual fonetik lebih daripada 10 halaman. Ini boleh menjimatkan banyak masa.

Kebaikan dan Kelemahan Pengindeksan

Pengindeksan mempunyai kelebihan yang jelas dan keburukan yang tidak dapat dielakkan.

Kelebihan

Kelebihan indeks adalah seperti berikut:

  • Dengan mencipta indeks unik, keunikan setiap baris data dalam jadual pangkalan data boleh dijamin.

  • Boleh menetapkan indeks untuk semua jenis lajur MySQL.

  • boleh mempercepatkan pertanyaan data, yang merupakan sebab utama untuk menggunakan indeks.

  • boleh mempercepatkan sambungan antara jadual dari segi mencapai integriti rujukan data.

  • Apabila menggunakan klausa pengumpulan dan pengisihan untuk pertanyaan data, masa pengumpulan dan pengisihan dalam pertanyaan juga boleh dikurangkan dengan ketara

Kelemahan

Terdapat juga banyak keburukan untuk menambah indeks, terutamanya seperti berikut:

  • Mencipta dan menyelenggara kumpulan indeks mengambil masa, dan masa yang dibelanjakan meningkat apabila jumlah data meningkat.

  • Indeks perlu menduduki ruang cakera Selain ruang data yang diduduki oleh jadual data, setiap indeks juga menduduki sejumlah ruang fizikal. Jika anda mempunyai bilangan indeks yang banyak, fail indeks mungkin mencapai saiz fail maksimumnya lebih cepat daripada fail data.

  • Apabila menambah, memadam dan mengubah suai data dalam jadual, indeks mesti dikekalkan secara dinamik, yang mengurangkan kelajuan penyelenggaraan data.

Apabila menggunakan indeks, anda perlu mempertimbangkan kebaikan dan keburukan indeks.

Indeks boleh meningkatkan kelajuan pertanyaan, tetapi akan menjejaskan kelajuan memasukkan rekod. Kerana apabila memasukkan rekod ke dalam jadual yang diindeks, sistem pangkalan data akan menyusun mengikut indeks, yang mengurangkan kelajuan memasukkan rekod Kesan kelajuan akan menjadi lebih jelas apabila memasukkan sejumlah besar rekod. Dalam kes ini, cara terbaik ialah memadam indeks dalam jadual dahulu, kemudian masukkan data, dan kemudian buat indeks selepas sisipan selesai.

[Cadangan berkaitan: tutorial video mysql]

Atas ialah kandungan terperinci Adakah kunci utama dalam mysql indeks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara membuka phpmyadmin Cara membuka phpmyadmin Apr 10, 2025 pm 10:51 PM

Anda boleh membuka phpmyadmin melalui langkah -langkah berikut: 1. Log masuk ke panel kawalan laman web; 2. Cari dan klik ikon phpmyadmin; 3. Masukkan kelayakan MySQL; 4. Klik "Login".

MySQL: Pengenalan kepada pangkalan data paling popular di dunia MySQL: Pengenalan kepada pangkalan data paling popular di dunia Apr 12, 2025 am 12:18 AM

MySQL adalah sistem pengurusan pangkalan data relasi sumber terbuka, terutamanya digunakan untuk menyimpan dan mengambil data dengan cepat dan boleh dipercayai. Prinsip kerjanya termasuk permintaan pelanggan, resolusi pertanyaan, pelaksanaan pertanyaan dan hasil pulangan. Contoh penggunaan termasuk membuat jadual, memasukkan dan menanyakan data, dan ciri -ciri canggih seperti Operasi Join. Kesalahan umum melibatkan sintaks SQL, jenis data, dan keizinan, dan cadangan pengoptimuman termasuk penggunaan indeks, pertanyaan yang dioptimumkan, dan pembahagian jadual.

Cara menggunakan redis berulir tunggal Cara menggunakan redis berulir tunggal Apr 10, 2025 pm 07:12 PM

Redis menggunakan satu seni bina berulir untuk memberikan prestasi tinggi, kesederhanaan, dan konsistensi. Ia menggunakan I/O multiplexing, gelung acara, I/O yang tidak menyekat, dan memori bersama untuk meningkatkan keserasian, tetapi dengan batasan batasan konkurensi, satu titik kegagalan, dan tidak sesuai untuk beban kerja yang berintensifkan.

Tempat Mysql: Pangkalan Data dan Pengaturcaraan Tempat Mysql: Pangkalan Data dan Pengaturcaraan Apr 13, 2025 am 12:18 AM

Kedudukan MySQL dalam pangkalan data dan pengaturcaraan sangat penting. Ia adalah sistem pengurusan pangkalan data sumber terbuka yang digunakan secara meluas dalam pelbagai senario aplikasi. 1) MySQL menyediakan fungsi penyimpanan data, organisasi dan pengambilan data yang cekap, sistem sokongan web, mudah alih dan perusahaan. 2) Ia menggunakan seni bina pelanggan-pelayan, menyokong pelbagai enjin penyimpanan dan pengoptimuman indeks. 3) Penggunaan asas termasuk membuat jadual dan memasukkan data, dan penggunaan lanjutan melibatkan pelbagai meja dan pertanyaan kompleks. 4) Soalan -soalan yang sering ditanya seperti kesilapan sintaks SQL dan isu -isu prestasi boleh disahpepijat melalui arahan jelas dan log pertanyaan perlahan. 5) Kaedah pengoptimuman prestasi termasuk penggunaan indeks rasional, pertanyaan yang dioptimumkan dan penggunaan cache. Amalan terbaik termasuk menggunakan urus niaga dan preparedStatemen

Mengapa menggunakan mysql? Faedah dan kelebihan Mengapa menggunakan mysql? Faedah dan kelebihan Apr 12, 2025 am 12:17 AM

MySQL dipilih untuk prestasi, kebolehpercayaan, kemudahan penggunaan, dan sokongan komuniti. 1.MYSQL Menyediakan fungsi penyimpanan dan pengambilan data yang cekap, menyokong pelbagai jenis data dan operasi pertanyaan lanjutan. 2. Mengamalkan seni bina pelanggan-pelayan dan enjin penyimpanan berganda untuk menyokong urus niaga dan pengoptimuman pertanyaan. 3. Mudah digunakan, menyokong pelbagai sistem operasi dan bahasa pengaturcaraan. 4. Mempunyai sokongan komuniti yang kuat dan menyediakan sumber dan penyelesaian yang kaya.

Cara menyambung ke pangkalan data Apache Cara menyambung ke pangkalan data Apache Apr 13, 2025 pm 01:03 PM

Apache menyambung ke pangkalan data memerlukan langkah -langkah berikut: Pasang pemacu pangkalan data. Konfigurasikan fail web.xml untuk membuat kolam sambungan. Buat sumber data JDBC dan tentukan tetapan sambungan. Gunakan API JDBC untuk mengakses pangkalan data dari kod Java, termasuk mendapatkan sambungan, membuat kenyataan, parameter mengikat, melaksanakan pertanyaan atau kemas kini, dan hasil pemprosesan.

Pantau titisan redis dengan perkhidmatan pengeksport redis Pantau titisan redis dengan perkhidmatan pengeksport redis Apr 10, 2025 pm 01:36 PM

Pemantauan yang berkesan terhadap pangkalan data REDIS adalah penting untuk mengekalkan prestasi yang optimum, mengenal pasti kemungkinan kesesakan, dan memastikan kebolehpercayaan sistem keseluruhan. Perkhidmatan Pengeksport Redis adalah utiliti yang kuat yang direka untuk memantau pangkalan data REDIS menggunakan Prometheus. Tutorial ini akan membimbing anda melalui persediaan lengkap dan konfigurasi perkhidmatan pengeksport REDIS, memastikan anda membina penyelesaian pemantauan dengan lancar. Dengan mengkaji tutorial ini, anda akan mencapai tetapan pemantauan operasi sepenuhnya

Cara Memulakan MySQL oleh Docker Cara Memulakan MySQL oleh Docker Apr 15, 2025 pm 12:09 PM

Proses memulakan MySQL di Docker terdiri daripada langkah -langkah berikut: Tarik imej MySQL untuk membuat dan memulakan bekas, tetapkan kata laluan pengguna root, dan memetakan sambungan pengesahan port Buat pangkalan data dan pengguna memberikan semua kebenaran ke pangkalan data

See all articles