Блог программиста

Читайте и найдете много полезного

Изменение свойство таблицы

Posted by writer on Июнь 7th, 2008

Изменение свойств таблицы : Переименование таблицы (ALTER TABLE RENAME)

Переименование таблицы можно сделать при помощи следующей конструкции:
ALTER TABLE table_name_old RENAME table_name_new

где

  • table_name_old - старое имя таблицы, которое нам нужно переименовать;
  • table_name_new - новое имя таблицы.
  • Допустим, нам нужно переименовать таблицу search в search_en:
    $sql="ALTER TABLE search RENAME search_en";
    mysql_query($sql);

    Изменение свойств таблицы : Вставка столбцов (ALTER TABLE ADD)

    Вставку нового столбца можно осуществить при помощи следующей конструкции:
    ALTER TABLE table_name ADD field_name parametrs
    где
  • table_name - имя таблицы, в которой будет вставлен новый столбец;
  • field_name - имя вставляемого столбца;
  • parametrs - параметры, описывающие вставляемый столбец.

    Обязательным параметром является указание типа данных.
    (Про возможные типы данных подробно написано в Создание и удаление таблицы).

    Например, нам надо вставить в таблицу my_frends столбец под названием adress_2, который будет содержать текстовые значения:

    $sql="ALTER TABLE my_frends ADD adress_2 TEXT";
    mysql_query($sql);
    По умолчанию новый столбец вставляется в конец таблицы.
    Если необходимо, чтобы столбец встал в начало таблицы, нужно после параметров вставляемого столбца написать ключевое слово FIRST:
    $sql="ALTER TABLE my_frends ADD adress_2 TEXT FIRST";
    mysql_query($sql);

    Теперь только что вставленный столбец окажется вначале таблицы.

    Если необходимо, чтобы столбец был вставлен не в начале таблицы, и не в конце, а после определенного столбца, то нужно применить ключевое слово AFTER имя столбца, после которого будет установлен новый столбец:

    $sql="ALTER TABLE my_frends ADD adress_2 TEXT AFTER adress_1";
    mysql_query($sql);

    В этом примере новый столбец adress_2 будет установлен после столбца adress_1.

    Если нужно дописать к таблице не один, а несколько столбцов, то для каждого столбца нужно ADD field_name parametrs записать через запятую:

    $sql="ALTER TABLE my_frends ADD adress_2 TEXT,
          ADD adress_3 TEXT, ADD adress_4 TEXT";
    mysql_query($sql);

    В случае, если надо дописать два столбца внутри таблицы, можно поступить следующим образом:

    $sql="ALTER TABLE my_frends ADD adress_2 TEXT AFTER adress_1,
          ADD adress_3 TEXT AFTER adress_2";
    mysql_query($sql);

    Т.е. мы первый вставляемый столбец записываем после adress_1, а второй после первого.


    Изменение свойств таблицы : Изменение свойств столбца (ALTER TABLE CHANGE)

    Изменить свойства одного или нескольких столбцов можно при помощи следующей конструкции:

    ALTER TABLE table_name CHANGE field_name_old field_name_new parametrs
    где
  • table_name - имя таблицы, в которой находится изменяемый столбец;
  • field_name_old - имя столбца изменяемого столбца;
  • field_name_new - новое имя изменяемого столбца (должно равняться field_name_old, если мы не хотим поменять имя столбца);
  • parametrs - новые параметры столбца.
  • В следующем примере установим тип строки field_1 как текст:

    $sql="ALTER TABLE my_table CHANGE field_1 field_1 TEXT";
    mysql_query($sql);
    А если необходимо при этом еще и переименовать столбец в field_2, то получиться так:

    $sql="ALTER TABLE my_table CHANGE field_1 field_2 TEXT";
    mysql_query($sql);

    В случае, если надо изменить свойства сразу нескольких столбцов, то конструкцию CHANGE field_name_old field_name_new parametrs повторяем через запятую для каждого столбца:

    $sql="ALTER TABLE my_table CHANGE field_1 field_2 TEXT,
          CHANGE field_3 field_3 TEXT";
    mysql_query($sql);

    Изменение свойств таблицы : Удаление столбцов (ALTER TABLE DROP)

    Удаление столбца можно сделать при помощи следующей конструкции:
    ALTER TABLE table_name DROP field_name

    где

  • table_name - имя таблицы, в которой будет удален столбец;
  • field_name - имя удаляемого столбца.
  • $sql="ALTER TABLE search DROP id_num";
    mysql_query($sql);
    Если мы хотим удалить сразу несколько полей, то надо через запятую повторить DROP field_name для каждого столбца:
    $sql="ALTER TABLE search DROP id_1, DROP id_2, DROP id_3";
    mysql_query($sql);

    Leave a Reply

    XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>