sqlsqlite
❶ sql 和 SQLite 的有什麼分別 重視哪個會好點
這個問題怎麼經常會冒出來?
SQL 是 結構查詢語言的簡寫,是關系型資料庫的操作語言,sqlserver,db2,oracle,infomix、mysql,postresql 等都基本上支持sql標准。
有時 sql也指 sql server,偶爾也指其他包含sql資料庫的資料庫(比如Mysql,不過一般可以認為不是合適的稱呼)
SQLite是一個單獨的小型的文件式的資料庫,一般用於嵌入式的系統中。
你如果想學習嵌入式系統的開發,那麼直接是SQLite。
如果想學習企業級的開發,那麼上面sqlserver,db2,oracle 任意選一個
如果想學習小型網站的開發,那麼mysql,postresql 都可以,不過mysql似乎用的較多
如果沒有目的,只是想學資料庫編程,那麼mysql、sqlserver、oracle都可以。
❷ 如何將sql文件導入sqlite
使用sqlite的文件導入導出功能
導入
命令:
.import
sqlite>
.import
文件名
表名
注1:
不要忘了開頭的點
注2:
這條語句不能用分號結束.
非sql不需要分號結束.
注3:
需要查看默認的分隔符separator.
必須一致.
如果不一致可能導致sqlite欄位分割錯誤.
查看分隔符使用命令
.show
,
如果不一致可直接修改,
比如:
sqlite>.separator
","
將分隔符轉為逗號.
舉例1:
將文件a.csv中的數據導入表
tab_xx.
(a.csv中欄位以逗號分割)
sqlite>
.separator
","
sqlite>
.import
a.csv
tab_xx
sqlite>
導入結束.
導出
實現方式:
將輸出重定向至文件.
命令:
.output
sqlite>
.output
a.txt
然後輸入sql語句,
查詢出要導的數據.
查詢後,數據不會顯示在屏幕上,而直接寫入文件.
結束後,輸入
sqlite>
.output
stdout
將輸出重定向至屏幕.
舉例2:
將
tab_xx
中的數據導出到文件a.txt
sqlite>
.output
a.txt
sqlite>
select
*
from
tab_xx;
sqlite>
.output
stdout
導出完畢.
❸ sql和sqlite3有什麼區別
一種含義比較多,關系資料庫、資料庫語言、微軟的一種資料庫...,sqlite3是一種文件型資料庫。
❹ SQL 和 SQLite 的有什麼分別 重視哪個會好點
sql是泛指資料庫,常見的有mysql、sql server、oracle、postgres、sqlite。前面的這些都是需要搭建伺服器,需要網路,功能全面。sqlite則是輕型資料庫,對資源消耗小,只需一個文件即可,適合嵌入式系統等,比如常見的安卓應用。但是需要多用戶或者多點登陸還是使用前面這些。
❺ SQL 和 SQLite 的有什麼分別 重視哪個會好點
sqlite是輕量級的
❻ 總結SQLite不支持的SQL語法有哪些
1 TOP
這是一個大家經常問到的問題,例如在SQLSERVER中可以使用如下語句來取得記錄集中的前十條記錄:
SELECT TOP 10 * FROM [index] ORDER BY indexid DESC;
但是這條SQL語句在SQLite中是無法執行的,應該改為:
SELECT * FROM [index] ORDER BY indexid DESC limit 0,10;
其中limit 0,10表示從第0條記錄開始,往後一共讀取10條
2 創建視圖(Create View)
SQLite在創建多表視圖的時候有一個BUG,問題如下:
CREATE VIEW watch_single AS SELECT DISTINCT watch_item.[watchid],watch_item.[itemid] FROM watch_item;
上面這條SQL語句執行後會顯示成功,但是實際上除了
SELECT COUNT(*) FROM [watch_single ] WHERE watch_ single.watchid = 1;
能執行之外是無法執行其他任何語句的。其原因在於建立視圖的時候指定了欄位所在的表名,而SQLite並不能正確地識別它。所以上面的創建語句要改為:
CREATE VIEW watch_single AS SELECT DISTINCT [watchid],[itemid] FROM watch_item;
但是隨之而來的問題是如果是多表的視圖,且表間有重名欄位的時候該怎麼辦?
3 COUNT(DISTINCT column)
SQLite在執行如下語句的時候會報錯:
SELECT COUNT(DISTINCT watchid) FROM [watch_item] WHERE watch_item.watchid = 1;
其原因是SQLite的所有內置函數都不支持DISTINCT限定,所以如果要統計不重復的記錄數的時候會出現一些麻煩。比較可行的做法是先建立一個不重復的記錄表的視圖,然後再對該視圖進行計數。
4 外連接
雖然SQLite官方已經聲稱LEFT OUTER JOIN 已經實現,但還沒有 RIGHT OUTER JOIN 和 FULL OUTER JOIN。但是實際測試表明似乎並不能夠正常的工作。以下三條語句在執行的時候均會報錯:
SELECT tags.[tagid] FROM [tags],[tag_rss] WHERE tags.[tagid] = tag_rss.[tagid](*);
SELECT tags.[tagid] FROM [tags],[tag_rss] WHERE LEFT OUTER JOIN tag_rss.[tagid] = tags.[tagid];
SELECT tags.[tagid] FROM [tags],[tag_rss] WHERE LEFT JOIN tag_rss.[tagid] = tags.[tagid];
此外經過測試用+號代替*號也是不可行的。
❼ SQL 和 SQLite 的有什麼分別 重視哪個會好點
這兩個完全沒有可比性。樓主還沒有理解資料庫的概念。數據可以分為三種,一種是超大型資料庫,如甲骨文公司的oracle資料庫,國內比較著名的公司如蒙牛、騰訊等都是使用這種數據,阿里巴巴之前也是用oracle,後來才使用了自己研發的資料庫。第二種是中型資料庫,以MS SQL Server和My SQL為代表,這類資料庫比較常見,很多企業的ERP系統和網上商城系統用的都是這兩種。當然,SyBase也算是中型資料庫。第三種是微小型資料庫,以你的問題中提到的SQLite和微軟Office辦公組件里的Access為代表,很多公司之前用ASP做的網站大部分用的都是Access。SQLite的興起跟Android有很大的關系,安卓中用戶簡訊、聯系人數據等都是用SQLite存儲的。甚至,我們熟悉的QQ、迅雷等,也都是採用SQLite來存儲數據。
現在來回答你的問題,SQL是資料庫查詢用到的語句,它本身不是資料庫,所以沒有可比性。重視哪個好?兩個都要重視,懂了SQLite,但不會查數據,等於你什麼都不懂。強烈建議你加入本人創建的SQLite QQ群:1702823,有問題可以在群裡面討論。
❽ SQLite3 執行 sql 語句的佔位符
使用 execute 方法執行一條SQL語句,如果帶有參數可以使用佔位符來傳遞參數。使用佔位符已經考慮到轉碼的問題,不需要自己單獨處理。不用去管 SQL 注入的問題。不過佔位符只是針對value,不能用於設置表名,欄位等。
SQLite3支持兩種佔位符: 問號佔位符 和 命名佔位符 。
採用問號作為佔位符,參數為元組形式。例如:
採用冒號加 key 的形式作為佔位符,參數為字典形式。例如:
一般來話,第一種方式比較方便,也比較常見。但是如果在執行sql語句需要同一個參數多次使用時,採用第二種方式就比較合適
❾ SQL 和 SQLite 的有什麼分別 重視哪個會好點
SQL一般是指Microsoft sql 是大型的資料庫語言,開發大型的軟體的資料庫語言,一般開發跟微軟相關的軟體就可用到。當然sql就像普通話一樣,學會了到處都受用,其他的資料庫語言就喊好上手!sqllite 是小型的資料庫,比如開發php程序可以用到,現在的android就是用sqlite開發,靈活便捷!