Практика применения Perl, PHP, Apache, MySQL для активных Web-сайтов (С) Александр Фролов, Григорий Фролов, 2002 6. Краткое введение в СУБД MySQL 6. Краткое введение в СУБД MySQL Установка и администрирование MySQL Установка в среде Microsoft Windows Базовая настройка учетных записей MySQL Назначение пароля пользователю root Создание новых учетных записей Управление правами пользователей Удаление учетных записей пользователей Запуск программы и подключение к базе данных Просмотр и изменение содержимого таблицы Сохранение описания и содержимого таблицы Импорт текстовых данных в таблицу
Практически ни одно более или менее сложное Web-приложение не может обойтись без базы данных. Интернет-магазины хранят в базах данных сведения о товарах, заказах, покупателях и поставщиках, форумы — сообщения посетителей, каталоги и поисковые системы — рубрики, ссылки и другую информацию. И хотя информация может храниться и в обычных файлах на дисках Web-сервера, данный способ нельзя назвать ни безопасным, ни производительным. Пользуясь просчетами разработчиков программ CGI и других расширений Web-сервера, работающих с файлами, хакеры получают доступ к файлам парольной информации и другим критичным файлам сервера. Что же касается производительности при работе с файлами, то обычно она намного ниже операций с СУБД (в частности, из-за отсутствия индексирования данных или неэффективного индексирования). В то же время современные СУБД обладают надежными средствами защиты от несанкционированного доступа и обеспечивают высокую скорость выполнения запросов SQL. Кроме того, для них разработаны мощные интерфейсы, позволяющие обращаться к СУБД из программ, написанных практически на любых языках программирования, а также удобный инструментарий администратора СУБД, предназначенный для создания и сопровождения баз данных. На сегодняшний день разработаны десятки (если не больше) различных СУБД для самых разных операционных систем. Что касается ОС Linux, то здесь проще всего использовать бесплатную СУБД MySQL. Эта СУБД входит в дистрибутив RedHat Linux 7.1, а также в другие дистрибутивы Linux, поэтому Вам не придется загружать файлы дистрибутива через Интернет. При необходимости Вы сможете загрузить дистрибутив MySQL, предназначенный для работы в Microsoft Windows. Значительным преимуществом связки Perl-MySQL является то, что она может быть с успехом использована в среде Linux и Microsoft Windows и других ОС. Вот перечень операционных систем, для которых доступна СУБД MySQL (в алфавитном порядке): · AIX 4.x; · Amiga; · BSDI 2.x, 3.1 и 4.x; · DEC Unix 4.x; · FreeBSD 2.x, 3.x и 4.x; · HP-UX 10.20 и 11.x; · любые версии Linux с ядром версии 2.0 и с ядром более новой версии; · Mac OS X Server; · Microsoft Windows 95, Microsoft Windows 98, Microsoft Windows NT и Microsoft Windows 2000; · NetBSD 1.3, 1.4 для процессоров компании Intel семейства x86; · NetBSD 1.3 для процессора Alpha; · OpenBSD версии 2.5 и более новых версий; · OS/2 Warp 3 и OS/2 Warp 4; · SGI Irix 6.x; · Solaris 2.5 для платформ SPARC и Intel семейства x86; · SunOS 4.x; · SCO OpenServer; · SCO UnixWare 7.0.1; · Tru64 Unix Как видите, список операционных систем довольно внушительный, поэтому СУБД MySQL можно назвать по настоящему многоплатформенной. В этой главе мы расскажем об установке и настройке MySQL для использования в Web-приложениях и рассмотрим некоторые средства администрирования. Более подробное описание приемов администрирования и настройки СУБД MySQL Вы можете найти в [19], а также на Web-узле http://www.mysql.com. Ограничения MySQL Заметим, что по сравнению с промышленными СУБД, такими как Microsoft SQL Server и Oracle, СУБД MySQL обладает некоторыми ограничениями: · нельзя создавать вложенные запросы при помощи вложенных операторов SELECT; · нельзя записывать результаты выполнения оператора SELECT в новую таблицу командой SELECT INTO TABLE, вместо нее нужно использовать команду INSERT INTO … SELECT …; · возможность использования транзакций реализована только в новых версиях MySQL; · в текущей версии MySQL, доступной на момент написания этой книги, нельзя работать с хранимыми процедурами и триггерами; · не используются внешние ключи (foreign keys); · нет возможности работать с представлениями баз данных (view); · в MySQL используется собственный формат комментариев, несовместимый с другими реализациями СУБД — строка комментариев начинается с символа #, возможно также применение формата комментариев языка программирования С: /* … */ Несмотря на указанные ограничения, СУБД MySQL можно с успехом применять в подавляющем большинстве Web-приложений, в том числе и таких сложных, как Интернет-магазины. Учитывая, что на платформе Linux и других Unix-подобных платформах MySQL бесплатен, а его стоимость для Microsoft Windows не очень велика, с перечисленными выше ограничениями вполне можно смириться. Установка и администрирование MySQL В этом разделе мы рассмотрим процедуру начальной установки СУБД MySQL в операционных системах RedHat Linux версии 7.1 и Microsoft Windows. Процесс установки СУБД MySQL несложен и не отнимет у Вас много времени. Дистрибутив операционной системы RedHat Linux версии 7.1 содержит в своем составе сервер MySQL. При необходимости самую новую версию дистрибутива MySQL и полную документацию по установке, настройке и использованию MySQL Вы найдете на Web-узле http://www.mysql.com. Там же есть ссылки на инструментальные средства, разработанные для облегчения процесса администрирования этой СУБД. Установка в среде Linux Лучше всего установить СУБД MySQL во время инсталляции RedHat Linux. Процедура инсталляции RedHat Linux версии 7.1 была описана во 2 главе этой книги. Все, что Вам нужно сделать для установки MySQL, это указать мастеру установки на необходимость использования этого компонента (см. раздел «Выбор устанавливаемых компонентов ОС» главы 2). Если же Вы это не сделали, или желаете установить СУБД MySQL более новой версии, то нужно загрузить с Web-узла http://www.mysql.com дистрибутивные RPM-файлы СУБД MySQL и выполнить его установку. Установка минимально необходимых компонентов в среде RedHat Linux выполняется следующей командой: rpm -i MySQL-VERSION.i386.rpm MySQL-client-VERSION.i386.rpm Здесь MySQL-VERSION и MySQL-client-VERSION — префиксы имени дистрибутивных файлов, зависящие от номера версии СУБД MySQL. Когда мы работали над этой книгой, была доступна версия 3.23.43-1, поэтому файлы назывались MySQL-3.23.43-1.i386.rpm и MySQL-client-3.23.43-1.i386.rpm, соответственно. В процессе установки дистрибутивные файлы будут скопированы в различные каталоги. В таблице 6.1 мы перечислили имена этих подкаталогов и описали их содержимое. Заметим, что точное расположение каталогов зависит от версии операционной системы Linux. Чтобы определить расположение основных каталогов и другие параметры, просмотрите содержимое файла my.cnf, определяющего конфигурацию сервера MySQL. В операционной системе RedHat версии 7.1 этот файл находится в каталоге /etc. Таблица 6-1.Содержимое каталогов после установки MySQL
Чтобы проверить работоспособность только что установленного сервера MySQL, используйте команду mysqladmin с параметром version. Если сервер работает нормально, Вы увидите следующее сообщение: [root@server init.d]# mysqladmin
version Сразу после завершения установки можно переходить к запуску сервера MySQL и его настройке. Соответствующие процедуры описаны ниже в разделе «Запуск и настройка MySQL» этой главы. Установка в среде Microsoft Windows Что же касается установки в среде Microsoft Windows, то для ее выполнения нужно загрузить с Web-узла http://www.mysql.com архивный файл дистрибутива MySQL. Для MySQL версии 3.23.41 этот файл называется mysql-3.23.41-win.zip. Загрузив файл дистрибутива, распакуйте его во временном каталоге и запустите программу setup.exe. На экране появится первое окно мастера установки MySQL (рис. 6-1). Рис. 6-1. Первое окно мастера установки MySQL Щелкните кнопку Next для продолжения установки. Вы увидите второе окно мастера с информацией о версии MySQL и краткой инструкцией по установке (рис. 6-2). Рис. 6-2. Информация о версии MySQL и краткая инструкция по установке Обратите внимание, что по умолчанию MySQL устанавливается в каталог C:\MYSQL. Если Вы только приступаете к изучению MySQL, мы рекомендуем использовать для установки именно этот каталог. В том случае если установка на диск C: невозможна, создайте в корневом каталоге этого диска текстовый файл с именем my.cnf следующего вида: [mysqld] Здесь мы устанавливаем программные файлы MySQL в каталог E:/MY_SQL_Bin. Файлы баз данных будут создаваться в каталоге E:/MY_SQL_Data. После завершения установки в каталоге E:/MY_SQL_Bin будет создан файл my‑example.cnf, который можно использовать в качестве образца для редактирования файла my.cnf. Заметим, что операционная система Microsoft Windows принимает все файлы с расширением имени .cnf за файлы ссылок, что может создать определенные трудности при редактировании содержимого файла my.cnf. Вы можете отредактировать его, например, при помощи файлового менеджера FAR. В следующем окне (рис. 6-3) нужно выбрать каталог для установки. Если Вы собираетесь изменить каталог, указанный по умолчанию, щелкните кнопку Browse и выберите другой каталог.
Рис. 6-3. Выбор каталога для установки Далее Вам будет предложено три варианта установки: типичный, компактный и установка с выбором устанавливаемых компонентов (рис. 6-4). Рис. 6-4. Выбор режима установки Выберите последний из них, отметив флажок Custom, а затем щелкните кнопку Next. На экране появится окно выбора устанавливаемых компонентов сервера MySQL, показанное на рис. 6-5. Рис. 6-5. Выбор устанавливаемых компонентов При установке на отладочный сервер или рабочую станцию Вы можете выбрать все компоненты. Что же касается самых необходимых компонент, то это сам сервер (строка The MySQL Servers в списке Components), а также клиентское программное обеспечение и утилиты администрирования (строка The MySQL clients and Maintenance Tools). Отметив в списке Components необходимые компоненты, щелкните кнопку Next. Начнется процесс копирования дистрибутивных файлов. Когда он закончится, Вы увидите последнее окно мастера установки (рис. 6-6). Рис. 6-6. Завершение установки Щелкните в нем кнопку Finish. На этом установку можно считать завершенной. Если Вы установили в каталог с нестандартным расположением (отличным от c:\mysql), позаботьтесь о создании и настройке файла c:\my.cnf. Запуск MySQL В операционной системе RedHat Linux версии 7.1 запуск сервера MySQL можно выполнить при помощи следующей команды: /usr/bin/safe_mysqld –-user=root & Параметр –user задает идентификатор пользователя, от имени которого запускается сервер MySQL. Для увеличения безопасности системы рекомендуется использовать здесь другой идентификатор, специально созданный для этой цели. Что же касается параметра &, то он указывает на необходимость запуска сервера MySQL в рамках нового процесса, не имеющего консоли. Для того чтобы сервер запускался автоматически при каждой перезагрузке операционной системы, запишите эту команду в коней файла /etc/rc.d/rc.local. Приведенная выше команда запускает сценарий, запускающий сервер СУБД MySQL. С помощью сценария mysqld, расположенный в каталоге /etc/rc.d/init.d/ (для RedHat Linux версии 7.1), можно управлять работой сервера MySQL — запускать, останавливать, перезапускать сервер, определять текущее состояние сервера и т.д. Что же касается операционной системы Microsoft Windows NT/2000, то в ней сервер MySQL запускается как сервис. После установки MySQL в среде Microsoft Windows запустите программу winmysqladmin.exe, расположенную в каталоге c:\mysql\bin. При первом запуске эта программа попросит задать имя пользователя и пароль администратора базы данных, необходимых для установки начальной конфигурации (рис. 6-7).
Рис. 6-7. Установка начальной конфигурации Введите идентификатор и пароль, а затем щелкните кнопку OK. Через некоторое время на панели значков задач (system tray) появится значок в виде изображения светофора. Если щелкнуть этот значок правой клавишей мыши, а затем выбрать из контекстного меню строку Show me, на экране появится главное окно программы администрирования сервера MySQL с названием WinMySQLAdmin (рис. 6-8). Рис. 6-8. Главное окно программы администрирования WinMySQLAdmin При помощи программы WinMySQLAdmin можно запускать и останавливать сервер СУБД, просматривать его конфигурацию и структуру баз данных, настраивать различные параметры и создавать отчеты. Детальное описание программы WinMySQLAdmin выходит за рамки нашей книги. При необходимости обращайтесь к документации, входящей в дистрибутив сервера MySQL. Управление работой MySQL Для управления работой сервера MySQL в среде ОС Linux можно использовать командный интерфейс. Соответствующие команды подробно описаны в документации MySQL, а также в [19]. Мы расскажем только о некоторых командах. Команда запуска сервера MySQL была описана ранее в разделе «Запуск MySQL»: /usr/bin/safe_mysqld –-user=root & Чтобы завершить работу сервера, используйте следующую команду: mysqladmin -u root shutdown Вы также можете использовать сценарий mysqld, расположенный в каталоге /etc/rc.d/init.d. Передавая этому сценарию различные параметры, можно запускать, останавливать, перезапускать сервер, а также выполнять над ним другие действия. Вот пример команды запуска сервера: ./mysqld start Некоторые другие команды перечислены в табл. 6-2. Таблица 6-2. Команды управления MySQL
Что же касается управлением работой сервера MySQL в среде ОС Microsoft Windows, то для этого используется специальная программа WinMySQLAdmin с графическим интерфейсом (рис. 6-8). Если щелкнуть правой клавишей мыши значок светофора, расположенный в правом верхнем углу главного окна этой программы, то на экране появится контекстное меню управления сервером. Чтобы остановить запущенный ранее сервер, выберите из этого меню строку Win NT, а затем из меню второго уровня — строку Stop the Service (рис. 6-9). Рис. 6-9. Останов сервера MySQL В ответ на экране в отдельном окне появится предупреждающее сообщение. Чтобы продолжить завершение работы сервера, щелкните в этом окне кнопку Yes. После этого на светофоре загорится желтый фонарь, а через некоторое время (когда сервер остановится) — красный. Чтобы запустить остановленный сервис, снова щелкните светофор правой клавишей мыши и выберите из описанного выше меню второго уровня строку Start the Service. Базовая настройка учетных записей MySQL Первое, что нужно сделать после установки и запуска сервера MySQL, это задать пароль для пользователя с идентификатором root. Кроме того, необходимо добавить учетные записи, с применением которых Web-приложение будет работать с базой данных (использование для этой цели учетной записи root не рекомендуется из соображений безопасности). Назначение пароля пользователю root Чтобы задать пароль для пользователя root, запустите в консольном приглашении утилиту mysql: # mysql –u root mysql При этом будет обновлена информация об учетной записи root в системной таблице mysql. После ввода данной команды в консольном окне появится приглашение mysql: mysql> Введите здесь следующую команду: update user set Password=PASSWORD(”new_pasword”) where User=”root”; Здесь в качестве пароля мы задали строку new_password. Обратите внимание на символ точка с запятой, завершающий команду. Создание новых учетных записей Для создания учетных записей Вам необходимо запустить упомянутую выше утилиту mysql. Далее введите следующую команду: grant all on *.* to web_user@localhost identified by ”web_app_password”; Шаблон *.* указывает, что пользователь должен получить доступ ко всем базам данных. При необходимости можно ограничить доступ одной или несколькими базами данных. Для этого нужно указать имена нужных баз данных в шаблоне. Например, для предоставления доступа к базе данных db_customer, используйте шаблон db_customer.*. В строке web_user@localhost указывается, что команда предоставляет доступ пользователю с идентификатором web_user, подключающимся с того же компьютера, на котором работает сервер MySQL. В случае Web-приложения, если сервера Web и MySQL установлены на одном компьютере, так и происходит. При необходимости вместо localhost можно указать адрес IP или доменное имя любого другого компьютера, с которого будет осуществляться доступ к базе данных. В случае Web-приложений это должен быть адрес узла, на котором работает Web-сервер. При указании адреса можно использовать символ шаблона %, заменяющий любую последовательность любых символов. Из соображений безопасности рекомендуется всегда ограничивать доступ к базе данных только теми узлами, на которых работает Ваше Web-приложение. Управление правами пользователей Команда grant all, использованная нами в предыдущем примере, предоставляет пользователю полный доступ к таблицам базы данных. Вместе с тем учетные записи некоторых Web-приложений можно ограничить в правах, разрешив им, например, только чтение базы данных или чтение и обновление. Если хакер получит в свое распоряжение пароль учетной записи, не обладающей полными правами на базу данных, возможный ущерб будет меньше, чем если в распоряжении хакера окажется пароль администратора базы данных или другого пользователя, обладающего всеми правами доступа. Следующая команда предоставляет пользователю web_user права на чтение содержимого таблиц базы данных: grant select on *.* to web_user@localhost identified by ”web_app_password”; А эта команда разрешает обновление содержимого таблиц: grant update on *.* to web_user@localhost identified by ”web_app_password”; Удаление учетных записей пользователей Если учетная запись пользователя больше не нужна, Вы можете ее удалить при помощи все той же утилиты mysql. Запустите ее и введите в приглашении следующую команду: delete from user where User=”web_user” and Host=”localhost”; Сразу после удаления командой delete необходимо перезагрузить системные таблицы MySQL командой flush: flush privileges; Вы можете создавать базы данных и таблицы при помощи специально предназначенных для этого команд языка SQL, таких как CREATE DATABASE и CREATE TABLE. Команды нужно вводить в приглашении утилиты mysql. Если же Вы больше привыкли работать с графическими средствами проектирования баз данных, то можно использовать одну из бесплатных программ администрирования MySQL, доступных в Интернете. Мы расскажем о программе MySQL-Front, напоминающей по своему внешнему виду и возможностям программу Microsoft Enterprise Manager, предназначенную для работы с СУБД Microsoft SQL Server. Эта программа создана для платформы Microsoft Windows, однако подобные программы есть и на платформе Linux, а также и на других Unix-подобных платформах. Список программ и утилит, разработанных для MySQL, можно найти на Web-узле http://www.mysql.com в разделе Contribute (http://www.mysql.com/downloads/contrib.html). В качестве примера мы приведем несколько команд SQL, предназначенных для создания баз данных и таблиц, для их удаления и модификации. Более подробную информацию об использовании команд SQL Вы найдете в документации к MySQL или в дополнительной литературе (например, в [19]). Для того чтобы создать базу данных, введите в приглашении утилиты mysql следующую команду: CREATE DATABASE db_trudogolik Здесь мы создаем базу данных db_trudogolik. Созданную ранее базу данных можно удалить при помощи команды DROP DATABASE: DROP DATABASE db_trudogolik В качестве параметра команде передается имя созданной ранее базы данных. Как правило, база данных Web-приложения содержит одну или несколько таблиц. Оставив пока в стороне вопросы проектирования структуры базы данных, просто приведем пример команды CREATE TABLE, создающей таблицу managers: CREATE TABLE managers ( Эта таблица содержит информацию об администраторах, такую как идентификатор, пароль, права и др. Подробное описание всех возможностей команды CREATE TABLE выходит за рамки нашей книги. Вы можете найти его, например, в [19] или в справочной системе MySQL. Заметим только, что для каждой создаваемой таблицы необходимо перечислить имена полей, тип хранящихся в них данных, ограничения на данные, записываемые в поля таблицы, и другую информацию. Чтобы удалить таблицу из базы данных, используйте стандартную команду DROP TABLE: DROP TABLE managers; Здесь мы удаляем таблицу managers. При помощи одной команды можно удалить сразу несколько таблиц, перечислив их имена в команде DROP TABLE через запятую. Программа MySQL-Front Для тех из Вас, кто привык пользоваться визуальными средствами проектирования баз данных, мы советуем попробовать бесплатную программу MySQL-Front. Самую новую версию программы можно загрузить из Интернета по адресу http://www.anse.de. Автор программы — Ansgar Becker, и с ним можно связаться по электронной почте (chef@anse.de). На сегодняшний день эта программа работает в среде Microsoft Windows, однако ничего не мешает Вам использовать ее для удаленного администрирования сервера MySQL, работающего под управлением операционной системы Linux или какой-либо другой, где можно использовать СУБД MySQL. Запуск программы и подключение к базе данных Программа MySQL-Front поставляется в готовом для запуска виде и не требует специальной установки. Сразу после запуска на экране появляется окно подключения к серверу MySQL, показанное на рис. 6-10. Рис. 6-10. Подключение к серверу MySQL Здесь в поле Host нужно ввести доменное имя или адрес IP сервера MySQL, а в полях User и Password — идентификатор учетной записи и пароль администратора базы данных. Значения номера порта и времени ожидания соединения, заданные в полях Port и Timeout, можно оставить без изменения. Указав все эти данные, не забудьте нажать кнопку Change для сохранения. После этого в списке Hosts появится новая строка для Вашего сервера MySQL. Таким способом Вы можете ввести и сохранить данные сразу о нескольких серверах. Кнопки New и Delete позволяют, соответственно, добавить запись о новом сервере и удалить ее. Для подключения к серверу выберите его из списка Hosts и щелкните кнопку Connect. Если Вы все ввели правильно, через некоторое время на экране появится главное окно программы MySQL-Front (рис. 6-11). Рис. 6-11. Главное окно программы MySQL-Front В левой части этого окна находится древовидный список баз данных и таблиц. Сразу после установки в нем будут только системные базы mysql и test. Если щелкнуть мышью название базы данных, то в правой части главного окна программы появится список находящихся в ней таблиц. Двойной щелчок по названию базы данных раскрывает список таблиц в дереве. Именно этот случай показан на рис. 6-11 для базы trudogolik. Щелкнув в дереве название таблицы, Вы сможете просмотреть в правой части окна список расположенных в ней полей (вкладка Table), а также содержимое таблицы (вкладка Data). На вкладке Database отображается список таблиц, определенных в базе данных. С помощью вкладки Host Вы можете просмотреть информацию о параметрах работы сервера MySQL, а на вкладке Query — запустить произвольную команду SQL. Чтобы создать базу данных, щелкните правой клавишей в левой части окна программы и в контекстном меню выберите строку Create Database. Можно также выбрать из меню Extra (рис. 6-11) строку Create Database. На экране появится одноименное диалоговое окно, в котором нужно ввести имя базы данных. Чтобы не было проблем с совместимостью, используйте в названии базы данных только латинские символы. После выполнения данной процедуры в дереве появится новая строка с названием только что созданной базы данных. Удаление базы данных выполняется с помощью меню Extra, расположенном в главном окне программы (рис. 6-11). Чтобы удалить ненужную базу данных, выделите ее название в левой части окна и выберите из меню Extra строку Drop Database. Сразу после создания базы данных в ней нет ни одной таблицы. Чтобы создать новую таблицу, щелкните правой клавишей мыши название базы данных и выберите из меню Extra строку Create Table. На экране появится диалоговое окно Create Table. На рис. 6-12 мы показали это окно уже в заполненном виде.
Рис. 6-12. Создание таблицы customer Прежде всего, Вам необходимо указать имя таблицы в поле Table-Name. Для имени таблицы используйте только латинские символы. Дополнительно в поле Description можно ввести описание таблицы, которое в дальнейшем поможет вам вспомнить, для чего эта таблица предназначена. Далее необходимо создать поля таблицы. Набрав в поле Fields имя очередного добавляемого поля, щелкните кнопку Add. Далее при помощи элементов управления Field-Properties задайте необходимые атрибуты поля. Укажите тип поля Type, размер, занимаемый полем в памяти Length/Set, и значение по умолчанию Default Value. Если поле должно быть проиндексировано, отметьте флажки Index и Unique, а также Not Null. Вы можете также задать автоматическое заполнение поля, отметив флажок AutoIncrenent (заполнение автоматически возрастающим значением) или Zerofill (заполнение нулевым значением). Пользуясь кнопкой Add, добавьте все нужные поля. Если на данном этапе точный состав полей неизвестен, ничего страшного — при необходимости Вы сможете добавить новые поля (или удалить имеющиеся) в любое время после создания таблицы. Кнопка Change позволяет изменить атрибуты поля, а кнопка Remove — удалить поле из таблицы. Удаление таблицы, так же как и базы данных, выполняется из меню Extra (рис. 6-11). Чтобы удалить ненужную таблицу, выделите ее название в левой части окна и выберите из меню Extra строку Drop Table. Просмотр и изменение содержимого таблицы Программа MySQL-Front поможет Вам просмотреть и, при необходимости, отредактировать содержимое любой таблицы базы данных. Эта возможность особенно удобна при отладке Web-приложения. Чтобы это сделать, щелкните название таблицы в левой стороне окна программы, а затем откройте вкладку Data. На рис. 6-13 мы показали содержимое таблицы job_condition. Рис. 6-13. Просмотр содержимого таблицы job_condition Щелкнув дважды ячейку таблицы левой клавишей мыши, можно отредактировать ее содержимое «по месту». После редактирования нажмите клавишу Enter или щелкните другую строку таблицы для сохранения изменений. Сохранение описания и содержимого таблицы После завершения разработки структуры базы данных и таблиц при помощи программы MySQL-Front можно сохранить описание и содержимое таблиц в файле сценария SQL. Такое сохранение будет полезно и для резервного копирования структуры базы данных. Пользуясь файлами, полученными в результате выполнения этой процедуры, Вы в дальнейшем сможете при необходимости легко восстановить базу данных на этом же сервере или создать такую же базу данных на другом сервере. Для сохранения структуры базы данных выделите ее щелчком мыши в левой части главного окна программы MySQL-Front, а затем выберите из меню Extra строку Export Tables. на экране появится одноименное диалоговое окно (рис. 6-14). Рис. 6-14. Сохранение описания и содержимого таблицы job_condition Меню Select Database and Table(s) позволит Вам выбрать базу данных и таблицы, структуру и содержимое которых нужно сохранить. В том случае если нужно сохранить только отдельные таблицы, отметьте соответствующие флажки в списке Select Database and Table(s). На рис. 6-14 мы выделили только одну таблицу — job_condition. Для сохранения структуры таблицы без данных отметьте флажок Structure only. В этом случае программа MySQL-Front создаст сценарий SQL с командой CREATE TABLE, запустив который можно будет создать нашу таблицу. Если же требуется сохранить не только структуру таблиц, но и хранящиеся в них данные, отметьте флажок Structure and Data. Далее необходимо в поле Filename указать текстовый файл, в который будет записан результат сохранения, а затем щелкнуть кнопку Export. Пример такого файла, содержащий описание таблицы job_condition и хранящиеся в ней данные, показан ниже: # MySQL-Front Dump 1.16 beta Как видите, файл представляет собой сценарий SQL. Этот сценарий вначале создает таблицу job_condition командой CREATE TABLE, а затем добавляет в нее записи при помощи серии команд INSERT. Заметим, что при сохранении содержимого объемных таблиц размер создаваемого файла может быть значительным. Импорт текстовых данных в таблицу При начальном наполнении или периодическом обновлении таблиц базы данных часто встает задача импорта данных из текстовых файлов. Такие данные могут иметь различный формат, однако чаще всего используются файлы с полями, разделенными запятой (формат Comma Separated File, CSV-файл). Чтобы импортировать такой файл в базу данных при помощи программы MySQL-Front, выберите из меню Extra строку Import Textfile. В результате на экране появится окно, показанное на рис. 6-15. Рис. 6-15. Импорт текстового файла Выберите в списке Database нужную базу данных, а в списке Import into table — таблицу, в которую нужно импортировать данные. Далее в поле Use Columns отметьте флажки около названия нужных Вам столбцов таблицы. В поле Filename выберите исходный файл с данными. Далее при помощи флажков Fields и Lines укажите формат представления данных — символ-разделитель, символ, завершающий строку и т.д. Затем для запуска импорта щелкните кнопку Import. Данные из файла будут загружены в указанную Вами таблицу выбранной базы данных. |