كيو هو نظام إدارة قاعدة بيانات قوية وواسعة النطاق التي توفر مجموعة واسعة من الوظائف للعمل مع البيانات. تتمثل إحدى العمليات المهمة في تطوير قاعدة البيانات وصيانتها في تغيير أنواع البيانات.
قد تحتاج إلى تغيير نوع البيانات ، على سبيل المثال ، عند إضافة حقول جديدة إلى جدول أو ، إذا لزم الأمر ، تغيير التنسيق لتخزين قيمة معينة. هناك عدة طرق مختلفة لتغيير نوع البيانات في كيو ، ولكل منها خصائصه ومزاياه الخاصة.
في هذه المقالة ، سوف ننظر في عدة أمثلة لتغيير نوع البيانات في كيو وإعطاء تعليمات مفصلة حول كيفية تنفيذ هذه العمليات. وسوف ننظر في طرق مثل استخدام الكلمة الرئيسية الجدول ألتر وظيفة المدلى بها. بالإضافة إلى ذلك ، سننظر في بعض ميزات تغيير نوع البيانات لأنواع مختلفة من الأعمدة.
قد يكون تغيير نوع البيانات مهمة صعبة ، خاصة عندما يكون هناك كمية كبيرة من البيانات. لذلك ، قبل إجراء أي عمليات ، يوصى بإنشاء نسخة احتياطية من قاعدة البيانات واختبار التغييرات في بيئة الاختبار لتجنب فقدان البيانات أو العواقب غير المرغوب فيها.
تغيير نوع البيانات في كيو هو عملية هامة تتطلب الرعاية والتحقق المسبق. يمكن إجراء هذه العملية باستخدام الكلمة الرئيسية لجدول التغيير أو وظيفة الإرسال. تتيح لك معرفة تفاصيل تغيير نوع البيانات للأعمدة المختلفة إجراء هذه العملية بنجاح وأمان.
- تغيير نوع البيانات في كيو: أمثلة وتعليمات
- تغيير نوع البيانات باستخدام عامل تشغيل الجدول البديل
- تغيير نوع البيانات باستخدام وظيفة الاستخدام
- اختيار نوع البيانات الأساسية
- تغيير نوع بيانات العمود
- تغيير نوع البيانات لجدول
- تغيير نوع بيانات المفتاح الخارجي
- تغيير نوع بيانات الفهرس
- تغيير نوع البيانات في طريقة العرض
- تغيير نوع البيانات في إجراء مخزن
- توصيات لتغيير نوع البيانات
- سؤال وجواب
- كيف يمكنني تغيير نوع البيانات العمود في كيو?
- هل من الممكن تغيير نوع البيانات من عمود دون فقدان البيانات في كيو?
- كيف يمكنني تغيير نوع البيانات العمود إلى المسلسل في كيو?
- ماذا يحدث إذا قمت بتغيير نوع البيانات من عمود يحتوي على البيانات الموجودة?
تغيير نوع البيانات في كيو: أمثلة وتعليمات
كيو هي واحدة من قواعد البيانات مفتوحة المصدر الأكثر شعبية. عند العمل مع كيو ، قد يكون من الضروري تغيير نوع البيانات لبعض الحقول في جداول قاعدة البيانات. في هذه المقالة ، سوف ننظر في أمثلة وتعليمات لتغيير نوع البيانات في كيو.
تغيير نوع البيانات باستخدام عامل تشغيل الجدول البديل
عامل تشغيل الجدول ألتر في كيو يسمح لك بتغيير نوع البيانات من عمود في جدول. مثال بناء الجملة:
تغيير الجدول الجدول
تغيير اسم عمود العمود
اكتب جديد_البيانات _النوع;
أين:
- - اسم الجدول الذي تريد تغيير نوع البيانات;
- هو اسم العمود الذي يحتاج إلى تغيير نوع البيانات;
- هو نوع البيانات الجديد لتغيير العمود إلى.
أمثلة على تغيير نوع البيانات:
تغيير نوع بيانات عمود التاريخ إلى الطابع الزمني:
تغيير أوامر الجدول
تغيير ترتيب العمود_التاريخ
- اكتب الطابع الزمني;
- عند تغيير نوع بيانات العمود ، يمكنك استخدام وظيفة الاستخدام لتحويل البيانات من النوع القديم إلى النوع الجديد.
- تغيير الجدول الجدول
تغيير اسم عمود العمود
تغيير الجدول الموظفين
تغيير العمود غير نشط
- النوع منطقي
- استخدام الحالة عندما يكون نشطا = 1 ثم صحيح آخر نهاية خاطئة;
Var فارتشار numeric رقمي:
- تغيير منتجات الجدول
تغيير سعر العمود
| نوع رقمي | |
| باستخدام السعر:: رقمي; |
- الآن أنت تعرف كيفية تغيير نوع البيانات في كيو باستخدام عامل الجدول ألتر واستخدام وظيفة. هذه التعليمات سوف تساعدك على تغيير أنواع البيانات في جداول قاعدة بيانات كيو الخاص بك. لديك وظيفة جيدة!
- اختيار نوع البيانات الأساسية
عند العمل مع كيو ، من المهم أن تعرف أي نوع البيانات الأساسية لاختيار لتخزين المعلومات. تحدد أنواع البيانات الأساسية نطاق القيم التي يمكن أن يأخذها المتغير والعمليات التي يمكن إجراؤها باستخدام هذه البيانات.
يوفر كيو مجموعة واسعة من أنواع البيانات الأساسية التي يمكن تقسيمها إلى عدة فئات:
تستخدم أنواع البيانات الصحيحة لتخزين الأعداد الصحيحة بدون جزء كسري. بعض الأنواع الأكثر شيوعا هي: عدد صحيح ، بيجينت ، سمالينت.
تستخدم أنواع بيانات الفاصلة العائمة لتخزين أرقام الفاصلة العائمة. بعض الأنواع الأكثر شيوعا هي: الدقة الحقيقية المزدوجة.
تستخدم أنواع بيانات النقاط الثابتة لتخزين أرقام النقاط الثابتة. أمثلة: رقمية ، عشرية.
تستخدم أنواع البيانات النصية لتخزين المعلومات النصية. بعض الأنواع الأكثر شيوعا هي: نص ، فارتشار ، شار.
نوع البيانات المنطقية-يستخدم لتخزين قيم صحيحة أو خاطئة. نوع البيانات: منطقية.
التاريخ والوقت-تستخدم لتخزين التاريخ والوقت. بعض الأنواع الأكثر شيوعا هي: التاريخ والوقت والطابع الزمني.
- تغيير نوع بيانات العمود
- تغيير الجدول الجدول
يعدل الجدول اسم_الجدولتغيير العمود نوع اسم العمود نوع البيانات الجديدة
تغيير نوع بيانات عمود اسم العمود إلى نوع البيانات الجديدةأين:
اسم_الجدول هو اسم الجدول الذي يحتوي على العمود
اسم العمود هو اسم العمود الذي يحتاج نوع بياناته إلى التغيير
نوع البيانات الجديدة هو نوع بيانات العمود الجديد
على سبيل المثال ، لتغيير نوع بيانات عمود "العمر" في جدول "المستخدمون" إلى نوع بيانات صحيح ، يمكنك استخدام الأمر التالي:
- يرجى ملاحظة أنه عند تغيير نوع بيانات العمود ، قد يتم فقد بعض القيم أو تغييرها. تأكد من أنك تفهم العواقب المحتملة قبل إجراء هذه العملية. من المهم أيضا أن تضع في اعتبارك أن تغيير نوع البيانات قد يستغرق بعض الوقت ، خاصة إذا كان الجدول يحتوي على كمية كبيرة من البيانات.
- تأكد من أن لديك الحق في تغيير الجدول. للقيام بذلك ، قد تحتاج إلى تشغيل الأمر
- تغيير الجدول
- جدول_الاسم
إلى نوع جديد
جديد_البيانات _النوع
، قم بتشغيل الأمر التالي:
تغيير جدول الجدول تغيير اسم العمود نوع اسم العمود نوع البيانات الجديدة;
- على سبيل المثال ، إذا كنت تريد تغيير نوع عمود "العمر" في جدول "المستخدمون" إلى نوع بيانات صحيح ، فيمكنك تشغيل الأمر التالي:
- تغيير الجدول المستخدمين تغيير العمود نوع العمر عدد صحيح;
- عند تنفيذ هذا الأمر ، سوف كيو إجراء العديد من الشيكات للتأكد من أن تغيير نوع البيانات لن يسبب أخطاء أو فقدان البيانات. إذا كان الأمر ناجحا ، فسيتم تغيير نوع بيانات العمود.
- لاحظ أنه عند تغيير نوع بيانات العمود ، قد تفقد البيانات إذا كان نوع البيانات الجديد غير متوافق مع تنسيق البيانات الحالي.
تغيير نوع بيانات المفتاح الخارجي
في كيو ، تغيير نوع البيانات من مفتاح خارجي هو عملية معقدة ، لأنه يؤثر على الجداول والبيانات ذات الصلة. لتغيير نوع بيانات الحقل المشار إليه بواسطة جداول أخرى ، اتبع الخطوات التالية:
قم بإنشاء عمود جديد بنوع بيانات جديد في الجدول المشار إليه بواسطة جداول أخرى. على سبيل المثال ، إذا كان لديك جدول "أوامر" يحتوي على حقل "معرف العميل" الصحيح وتريد تغيير نوعه إلى بيجينت ، فقم بإنشاء عمود جديد "معرف العميل الجديد" من نوع بيجينت.
قم بتحديث العمود الجديد بقيم العمود القديم ، وتحويل البيانات إلى نوع البيانات الجديد. على سبيل المثال ، إذا كان لديك عمود "معرف العميل" من نوع عدد صحيح ، فيمكنك تشغيل الاستعلام التالي:
تحديث أوامر تعيين كوستوميرد_نيو = كوستوميرد_:: بيجينت;
قم بإنشاء مفتاح خارجي جديد بالرجوع إلى عمود جديد في جدول "العميل". على سبيل المثال ، إذا كان لديك جدول "الطلبات" وجدول "العميل" ، وتريد إنشاء مفتاح خارجي لعمود "معرف العميل الجديد" في جدول "الطلبات" الذي يشير إلى عمود "المعرف" في جدول "العميل" ، فقم بتشغيل الاستعلام التالي:
تغيير أوامر الجدول إضافة أوامر القيد _ معرف العملاء_مفتاح خارجي جديد (معرف العملاء_جديد) مراجع العميل (معرف);
احذف المفتاح الخارجي القديم الذي يشير إلى العمود القديم في جدول "العميل". على سبيل المثال ، إذا كان لديك مفتاح خارجي قديم يشير إلى عمود "معرف العميل" في جدول "العميل" في جدول "الطلبات" ، فقم بتشغيل الاستعلام التالي:
تغيير أوامر الجدول انخفاض أوامر القيد;
أعد تسمية العمود الجديد وفقا للاسم الأصلي. على سبيل المثال ، إذا قمت بإنشاء العمود "معرف العميل الجديد" ، فأعد تسميته إلى"معرف العميل":
تغيير أوامر الجدول إعادة تسمية العمود معرف العميل الجديد إلى معرف العميل;
بعد الانتهاء من كل هذه الخطوات ، ستقوم بتغيير نوع بيانات المفتاح الخارجي بنجاح دون فقد البيانات المرتبطة.
تغيير نوع بيانات الفهرس
عند العمل مع قاعدة بيانات كيو ، قد يكون من الضروري تغيير نوع البيانات من فهرس موجود. يمكن أن يكون هذا مفيدا ، على سبيل المثال ، إذا كنت ترغب في زيادة أداء الاستعلام أو تغيير منطق استرجاع البيانات.
لتغيير نوع بيانات الفهرس في كيو اتبع الخطوات التالية:
قم بإنشاء فهرس جديد بنوع البيانات المطلوب.
نسخ البيانات من الفهرس القديم إلى الفهرس الجديد.
احذف الفهرس القديم.
أعد تسمية الفهرس الجديد إلى اسم الفهرس القديم.
مثال رمز يوضح عملية تغيير نوع بيانات الفهرس:
-- الخطوة 1: Создание нового индекса
CREATE INDEX new_index ON table_name (column_name_new_type);
-- Шаг 2: Копирование данных
تغيير نوع البيانات في طريقة العرض
في كيو ، وجهة نظر هو جدول ظاهري يتكون من مجموعة من الأعمدة والصفوف التي هي نتيجة لتنفيذ استعلام إلى واحد أو أكثر من الجداول. كما هو الحال مع الجداول العادية ، يمكن أن تحتوي طرق العرض على أنواع بيانات محددة لكل عمود.
قد تحتاج إلى تغيير نوع البيانات في طريقة العرض إذا كنت تريد تغيير نوع العمود لتلبية الاحتياجات أو القيود الجديدة. للقيام بذلك ، يمكنك استخدام الأمر ألتر فيو.
فيما يلي الخطوات التي يجب تنفيذها لتغيير نوع البيانات في طريقة العرض:
حدد نوع البيانات الجديد الذي تريد تغيير العمود إليه. على سبيل المثال ، إذا كنت تريد تغيير نوع العمود إلى عدد صحيح ، فسيكون نوع البيانات الجديد عددا صحيحا.
قم بتشغيل الأمر تغيير طريقة العرض لتغيير تعريف طريقة العرض وتحديد نوع بيانات جديد. على سبيل المثال ، لتغيير نوع العمود المسمى "اسم العمود" في طريقة عرض تسمى "اسم العرض" إلى نوع عدد صحيح جديد ، سيبدو الأمر كما يلي:
تغيير عرض اسم_العمود تغيير نوع اسم_العمود عدد صحيح;
بعد تنفيذ هذا الأمر ، سيتم تغيير نوع بيانات العمود في العرض إلى النوع الجديد المحدد.
إذا تم تعريف الكائنات التابعة الأخرى في طريقة العرض ، مثل المشغلات أو القواعد التي تعتمد على العمود الذي يتم تعديله ، فقد تحتاج أيضا إلى تعديل أو تحديث لمطابقة نوع البيانات الجديد.
من المهم ملاحظة أن تغيير نوع البيانات في طريقة العرض يمكن أن يؤدي إلى فقدان البيانات أو سلوك غير متوقع. لذلك ، قبل إجراء مثل هذه العمليات ، يوصى بإنشاء نسخة احتياطية من العرض أو اختبار التغييرات في قاعدة بيانات الاختبار.
تغيير نوع البيانات في إجراء مخزن
في كيو ، يمكنك تغيير نوع البيانات داخل إجراء مخزن. يمكن أن يكون هذا مفيدا إذا كنت بحاجة إلى إجراء تحويل البيانات داخل وظيفة أو إجراء دون تغيير مخطط قاعدة البيانات أو الجداول. فيما يلي أمثلة على كيفية القيام بذلك.
لتغيير نوع البيانات في إجراء مخزن في كيو ، يمكنك استخدام وظائف تحويل نوع البيانات مثل الإرسال والتحويل. تسمح لك وظيفة الإرسال بتحويل قيمة بشكل صريح من نوع بيانات إلى آخر ، وتسمح لك وظيفة التحويل بتحويل قيمة إلى نوع بيانات سلسلة بتنسيق معين.
Пример использования функции CAST в хранимой процедуре:
CREATE OR REPLACE FUNCTION change_data_type() RETURNS VOID AS
$$
LANGUAGE plpgsql;
В этом примере функция
change_data_type
- преобразует значение переменной
- old_value
- типа
- INT
- в значение типа
- VARCHAR
с помощью функции CAST. Затем новое значение может быть использовано внутри функции.
Пример использования функции CONVERT в хранимой процедуре:
CREATE OR REPLACE FUNCTION change_data_type() RETURNS VOID AS
$$
DECLARE
old_value DATE;
new_value VARCHAR;
BEGIN
old_value := '2021-01-01';
new_value := CONVERT(VARCHAR, old_value, 'DD-MM-YYYY');