Работа с базой данных


Создание структуры базы данных
Заполнение базы данных
Открытие и закрытие файлов БД
Перемещение в базе данных
Функции контроля положения указателя
Просмотр данных и структуры БД
Удаление данных


        Создание структуры базы данных
Создание базы данных
        CREATE Имя_Базы_Данных
Создание таблицы
        CREATE Имя_Таблицы FROM Имя_Базы_Данных
Создание структуры
        COPY STRUCTURE TO Имя_Базы_Данных  [FIELDS поле1[, поле2…..] - создаёт пустую БД, помещая в её заголовок описания указанных в списке полей из активной БД


        Заполнение базы данных
    APPEND - дополнение БД (экран полей очередной записи).
    APPEND BLANK - дополнение пустой записью (окно ввода полей не открывается).
    INSERT - вставка новой записи после текущей с вызовом экранной формы.
    INSERT BEFORE - вставка новой записи до текущей.
    CHANGE - открывает окно редактирования , выводя поля БД по одной вертикали; в окне видно сколько записей, сколько их удастся разместить (аналог команды EDIT).
    BROWSE - окно редактирования, где все поля каждой записи располагаются горизонтально (БД имеет форму таблицы). Возможен вертикальный и горизонтальный скроллинг. Для редактирования полей MEMO  и GENERAL требуется щёлкнуть по ним дважды мышкой или нажать Ctrl+Home.


        Открытие и закрытие файлов БД
        В среде FoxPro  можно держать открытыми одновременно до 225 БД, однако лишь одна из них может в данный конкретный момент времени быть активной. Каждая БД открывается в своей рабочей области.
    USE Имя_Базы_Данных [.DBF] - открытие БД в текущую рабочую область
    SELECT 2 - переход в рабочую область с индексом 2.
    USE без параметров закрывает текущую БД.
    CLOSE DATABASES - закрывает все БД вместе со всеми связанными с ними файлами во всех рабочих областях с переходом в первую рабочую область.
    CLOSE ALL - закрытие файлов всех типов и выбор рабочей области 1.
    CLEAR ALL - то же, что и CLOSE ALL, плюс уничтожение всех массивов и переменных, всех определённых пользователем меню и окон.
    CLEAR без параметров - очистка экрана.


        Перемещение в базе данных
 
GO TOP переход к первой записи
GO BOTTOM переход к последней записи
GO <выражение> переход к записи с номером <выражение>
SKIP <выражение> переход к записи отстоящей от текущей на указанное в <выражении>
SKIP без параметра аналогичен SKIP 1
 
    Данные команды могут иметь дополнительный параметр IN <область> указывающий рабочую область



        Функции контроля положения указателя:
 
RECNO([<область>]) указывает номер текущей записи
RECCOUNT([<область>]) выдаёт общее число записей в файле, включая записи, помеченные к удалению
EOF([<область>]) функция конца файла
BOF([<область>]) функция начала файла


        Просмотр данных и структуры БД.

1) DISPLAY [<границы>] [<поля>] [WHILE<условие>] [FOR<условие>] [OFF] [TO PRINT|FILE<имя_файла>] [NOCONSOLE] - В качестве заголовка вывода выдаются имена полей БД. Записи, помеченные к удалению, отмечаются звёздочкой. OFF - указание на то, что номера записей не выводятся.
2) DISPLAY STRUCTURE [TO PRINT|FILE<имя_файла>] - отображает структуру БД.
3) DISPLAY MEMORY [TO PRINT|FILE<имя_файла>] - выводит имя, тип, значение и класс всех действующих в данный момент переменных и массивов.
4) LIST [<границы>] [<поля>] [WHILE<условие>] [FOR<условие>] [OFF] [TO PRINT|FILE<имя_файла>] [NOCONSOLE] - выводит записи активной БД (по умолчанию все)



        Удаление данных

1) DELETE [<границы>] [WHILE<условие>] [FOR<условие>] - пометка к удалению записей в указанных границах и/или отвечающих указанным условиям. Без параметров помечает только одну текущую запись.
2) RECALL [<границы>] [WHILE<условие>] [FOR<условие>] - снимает пометки к удалению. Без параметров снимает пометку только у одной текущей записи.
3) ZAP - удаление всех записей в активной БД с сохранением структуры.
4) PACK [MEMO] [DBF] - физическое удаление помеченных ранее записей и сжатие файла. Если указан параметр MEMO - упаковывается только FTP - файл, DBF - только DBF - файл, иначе - оба.
5) DELETE FILE <имя_файла> - удаление с диска любого неоткрытого в данный момент времени файла.