|
В статье описана работа с MySQL монитором на примере изменения поля таблицы Задача есть таблица altertest в базе данных test со следующей структурой:
(at_id int not null, at_ab varchar(255), at_email varchar(255) ); нужно сделать так чтобы поле at_id каждый раз увеличивалось на 1 при добавлении новой записи в таблицу. (другими словами стало автоинкрементным) . Примечание Для тестирования SQL запросов вы можете создать файл с именем "1.sql" , и запускать его с помощью программы mysql.exe (mysql монитор) командой mysql --database test --execute "\. 1.sql" например из под FAR , для Windows клиента, или прямо из под вашего SHELL . Естественно если вы подключаетесь к удаленному (а не localhost) серверу вам следует использовать ключи командной строки mysql.exe отвечающие за подключение Например так : mysql --user=softm --password=35arsen --host=192.168.11.2 --database test --execute "\. 1.sql" Решение Примените SQL запрос : ALTER TABLE #-----Файл 1.sql----- #Убить таблицу если существовала drop TABLE IF EXISTS altertest; #Создаем таблицу CREATE TABLE altertest (at_id int not null, at_ab varchar(255), at_email varchar(255) ); #Добавить записи в таблицу insert into altertest (at_ab,at_email) values ("about 1","
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
"); insert into altertest (at_ab,at_email) values ("about 2","
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
"); #Вывести записи из таблицы select * from altertest; #-----Конец файла 1.sql----- Итак для создания таблицы и ее тестирования mysql --database test --execute "\. 1.sql" Получаем на выходе : at_id at_ab at_email 0 about 1
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
0 about 2
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
Для изменения таблицы выполняем команду ALTER TABLE altertest MODIFY at_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT; занесем ее в файл 2.sql после создания таблицы но перед вставкой в нее новых элементов: #-----Файл 2.sql----- #пытаемся изменить таблицу ALTER TABLE altertest MODIFY at_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT; #Добавить записи в таблицу insert into altertest (at_ab,at_email) values ("about 1","
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
"); insert into altertest (at_ab,at_email) values ("about 2","
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
"); #Вывести записи из таблицы select * from altertest; #-----Конец файла 2.sql----- Результат вывода будет выглядеть вот так at_id at_ab at_email 1 about 1
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
2 about 2
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
3 about 1
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
4 about 2
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
То есть наш запрос успешно работает . Послесловие : Как видите с базой данных MySQL можно успешно работать из batch файлов и shell скриптов , что делает ее необічайно гибкой в использовании. Арсен Кириллов г.Львов 2001 г.
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
|