Rails:Rails使用sqlite3数据库 及数据操作基本命令
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);