2013-09-22 5 views
0
$ cat - | sqlite3 database 
    create table if not exists entries (
     id integer primary key autoincrement, 
     title string not null, 
     text string not null 
    ); 
    ^D 

Это было в уроке Dancer. Что оно делает? Создает ли он базу данных?Что делает этот код?

+5

Что вы не понимаете? Вам нужно изучить SQL. – SLaks

+1

'cat -' читает со стандартного ввода,' '' трубы, которые приводят к 'sqlite3 database'. Материал под 'cat' - это SQL для создания таблицы. «^ D» заканчивает стандартный ввод. – lurker

ответ

1

Он считывает данные из пользовательского ввода

cat -

и передает эти данные в функцию создания базы данных:

sqlite3 database create table if not exists entries (id integer primary key auto increment, title string not null, text string not null); 

таблица в базе данных, созданной, если бы не существовало до того будет иметь 3 столбцы с именем id, названием и текстом.

+1

Это может быть немного nit-picky, но это создаст базу данных только в том случае, если файл 'database' не существует. Он будет создавать * table * 'entries', если такая таблица не существует, а * table * (а не база данных) будет иметь три столбца. – ThisSuitIsBlackNot

+0

@ThisSuitIsBlackНе спасибо, я изменил свой ответ – Flole