2013-09-22 128 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數據庫'的'|'管道。 '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

這可能有點挑剔,但如果文件'database'不存在,這隻會創建一個數據庫。如果這樣的表不存在,並且* table *(不是數據庫)將有三列,它將創建* table *'entries。 – ThisSuitIsBlackNot

+0

@ThisSuitIsBlackNot謝謝,我改變了我的答案 – Flole