создайте скрипт оболочки для запуска команд sqlite из php в Ubuntu - PullRequest
5 голосов
/ 21 апреля 2011

Я хочу создать новую базу данных sqlite, используя сценарий SHELL SCRIPT на ОС ubuntu10.10 .... Есть идеи ??

Я попытался создать файл 'create.sh' со следующим кодом ...

#!/bin/bash
sqlite ex3.db
create table t1(f1 integer primary key,f2 text)

, чем запустить ./create.sh из termminal, но это приводит меня к приглашению sqlite> ... Я не вижу нигде созданной БД ex3 ..

Пожалуйста, помогите ...

Ответы [ 5 ]

5 голосов
/ 31 мая 2011

Еще один способ сделать это - использовать SQL_ENTRY_TAG_N

#!/bin/bash
sqlite3 mydatabase <<SQL_ENTRY_TAG_1
SELECT * FROM sqlite_master;
SQL_ENTRY_TAG_1

Подробнее см. фрагмент

4 голосов
/ 21 апреля 2011
#!/bin/bash

sqlite3 ex3.db "create table t1(f1 integer primary key,f2 text)"

должно работать Я думаю, к сожалению, не могу проверить прямо сейчас.

3 голосов
/ 21 апреля 2011

Вы хотите передать свои команды SQL DDL в SQLite через стандартный ввод:

#!/bin/bash
echo 'create table t1(f1 integer primary key,f2 text);' | sqlite ex3.db
1 голос
/ 12 марта 2018

Можете ли вы использовать строку параметров на sqlite3, например:

$sqlite3 -line teste.db 'create table table_name (field_name integer)'
$sqlite3 -line teste.db 'insert into table_name (123)'
$sqlite3 -line teste.db 'select * from table_name'
0 голосов
/ 13 июля 2015

Пример CREATE и INSERT из create.sh:

#!/bin/bash
DB_NAME=ex3.sqlite
DB_TABLE=t1

sqlite3 $DB_NAME << EOF

DROP TABLE IF EXISTS $DB_TABLE;

CREATE TABLE $DB_TABLE (
    "f1" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL,
    "f2" TEXT NOT NULL DEFAULT "f2-text"
);

INSERT INTO $DB_TABLE (f1, f2) VALUES (1, "text 1");
INSERT INTO $DB_TABLE (f1, f2) VALUES (2, "text 2");

EOF
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...