Мегаобучалка Главная | О нас | Обратная связь


Изменение структуры таблицы ALTER TABLE



2016-09-16 718 Обсуждений (0)
Изменение структуры таблицы ALTER TABLE 0.00 из 5.00 0 оценок




Эта команда позволяет добавлять и удалять столбцы, создавать и уничтожать индексы, переименовывать столбцы и саму таблицу.

ALTER TABLE table_name alter_spec;

Основные преобразования, выполняемые оператором ALTER TABLE

· ADD create definition [ FIRST | AFTER column_name]Добавление нового столбца create_definition. Этот параметр представляет собой название нового столбца и его тип. Конструкция FIRST добавляет новый столбец перед столбцом column_name. Конструкция AFTER добавляет новый столбец после столбца column_name. Если место добавления не указано, по умолчанию столбец добавляется в конец таблицы.

· ADD INDEX [index_name] (index_col_name, ...)Добавление индекса index_name для столбца index_col_name. Если имя индекса index_name не указывается, ему присваивается имя, совпадающее с именем столбца index_col_name.

· ADD PRIMARY KEY (index_col_name, ...) Делает столбец index_col_name или группу столбцов первичным ключом таблицы.

· CHANGE old_col_name new_col_name typeИзменение столбца с именем old_col_name на столбец с именем new_col_name и типом type.

· DROP col_nameУдаление столбца с именем col_name.

· DROP PRIMARY KEYУдаление первичного ключа таблицы.

· DROP INDEX index_nameУдаление индекса index_name.

Примеры:

1. Добавление в таблицу new_table нового столбца test с размещением его после столбца name можно выполнить следующим SQL-запросом

mysql> ALTER TABLE new_table ADD test INT(10) AFTER name;

Выполнив команду DESCRIBE new_table, можно увидеть, что столбец test успешно добавлен после столбца name.

2. Переименование столбца test в текстовый столбец new_test можно осуществить следующим образом.

mysql> ALTER TABLE new_table CHANGE test new_test text;

3. Удаление столбца new_test можно осуществить следующим запросом

mysql> ALTER TABLE new_table DROP new_ test;

 

 

Удаление таблиц команда DROP TABLE

 

Для того, чтобы удалить таблицу, убедитесь сперва, что она существует. Это можно проверить с помощью команды SHOW TABLES.

Инструкция DROP TABLE имеет следующий синтаксис:

DROP TABLE [IF EXISTS] таблица [RESTRICT | CASCADE]

Спецификация IF EXISTS подавляет вывод сообщения об ошибке, выдаваемого в случае, если заданная таблица не существует. Можно указывать несколько имен таблиц, разделяя их запятыми.

Флаги RESTRICT и CASCADE предназначены для выполнения сценариев, созданных в других СУБД.

 

Пример:

Удалим созданную таблицу.

DROP TABLE rabotniki_data;

Теперь команда SHOW TABLES эту таблицу больше не показывает.

 

Удаление баз данных.

Удаление баз данных можно осуществить с помощью оператора DROP DATABASE.

Команда удаляет базу данных со всеми таблицами, входящими в ее состав.

Синтаксис команды:

DROP DATABASE database_name;

Примечание.Так как имя базы данных — это имя каталога, то чувствительность к регистру определяется конкретной операционной системой.

Так в операционной системе Windows имена base и BASE будут обозначать одну и туже базу данных, в то время как в UNIX-подобной операционной системе это будут две разные базы данных.

 

mysqldump - утилита позволяет получить дамп содержимого базы данных или совокупности баз для создания резервной копии или пересылки данных на другой SQL-сервер баз данных (не обязательно MySQL-сервер). Дамп будет содержать набор команд SQL для создания и/или заполнения таблиц.

mysqldump -u root -p -f name_database > C:\mydb_backup_name_database.txt

 

mysql -u root -p -f name_database < C:\mydb_backup_name_database.txt

этой командой мы импортируем данные бэкапа из файла C:\mydb_backup_name_database.txt

 

Запись данных в таблицу.

Оператор INSERT заполняет таблицу данными.

INSERT into table_name (column1, column2, ...)values (value1, value2...);

table_name является именем таблицы, в которую надо внести данные; column1, column2 … являются именами столбцов, а value1, value2 … являются значениями для соответствующих столбцов.

Пример 1:

Внести первую запись в таблицу rabotniki_data.

 

INSERT INTO rabotniki_data(1_name, 2_name, dolgnost, vozrast, stag, zarplata, nadbavki, email)values("Иван", "Иванов", "директор", 30, 5, 100000,30000, "[email protected]");

Как и другие операторы MySQL, эту команду можно вводить на одной строке или в нескольких строках.

Несколько важных моментов:

· Значениями для столбцов 1_name, 2_name, dolgnost и email являются текстовые строки, и они записываются в кавычках.

· Значениями для vozrast, stag, zarplata, nadbavki являются числа (целые), и они не имеют кавычек.

· Можно видеть, что данные заданы для всех столбцов кроме emp_id. Значение для этого столбца задает система MySQL, которая находит в столбце наибольшее значение, увеличивает его на единицу, и вставляет новое значение.

Если приведенная выше команда правильно введена в приглашении клиента mysql, то программа выведет сообщение об успешном выполнении.

 

 

Создание дополнительных записей требует использования отдельных операторов INSERT.

Чтобы облегчить эту работу можно поместить все операторы INSERT в файл. Это должен быть обычный текстовый файл с оператором INSERT в каждой строке.

В системе Windows

1) Поместите файл в каталог c:\mysql\bin.

2) Проверьте, что MySQL работает.

3) Выполните команду

mysql employees <employee.dat

Если файл находится в другом каталоге – укажите полный путь к файлу.

 

Ввод данных из файла

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE tbl_name [FIELDS [TERMINATED BY '\t'] [[OPTIONALLY] ENCLOSED BY ''] [ESCAPED BY '\\' ] ] [LINES TERMINATED BY '\n'] [IGNORE number LINES] [(col_name,...)]

 

Команда LOAD DATA INFILE читает строки из текстового файла и вставляет их в таблицу с очень высокой скоростью. Если задано ключевое слово LOCAL, то файл читается с клиентского хоста. Если же LOCAL не указывается, то файл должен находиться на сервере.

Если текстовые файлы, которые нужно прочитать, находятся на сервере, то из соображений безопасности эти файлы должны либо размещаться в директории базы данных, либо быть доступными для чтения всем пользователям. Кроме того, для применения команды LOAD DATA INFILE к серверным файлам необходимо обладать привилегиями FILE для серверного хоста.

 



2016-09-16 718 Обсуждений (0)
Изменение структуры таблицы ALTER TABLE 0.00 из 5.00 0 оценок









Обсуждение в статье: Изменение структуры таблицы ALTER TABLE

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (718)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)