вторник, 30 июля 2013 г.

Изучаем Sqlite за 1 час

SQLite370.svg
Введение
SQLite — компактная встраиваемая реляционная база данныхИсходный код библиотеки передан в общественное достояние. В 2005 году проект получил награду Google-O’Reilly Open Source Awards[2].
Тип
Разработчик
Ричард Хипп
Написана на
C
Операционная система
Последняя версия
Лицензия
Сайт

Установка
SQLite в Windows
  1. Перейдите на страницу http://www.sqlite.org/download.html
  2. Скачайте данные файлы:
    • sqlite-shell-win32-x86-<build#>.zip
    • sqlite-dll-win32-x86-<build#>.zip
    Примечание: <build#> номер билда sqlite.
  3. Разархивируйте zip файлы в выбранную вами папку. Добавьте путь к папке с Sqlite в PATH системную переменную которая сделает доступным для вызова SQLite shell. 
SQLite в Linux
SQLite двоичные файлы могут быть получены различными способами в зависимости от дистрибутива Linux, который вы используете.
/* Для Debian или Ubuntu /*
sudo apt-get install sqlite3 sqlite3-dev
/* Для RedHat, CentOS, или Fedora/*
yum install SQLite3 sqlite3-dev
SQLite в Mac OS X
Если вы запускаете на Mac OS Leopard или версию выше, SQLite уже предустановлен.

Создаем первую SQLite базу данных

Теперь вы должны иметь готовые файлы SQLite и время, чтобы создать свою первую базу данных SQLite. Введите следующую команду в командной строке окна или терминала в Linux.

Чтобы создать новую базу данных под названием test.db:
sqlite3 test.db

Чтобы создать таблицу в базе данных:

sqlite> create table mytable(id integer primary key, value text);


2 столбца были созданы. Столбец первичного ключа называется "ID", который имеет возможность автоматического создания значения по умолчанию и простое текстовое поле называется "value".
ПРИМЕЧАНИЕ: По крайней мере, 1 таблица должны быть созданы в целях записи новой базы данных на диск. В противном случае, она не будет создана.

Вставить данные в mytable:

sqlite> insert into mytable(id, value) values(1'Micheal');
sqlite> insert into mytable(id, value) values(2'Jenny');
sqlite> insert into mytable(value) values('Francis');
sqlite> insert into mytable(value) values('Kerk');

Для выборки данных из mytable:

sqlite> select * from mytable;
1|Micheal
2|Jenny
3|Francis
4|Kerk

Для выборки данных из mytable путем улучшения форматирования:

sqlite> .mode column;
sqlite> .header on;
sqlite> select * from mytable;

id          value
----------- -------------
1           Micheal
2           Jenny
3           Francis
4           Kerk

.mode column будет отображать данные в формате колонки. 
.header on будет отображаться имя столбца таблицы.

Чтобы добавить дополнительную колонку в mytable:

sqlite> alter table mytable add column email text not null '' collate nocase;;

Чтобы создать представление для mytable:

sqlite> create view nameview as select * from mytable;

Чтобы создать индекс для mytable:

sqlite> create index test_idx on mytable(value);
Полезные команды в SQLite

Показать схемы таблицы:
sqlite> .schema [table]

Получение списка таблиц (и представлений):

sqlite> .tables

Получение списка индексов для данной таблицы:

sqlite> .indeces [table]

Экспорт объектов базы данных в формате SQL:

sqlite> .output [filename] 
sqlite> .dump
sqlite> .output stdout

Импорт объектов баз данных (SQL формат) в базу данных:

sqlite> .read [filename]

Форматирование экспортированных данных в формат CSV:

sqlite>.output [filename.csv] 
sqlite>.separator ,
sqlite> select * from mytable;
sqlite>.output stdout

Импорт CSV данных в новую таблицу:

sqlite>create table newtable(id integer primary key, value text);
sqlite>.import [filename.csv] newtable

Для создания резервной копии базы данных:

/* usage: sqlite3 [database] .dump > [filename] */
sqlite3 mytable.db .dump > backup.sql

Для восстановления базы данных:

/* usage: sqlite3 [database] < [filename] */
 sqlite3 mytable.db < backup.sql

Комментариев нет:

Отправить комментарий