Создание и модификация таблиц в MySQL
Создание и модификация таблиц в MySQL
Cоздадим таблицу customers в БД data1:mysql>use data1
Database changed. |
Мы создали пустую таблицу. Вводить данные в нее можно несколькими способами:
а)вручную, используя команду insert into;
б)загрузить данные из текстового файла, что является более
предпочтительным, особенно если нужно ввести несколько тысяч записей. Синтаксис
этой команды будет описан позже.
в)использовать утилиту mysqlimport также для загрузки данных из текстового
файла.
Пример ввода данных вручную:
mysql>insert into customers (emp_id,emp_name,emp_lname,address,phone) -->values ('1001','John','Walker','New York','1236458794'); или mysql>insert into customers values ('1001','John','Walker','New York','1236458794'); //работает и то, и то. |
Что касается auto_increment в столбце emp_id, это означает, что числовое значение этого столбца будет автоматически увеличиваться на единицу с каждой новой записью.То есть,если мы ввели значение 1001, то следующее будет 1002 и т.д. Значение в такой столбец вводится один раз для задания точки отсчета, а дальше сервер будет сам подставлять нужные значения.
Синтаксис команды LOAD DATA INFILE.
DATA [LOW_PRIORITY] [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,...)]
Предположим, существует некоторый текстовый файл 123.txt, содержащий 2000
записей, которые нужно внести в таблицу. Нужно создать таблицу, имеющую такую же
структуру и такое же число полей, как и файл (а также подходящие типы данных). Предположим, что
поля в файле разделены запятыми. Кроме того, файл должен находиться в нужной базе
данных. Вводим следующую команду:
LOAD DATA INFILE '123.txt' into table customers fields terminated by ',';
Это все. Данные из файла помещаются в таблицу.
Для модификации таблиц и данных в них используются команды update и alter table. Рассмотрим их действие на примере таблицы customers:
Customers
emp_id | emp_name | emp_lname | address | phone |
1001 | John | Walker | New York | 1235468798 |
1002 | Bill | Smith | Chicago | 7650945237 |
1003 | Jack | Nicolson | Dallas | 9874325097 |
Пример действия команды alter table:
mysql>alter table customers add last_accessed date; mysql>insert into customers (last_accessed) values ('20000512') where -->emp_id='1003'; mysql>alter table customers rename customers buyers; mysql>alter table buyers change phone telephone int(11); |
После выполнения этих команд таблица примет следующий вид:
emp_id | emp_name | emp_lname | address | phone | last_accessed |
1001 | John | Walker | New York | 1235468798 | |
1002 | Bill | Smith | Chicago | 7650945237 | |
1003 | Jack | Nicolson | Dallas | 9874325097 | 20000512 |
Можете проверить это сами :)
Изменение данных в таблицах производится с помощью команды update. Для примера возьмем ту же таблицу buyers.
mysql>update buyers set address='Seattle' where emp_lname='Smith'; |
Для модификации таблиц используются также команды Drop и Delete.
Delete-удаляет строку из таблицы. Например, если ввести команду
delete from buyers where emp_id='1002'
будет удалена строка для Bill Smith.
Drop-если используется в Alter table удаляет колонку из таблицы.
Команда Drop также используется для удаления таблиц и баз данных. Пользоваться ею следует осторожно, так как любое удаление необратимо, восстановить данные можно только из резервной копии.
Источник: web-shed.spb.ru