sh и SQLite

Модератор: Модераторы разделов

Ответить
f3ex
Сообщения: 11
ОС: kubuntu 7.04

sh и SQLite

Сообщение f3ex »

Всем доброго времени суток.. К сожелению из-за отсутствия инфы в сети и в связи с тем что сайт sqlite.ru выдает ошибку пишу следующее:

надо написать мне скриптек на sh, в БД sqlite должна попадать инфа. каким образом можно реализовать: открытие базы в скрипте

добавление в базу данных из переменных (разумеется еще и создание таблици)

закрытие базы ( и сохранение данных)

и можно ли осуществить в скрипте проверку существования таблици

Заранее благодарен
Спасибо сказали:
Аватара пользователя
a1f
Сообщения: 94
ОС: ====8
Контактная информация:

Re: sh и SQLite

Сообщение a1f »

Тоже была такая проблема,
первое предложение было DROP и если дропнулась успешно значит таблица БЫЛА=)

А если серьезно то решили просто пробовать показать чо нить из таблицы небольшое
Gentoo Linux / Ubuntu Feisty 7.04, 8.04 / Slackware 10.2 / OpenBSD 4.2
Спасибо сказали:
tba
Сообщения: 48
ОС: Debian, Centos

Re: sh и SQLite

Сообщение tba »

f3ex писал(а):
30.09.2007 06:00
Всем доброго времени суток.. К сожелению из-за отсутствия инфы в сети и в связи с тем что сайт sqlite.ru выдает ошибку пишу следующее:

надо написать мне скриптек на sh, в БД sqlite должна попадать инфа. каким образом можно реализовать: открытие базы в скрипте

добавление в базу данных из переменных (разумеется еще и создание таблици)

закрытие базы ( и сохранение данных)

и можно ли осуществить в скрипте проверку существования таблици

Заранее благодарен


Что-то типа этого или я чего не понял?

Код: Выделить всё

#!/bin/sh

sqlite=/usr/bin/sqlite3
db='test.db'
table='test1'
data=5

$sqlite $db <<_sql
CREATE TABLE $table(id integer);
INSERT INTO $table(id) VALUES ($data);
_sql

want_table='test1'
tables=`$sqlite $db <<_end
.tables
_end`
found=`echo $tables | grep $want_table`

if [[ $found ]]
then
    echo "Success"
else
    echo "Failed"
fi
Спасибо сказали:
f3ex
Сообщения: 11
ОС: kubuntu 7.04

Re: sh и SQLite

Сообщение f3ex »

Код: Выделить всё

#!/bin/sh

sqlite=/usr/bin/sqlite3
db='test.db'
table='test1'
data=5

$sqlite $db <<_sql
CREATE TABLE $table(id integer);
INSERT INTO $table(id) VALUES ($data);
_sql

want_table='test1'
tables=`$sqlite $db <<_end
.tables
_end`
found=`echo $tables | grep $want_table`

if [[ $found ]]
then
    echo "Success"
else
    echo "Failed"
fi

[quote]

да, то что мне надо.. только работало бы это...
вот тут помоему где то ошибка want_table='test1'
tables=`$sqlite $db <<_end
.tables
_end`

потому как переменная $tables имеет значени после этого участка:
test test1 test2
Спасибо сказали:
tba
Сообщения: 48
ОС: Debian, Centos

Re: sh и SQLite

Сообщение tba »

Согласен, поиск таблицы у меня совсем неправильный. Я, собственно, хотел только here-documents показать.
Поиск можно например так сделать (ничего кривее придумать не смог :))

Код: Выделить всё

sqlite=/usr/bin/sqlite3
db='test.db'
want_table='test111'

tables=`$sqlite $db <<_end
.tables
_end`

function find_table() {
    tabs=$1
    want=$2
    for i in $tabs
    do
        if [ "$i" = "$want" ]; then
            return 1
        fi
    done
    return 0
}

find_table "$tables" "$want_table"
if [ $? = 1 ]; then
    echo "Success"
else
    echo "Failed"
fi
Спасибо сказали:
f3ex
Сообщения: 11
ОС: kubuntu 7.04

Re: sh и SQLite

Сообщение f3ex »

Работает. спасибо.. буду теперь до ума доводить задумку... если вопросы будут у меня можно в личку постучать?

И малоли кому то понадобиться -
function find_table() {

без слова функция:
find_table() {
Спасибо сказали:
tba
Сообщения: 48
ОС: Debian, Centos

Re: sh и SQLite

Сообщение tba »

f3ex писал(а):
03.10.2007 02:33
Работает. спасибо.. буду теперь до ума доводить задумку... если вопросы будут у меня можно в личку постучать?
...


Не вопрос. Чем смогу - помогу
Спасибо сказали:
Ответить