في هذا القسم، سوف نفهم كيفية استخدام أمر PostgreSQL ADD COLUMN لإضافة عمود واحد أو أكثر إلى جدول قاعدة البيانات الحالي.
أمر PostgreSQL لإضافة عمود
سوف نستخدم تعديل الجدول واضافة عمود, أمر لإضافة عمود جديد إلى جدول موجود.
بناء الجملة
بناء الجملة من تغيير أمر إضافة عمود ويرد أدناه:
ALTER TABLE table_name ADD COLUMN new_column_name data_type;
في بناء الجملة أعلاه، لدينا المعلمات التالية:
معامل | وصف |
---|---|
تغيير الجدول | إنها عبارة تستخدم لتعديل تعريف الجدول. |
اسم الطاولة | يتم استخدامه لوصف اسم الجدول حيث نحتاج إلى إضافة عمود جديد بعد عبارة ALTER TABLE. |
New_cloumn _name | يتم استخدامه لتحديد اسم العمود بخاصيته مثل القيمة الافتراضية ونوع البيانات وما إلى ذلك، بعد شرط ADD COLUMN. |
ملاحظة: عندما نضيف عمودًا جديدًا إلى الجدول، يقوم PostgreSQL بتحسينه في نهاية الجدول لأن PostgreSQL ليس لديه خيار آخر لتحديد مكان العمود الجديد في الجدول.
أضف أعمدة متعددة باستخدام أمر تغيير الجدول
بناء الجملة لإضافة أعمدة متعددة باستخدام أمر تغيير الجدول:
منطقية إلى السلسلة
ALTER TABLE table_name ADD COLUMN new_column_name_1 data_type constraint, ADD COLUMN new_column_name_2 data_type constraint, ::: ::: ADD COLUMN new_column_name_N data_type constraint;
أمثلة على عمود إضافة PostgreSQL
لفهم كيفية إضافة الأعمدة بشكل أفضل، سنتبع العملية التالية:
أولا، سوف نقوم بإنشاء جدول جديد اسمه الأشخاص مع عمودين معرف_الشخص والاسم_الأول بمساعدة الأمر أدناه:
CREATE TABLE Persons ( Person_ID Serial primary key, Person_Name varchar not Null );
انتاج |
كيفية الحصول على التاريخ الحالي في جافا
بعد تنفيذ الاستعلام أعلاه، سوف نحصل على الرسالة أدناه نافذة او شباك ، والذي يقول أن الأشخاص تم إنشاء الجدول:
وبعد ذلك سوف نقوم بإضافة عنوان العمود إلى الأشخاص الجدول بمساعدة الأمر أدناه:
ALTER TABLE Persons ADD COLUMN Address VARCHAR;
انتاج |
بعد تنفيذ الاستعلام أعلاه، ستظهر لنا نافذة الرسالة التالية:
وسيساعدنا الأمر أدناه في إضافة ملف المدينة و رقم الهاتف الأعمدة إلى الأشخاص طاولة:
ALTER TABLE Persons ADD COLUMN City VARCHAR, ADD COLUMN Phone_no VARCHAR;
انتاج |
بعد تنفيذ الاستعلام أعلاه، ستظهر لنا نافذة الرسالة التالية:
إذا أردنا أن نرى الأشخاص هيكل الجدول في psql ، سوف نستخدم الأمر أدناه:
javatpoint=# d Persons
الإخراج التابع الأشخاص هيكل الجدول
كما نرى في الصورة أعلاه، لدينا العنوان والمدينة ورقم الهاتف الأعمدة المضافة في نهاية قائمة الأعمدة لجدول الأشخاص.
إضافة عمود مع القيد NOT NULL
في هذا، سنقوم بإضافة عمود مع قيود ليست خالية إلى جدول معين يحتوي على بعض البيانات.
أولا، سوف نقوم بإدخال بعض البيانات في الأشخاص الجدول باستخدام أمر الإدراج:
INSERT INTO Persons (Person_name) VALUES ('John'), ('Emily'), ('Mike');
انتاج |
يمكننا أن نرى أنه تم إدراج الصفوف الثلاثة في الأشخاص الجدول في نافذة الرسالة أدناه.
غيغابايت مقابل ميغابايت
الآن، لنفترض أننا أردنا إضافة بريد إلكتروني العمود إلى الأشخاص الجدول، ولهذا نستخدم الأمر التالي:
ALTER TABLE Persons ADD COLUMN Email VARCHAR NOT NULL;
انتاج |
بمجرد تنفيذ الأمر أعلاه، سوف نحصل على خطأ واحد يقول ذلك
يحتوي العمود 'البريد الإلكتروني' على قيم فارغة
خوارزميات البحث
لقد حدث الخطأ أعلاه لأن بريد إلكتروني يحتوي العمود على غير فارغة قيد.
في PostgreSQL، يأخذ العمود الجديد باطل القيمة عند إضافة الأعمدة، مما يؤدي أيضًا إلى تعطيل غير فارغة قيد.
لحل الخطأ أعلاه، علينا اتباع الخطوات التالية:
الخطوة 1
أولاً، نحتاج إلى إضافة العمود بدون غير فارغة القيد، ولهذا سنستخدم الأمر التالي:
ALTER TABLE Persons ADD COLUMN Email VARCHAR;
انتاج |
كما يمكننا أن نرى في نافذة الرسالة أدناه ذلك بريد إلكتروني لقد كان العمود وأضاف داخل ال الأشخاص طاولة:
الخطوة 2
الآن، سنقوم بتحديث قيم عمود البريد الإلكتروني.
UPDATE Persons SET Email = '[email protected]' WHERE Person_id = 1; UPDATE Persons SET Email = '[email protected]' WHERE Person_id = 2; UPDATE Persons SET Email = '[email protected]' WHERE Person_id = 3;
انتاج |
كما يمكننا أن نرى في نافذة الرسالة أدناه ذلك بريد إلكتروني كانت قيم العمود محدث داخل ال الأشخاص طاولة:
إذا أردنا التحقق من تحديث القيم أم لا في ملف الأشخاص الجدول، سوف نستخدم يختار يأمر:
Select * From Persons;
انتاج |
ما هو نظام التشغيل ماك
إخراج الاستعلام أعلاه هو كما يلي:
الخطوه 3
بعد تحديث قيمة عمود البريد الإلكتروني، سنقوم بتعيين غير فارغة القيد ل بريد إلكتروني العمود في الأشخاص الجدول باستخدام الأمر التالي:
ALTER TABLE Persons ALTER COLUMN Email SET NOT NULL;
انتاج |
بعد تنفيذ الأمر أعلاه، ستظهر لنا نافذة الرسالة التالية: