Создание баз данных.
Создание базы данных в MySQL производится с помощью утилиты mysqladmin.Изначально существует только БД mysql для администратора и БД test,в которую может войти любой пользователь и которая по умолчанию пуста.Приведенный ниже пример иллюстрирует создание базы данных.
mysqlbin>mysqladmin -u root -p create data1
Enter password:******
Database "data1" created.
mysqlbin>
По умолчанию,root имеет доступ ко всем базам данных и таблицам.Перейти в созданную базу данных можно,используя команду mysql.
mysqlbin>mysql -u root -p data1
Enter password:******
Welcome to MySQL monitor.
Или,находясь в другой базе данных,например в mysql ввести команду:
mysql>use data1
Database changed.
Теперь можно создавать таблицы и вводить информацию.
Типы данных в MySQL.
Прежде чем создавать таблицы,необходимо ознакомиться с тем,какие типы данных поддерживает MySQL.Все они представлены в нижеследующей таблице:
BIGINT [(length)] [UNSIGNED] [ZEROFILL] 8 байт целое
BLOB Двоичный объект (максимальная длина 65535 байт)
CHAR(NUM) Строка фиксированной длины (1 use data1
Database changed.
mysql>create table customers (
emp_id int(4) not null auto_increment,
emp_name varchar(10) not null,
emp_lname varchar(15) not null,
address varchar(60) not null,
phone int(10),
primary key(emp_id));
Мы создали пустую таблицу.Вводить данные в нее можно несколькими способами:
а)вручную,используя команду 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);
После выполнения этих команд таблица примет следующий вид:
Buyers emp_id emp_name emp_lname address telephone 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 также используется для удаления таблиц и баз данных.Пользоваться ею следует осторожно,так как любое удаление необратимо,восстановить данные можно только из резервной копии.