تعديل المستخدم ALTER USER
يُستخدم هذا الأمر للتعديل من خصائص وسماحيات المستخدم، وله الصيغ الآتية (بحسب محركات قواعد البيانات المختلفة):
في محرك البيانات PostgreSQL
ALTER USER {name | CURRENT_USER} [ WITH ] option [ ... ]
إذ إن name هو اسم المستخدم الذي ستطرأ التعديلات عليه، ويمكن أن يكون الخيار option
أحد الكلمات المفتاحية الآتية:
الخيار | مهمته |
---|---|
SUPERUSER
|
لجعل المستخدم SUPERUSER أي له كافة صلاحيات الوصول access privileges في قاعدة البيانات
|
CREATEDB
|
لإعطاء المستخدم صلاحية إنشاء قاعدة بيانات جديدة |
CREATEROLE
|
لإعطاء المستخدم صلاحية إنشاء مستخدم آخر جديد |
CONNECTION LIMIT connlimit
|
لتحديد عدد من الاتصالات connlimit التزامنية التي يستطيع المستخدم القيام بها مع قاعدة البيانات
|
PASSWORD 'password'
|
لتحديد كلمة المرور password للمستخدم
|
VALID UNTIL 'timestamp'
|
لتحديد مدة صلاحية كلمة المرور لهذا المستخدم حتى التاريخ والتوقيت timestamp ، وإن لم يُحدد فهي صالحة دائمًا
|
RENAME to new_name
|
لإعادة تسمية المستخدم باسم جديد new_name
|
أمثلة
لتعديل كلمة المرور للمستخدم Ahmad
لتصبح '1751ah'
، يستخدم الأمر الآتي:
ALTER USER Ahmad WITH PASSWORD '1751ah';
أو لإزالة كلمة المرور الخاصة به:
ALTER USER Ahmad WITH PASSWORD NULL;
ولإعطائه صلاحية إنشاء قاعدة بيانات جديدة ومستخدمين جدد، يستخدم الأمر الآتي:
ALTER USER Ahmad CREATEROLE CREATEDB;
في محركي البيانات MySQL وOracle
ALTER USER [IF NOT EXISTS] name
[IDENTIFIED BY PASSWORD 'password']
[WITH resource_option]
[password_option]
إذ إن name
هو اسم المستخدم الذي ستطرأ التعديلات عليه، ويمكن تعديل أي من خيارات المصادر وخيارات أخرى متعلقة بكلمة المرور، وستُذكر تباعًا.
خيارات المصادر resource_option
الخيار | مهمته |
---|---|
MAX_QUERIES_PER_HOUR count | لتحديد العدد الأقصى للاستعلامات المسموحة خلال الساعة بالعدد count |
MAX_UPDATES_PER_HOUR count | لتحديد العدد الأقصى للتحديثات (التعديلات) المسموحة خلال الساعة بالعدد count |
MAX_CONNECTIONS_PER_HOUR count | لتحديد العدد الأقصى للاتصالات المسموحة خلال الساعة بالعدد count |
خيارات كلمة المرور password_option
مهمته | الخيار |
---|---|
لضمان استمرار كلمة المرور لهذا المستخدم بشكل دائم | PASSWORD EXPIRE NEVER
|
لتحديد n يومًا لصلاحية كلمة المرور
|
PASSWORD EXPIRE INTERVAL n DAY
|
أمثلة
لتعديل كلمة المرور للمستخدم Ahmad
لتصبح '1751ah'
وبصلاحية لمدة 200 يومًا، يستخدم الأمر الآتي:
ALTER USER Ahmad IDENTIFIED BY PASSWORD '1751ah' PASSWORD EXPIRE INTERVAL 180 DAY;
ولإعطائه حدًا أقصى لاستعلاماته خلال الساعة (500 استعلام)، يستخدم الأمر الآتي:
ALTER USER Ahmad WITH MAX_QUERIES_PER_HOUR 500;
في محرك البيانات SQL Server
ALTER USER name
WITH <set_item> ;
إذ إن name هو اسم المستخدم الذي ستطرأ التعديلات عليه و من خلال set_item
يمكن تعديل أحد الخصائص الآتية:
الخاصية | مهمتها |
---|---|
NAME = newUserName
|
لتعديل اسم المستخدم ليصبح newUserName
|
PASSWORD = 'newpassword'
|
لتعديل كلمة المرور لتصبح 'newpassword'
|
مثال
لتعديل اسم المستخدم Ahmad
ليصبح accountant
وكلمة مروره لتصبح '1751ah' ، يستخدم الأمر الآتي:
ALTER USER Ahmad NAME = accountant, PASSWORD = '1751ah' ;
التوافقية
SQLServer | SQLite | Oracle | PostgreSQL | MySQL |
---|---|---|---|---|
نعم | لا | نعم | نعم | نعم |