المرجع السريع للغة SQL فى قاعدة بيانات MySQL


2.5 التعديلات على جداول منشئة فعلا Alter Tables
الأحد, 21 فبراير 2021

التعديلات على جداول منشئة فعلا Alter Tables)

-          إنشئ الجدول التالى:

CREATE TABLE Table1 (col1 INTEGER,col2 CHAR(10));

-          لتعديل وتغير أسم الجدول

ALTER TABLE Table1 RENAME Table2;

-          لتغير نوع البياناتMODIFY  وتعديل الأسم وإضافة قيود CHANGE

ALTER TABLE Table2

MODIFY col1 TINYINT NOT NULL,

CHANGE col2 col3 CHAR(20);

-          لإضافة حقل جديد لجدول موجود

ALTER TABLE Table2 ADD col4 TIMESTAMP;

-          أى حقل جديد معدل يضاف فى آخر الجدول ولتحديد وضعه فى ترتيب الحقول يمكن إستخدام كلمة AFTER | BEFORE كما يلي:

ALTER TABLE Table2 ADD col4 TIMESTAMPAFTER col3;

 

-          لإضافة قيود جديدة على حقول موجودة

ALTER TABLE Table2

ADD INDEX (col4),

ADD UNIQUE (col1);

-          حذف حقل موجود بالجدول

ALTER TABLE Table2 DROP COLUMN col3;

-          إضافة حقل بقيود جديدة و إضافة قيود على حقول موجودة

ALTER TABLE Table2

ADD col3 INT UNSIGNED NOT NULL AUTO_INCREMENT,

ADD PRIMARY KEY (col3);

-          لعرض جملة الإنشاء الخاصة بالجدول نكتب الأمر التالى

mysql> show create table table2\G;

*************************** 1. row ***************************

       Table: table2

Create Table: CREATE TABLE `table2` (

  `col1` tinyint(4) NOT NULL,

  `col4` timestamp NOT NULL

DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

  `col3` int(10) unsigned NOT NULL AUTO_INCREMENT,

  PRIMARY KEY (`col3`),

  UNIQUE KEY `col1` (`col1`),

  KEY `col4` (`col4`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1

1 row in set (0.01 sec)

 

-          لإنشاء جدول جديد Table3 بنفس مواصفات جدول Tabl2 نكتب

Create Table Table3 LIKE Table2;

-          ولإنشاء جدول جديد Table4 بنفس شكل جدول Table2 وبنفس البيانات نكتب

Create Table Table4 AS SELECT * FROM Table2;

كما يمكن تحديد حقول معينة فقط بدلا من * وبيانات محددة بكلمة Where كما سنرى فيما بعد فى جملة SELECT.

-          لحذف جدول

DROP TABLE Table4;

 =======================

جميع حقوق نقل المعلومات مسموح بها لوجه الله.

ولكن يرجى الإشارة لأسم الموقع فقط.