Rumah > pengaturcaraan harian > pengetahuan mysql > Bagaimana anda memberikan keistimewaan kepada pengguna menggunakan pernyataan geran?

Bagaimana anda memberikan keistimewaan kepada pengguna menggunakan pernyataan geran?

百草
Lepaskan: 2025-03-20 15:15:26
asal
352 orang telah melayarinya

Bagaimana anda memberikan keistimewaan kepada pengguna menggunakan pernyataan geran?

Untuk memberikan keistimewaan kepada pengguna menggunakan pernyataan geran di SQL, anda perlu menentukan keistimewaan yang ingin anda berikan, objek (seperti pangkalan data, jadual, atau pandangan) yang mana keistimewaan ini terpakai, dan pengguna atau peranan yang anda berikan keistimewaan ini. Sintaks umum untuk penyata geran adalah seperti berikut:

 <code class="sql">GRANT privilege_type [(column_list)] ON object_type object_name TO {user | role | PUBLIC} [WITH GRANT OPTION];</code>
Salin selepas log masuk

Inilah pecahan komponen:

  • privilege_type : Menentukan jenis keistimewaan yang diberikan, seperti Pilih, Masukkan, Kemas kini, Padam, dll.
  • (column_list) : Pilihan. Jika anda ingin memberikan keistimewaan pada lajur tertentu jadual, senaraikannya di sini.
  • object_type : Menunjukkan jenis objek, biasanya TABLE , VIEW , atau DATABASE .
  • object_name : Nama objek khusus yang anda berikan keistimewaan.
  • user | role | PUBLIC : Pengguna, peranan, atau orang awam yang anda berikan keistimewaan.
  • WITH GRANT OPTION : Pilihan. Jika ditentukan, penerima juga boleh memberikan keistimewaan yang sama kepada pengguna lain.

Sebagai contoh, untuk memberikan pengguna bernama 'John' keupayaan untuk memilih dari jadual 'Pekerja', anda akan menggunakan:

 <code class="sql">GRANT SELECT ON TABLE employees TO john;</code>
Salin selepas log masuk

Apakah keistimewaan khusus yang boleh diberikan dengan penyata geran?

Kenyataan geran boleh digunakan untuk menetapkan pelbagai keistimewaan bergantung kepada sistem pengurusan pangkalan data tertentu yang digunakan. Berikut adalah beberapa keistimewaan yang paling biasa:

  • Pilih : Membenarkan penerima untuk membaca data dari jadual atau pandangan yang ditentukan.
  • Masukkan : Permit penerima untuk menambah baris baru ke jadual yang ditentukan.
  • UPDATE : Memberi keupayaan untuk mengubah suai baris sedia ada dalam jadual yang ditentukan.
  • Padam : Membolehkan penerima untuk mengeluarkan baris dari jadual yang ditentukan.
  • Rujukan : Membolehkan penerima untuk membuat kekangan utama asing yang merujuk jadual yang ditentukan.
  • Pencetus : Memberi keupayaan untuk mencipta pencetus pada jadual yang ditentukan.
  • Buat : membenarkan penciptaan objek baru dalam pangkalan data (misalnya, jadual, pandangan).
  • ALTER : Membolehkan penerima untuk mengubah struktur pangkalan data atau jadual yang ditentukan.
  • Drop : Memberi keupayaan untuk memadam objek pangkalan data yang ditentukan.
  • Jalankan : Membolehkan penerima untuk menjalankan fungsi atau prosedur yang ditentukan.
  • Penggunaan : Membolehkan penerima menggunakan objek pangkalan data tertentu seperti urutan atau domain.
  • Semua Keistimewaan : Memberi semua keistimewaan yang ada pada objek yang ditentukan.

Bagaimanakah anda dapat membatalkan keistimewaan yang diberikan menggunakan pernyataan geran?

Untuk membatalkan keistimewaan yang sebelum ini diberikan menggunakan penyata geran, anda menggunakan penyataan Revoke. Sintaks pernyataan Revoke adalah serupa dengan pernyataan geran dan adalah seperti berikut:

 <code class="sql">REVOKE privilege_type [(column_list)] ON object_type object_name FROM {user | role | PUBLIC} [RESTRICT | CASCADE];</code>
Salin selepas log masuk

Inilah penjelasan mengenai komponen:

  • privilege_type , (column_list) , object_type , dan object_name adalah serupa dengan yang dalam pernyataan geran.
  • user | role | PUBLIC : Pengguna, peranan, atau orang awam dari mana anda membatalkan keistimewaan.
  • RESTRICT | CASCADE : Pilihan. RESTRICT menghalang perintah daripada melengkapkan jika ia akan menjejaskan objek lain, sedangkan CASCADE membolehkan pembatalan untuk menyebarkan kepada objek yang bergantung.

Sebagai contoh, untuk membatalkan keistimewaan pilih dari 'John' di meja 'pekerja', anda akan menggunakan:

 <code class="sql">REVOKE SELECT ON TABLE employees FROM john;</code>
Salin selepas log masuk

Apakah sintaks untuk menggunakan pernyataan geran untuk memberikan keistimewaan kepada beberapa pengguna sekaligus?

Untuk menetapkan keistimewaan kepada beberapa pengguna sekaligus menggunakan pernyataan geran, anda boleh menyenaraikan pengguna yang dipisahkan oleh koma selepas kata kunci TO . Inilah sintaks umum untuk melakukannya:

 <code class="sql">GRANT privilege_type [(column_list)] ON object_type object_name TO user1, user2, user3 [WITH GRANT OPTION];</code>
Salin selepas log masuk

Sebagai contoh, untuk memberikan keistimewaan pilih pada jadual 'pekerja' kepada beberapa pengguna bernama 'John', 'Jane', dan 'Bob', anda akan menggunakan:

 <code class="sql">GRANT SELECT ON TABLE employees TO john, jane, bob;</code>
Salin selepas log masuk

Pendekatan ini membolehkan anda mengurus keistimewaan secara efisien merentasi beberapa pengguna dalam satu arahan, menyelaraskan tugas pentadbiran pangkalan data.

Atas ialah kandungan terperinci Bagaimana anda memberikan keistimewaan kepada pengguna menggunakan pernyataan geran?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan