Rails默認使用sqlite3做為數據庫,雖然很多人更喜歡mysql。但如果是學習用,sqlite3夠了,因為它輕量,不需要安裝。
首先對sqlite3做個簡短的介紹:
1、sqlite3不需要配置,不需要安裝,也不需要管理員。最牛的是它沒有服務器,僅是一個exe或dll
2、數據庫以文件形式保存在磁盤上,可以自由COPY使用
3、因為sqlite3沒有服務器監聽端口,所以不能像mysql一樣通過ip和端口遠程連接數據庫。如果想遠程訪問數據庫,只能通過數據庫文件共享方式
1、安裝gem
gem install sqlite3
2、安裝sqlite3
windows下安裝方法:
下載 http://dl.dbank.com/c0cmb3fd78
解壓安裝包后把3個文件(包括sqlite3.exe,sqlite3.dll,sqlite3.def)全部放到/Ruby/bin目錄下即可。
linux下安裝方法:
sudo apt-get install sqlite3
如果apt-get 安裝 sqlite3后gem安裝仍失敗請參考http://rubyer.me/blog/738 來編譯安裝sqlite3
OK,現在可以創建項目並使用SQLite3了
3、基本命令
使用rails new myproject創建工程后,在myproject/config目錄下有database.yml,其默認使用的是sqlite3.
如下:
development: adapter: sqlite3 database: db/development.sqlite3 pool: 5 timeout: 5000
打開終端進入到myproject根目錄,編輯development.sqlite3數據庫
#進入db文件夾下面的數據庫development.sqlite3 sqlite3 db/development.sqlite3 #查看該數據庫的表格 .table #創建表格 create table users(id integer primay key, username text); #插入數據 insert into users(username) values('god'); #查看表格中的數據 select * from users;
#查看表的結構: select * from sqlite_master where type="table"; #默認情況下,不會出現紅框中的表頭,需要之前設置,命令為: .header on
#如果只想查看具體一張表的表結構,比如查看emperors表,命令為: select * from sqlite_master where type="table" and name="emperors"; #另外,也可以這樣: sqlite> .schema emperors CREATE TABLE emperors( id integer primary key autoincrement, name text,dynasty text,start_year text);