English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل أساسي SQLite

دليل متقدم SQLite

واجهة برمجة التطبيقات SQLite

أوامر ALTER TABLE في SQLite

أمر SQLite ALTER TABLE يمكن تعديل الجداول الحالية دون الحاجة إلى إجراء إزالة كاملة للبيانات وإعادة تحميلها. يمكنك استخدام جملة ALTER TABLE لتغيير اسم الجدول، واستخدام جملة ALTER TABLE لإضافة جداول أخرى إلى الجدول الحالي.

除了重命名表和在现有表中添加列之外,SQLite中的ALTER TABLE命令不支持其他操作。

语法

以下是ALTER TABLE重命名现有表的基本语法。

ALTER TABLE database_name.table_name RENAME TO new_table_name;

以下是ALTER TABLE在现有表中添加新列的基本语法。

ALTER TABLE database_name.table_name ADD COLUMN column_def...;

在线示例

带有以下记录的COMPANY表-

ID                                 NAME                                 AGE                                 ADDRESS                         SALARY
----------                         ----------                         ----------                         ----------                         
1                                 Paul                                 32                                 California                         20000.0
2                                 Allen                                 25                                 Texas                             15000.0
3                                 Teddy                                 23                                 Norway                           20000.0
4                                 Mark                                 25                                 Rich-Mond                         65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

现在,让我们尝试使用ALTER TABLE语句重命名该表,如下所示:

sqlite> ALTER TABLE COMPANY RENAME TO OLD_COMPANY;

上面的SQLite语句会将COMPANY表重命名为OLD_COMPANY。现在,让我们尝试在OLD_COMPANY表中添加新列,如下所示:

sqlite> ALTER TABLE OLD_COMPANY ADD COLUMN SEX char(1);

COMPANY表现在已更改,以下将是SELECT语句的输出。

ID                                 NAME                                 AGE                                 ADDRESS                         SALARY                         SEX
----------                         ----------                         ----------                         ----------                         ---
1                                 Paul                                 32                                 California                         20000.0
2                                 Allen                                 25                                 Texas                             15000.0
3                                 Teddy                                 23                                 Norway                           20000.0
4                                 Mark                                 25                                 Rich-Mond                         65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

ينبغي الانتباه إلى أن الأعمدة الجديدة المضافة مليئة بأرقام NULL.