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);

Rails:Rails使用sqlite3数据库 及数据操作基本命令的更多相关文章

  1. [Sqlite]-->Java采用jdbc联系Sqlite各种特定的工艺数据库的数据操作

    引:     1, Sqlite在Windows.Linux 和 Mac OS X 上的安装过程     2.嵌入式数据库的安装.建库.建表.更新表结构以及数据导入导出等等具体过程记录     3,嵌 ...

  2. Python数据库之数据操作

    一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的 ...

  3. 数据库-mysql数据操作

    一:mysql 数据的插入 语法 以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法: INSERT INTO table_name ( field1, field2,...f ...

  4. 例子 使用sqlite3 数据库建立数据方式

    #!/usr/bin/env python#coding:utf-8import sqlite3#建立一个数据库cx = sqlite3.connect("E:/test.db") ...

  5. notepad++ 文本替换功能,解决excel批量修改数据库的数据操作

    ^ \(' 开始\t ',' 制表符$ '\) 行末 复制出来之后,使用文本替换功能,转换为SQL,添加到临时表中.然后多表关联修改. SELECT COUNT(*) FROM orderno; # ...

  6. SQL不同服务器数据库之间的数据操作整理(完整版)

    ---------------------------------------------------------------------------------- -- Author : htl25 ...

  7. SQLServer服务器数据库之间的数据操作(完整版)

    分类: 数据库开发技术 ---------------------------------------------------------------------------------- -- Au ...

  8. 转载-SQL不同服务器数据库之间的数据操作整理(完整版) .

    ---------------------------------------------------------------------------------- -- Author : htl25 ...

  9. python对MySQL进行数据的插入、更新和删除之后需要commit,数据库才会真的有数据操作。(待日后更新)

    今天在尝试用下面的python代码对MySQL进行数据的插入.更新和删除时, 突然发现代码执行成功, 通过代码查询也显示数据已经插入或更新, 但是当我在MySQL客户端通过SQL语句查询时, 数据库中 ...

随机推荐

  1. 百度竞价推广URL通配符使用说明

    {keywordid} 被替换为触发该创意的关键词ID(全局唯一ID,不是字面ID),当没有对应的keywordid时,替换为0. {creative} 被替换为所点击的创意ID(全局唯一ID). 2 ...

  2. ADO.Net连接Mysql

    首先下载一个mysql.data.dll拷贝到bin下面并引用一下 using MySql.Data.MySqlClient; class Program { static void Main(str ...

  3. POJ 2482 Stars in Your Window (线段树区间合并+扫描线)

    这题开始一直被矩形框束缚了,想法一直都是枚举线,但是这样枚举都需要O(n^2)...但是看了别人的思路,感觉这题思想真心很好(PS:开头好浪漫的描述啊,可惜并没有什么用)  题意就是在平面上给你一些星 ...

  4. Ubuntu 16.04 安装 RabbitMQ

    Ubuntu 16.04 安装 RabbitMQ(注意,服务器安全组需要添加15672 和5672端口) #1 更新 $ sudo apt-get update$ sudo apt-get upgra ...

  5. Jboss remote getshell (JMXInvokerServlet) vc版

    #include "stdafx.h" #include <Windows.h> #include <stdio.h> #include <winht ...

  6. Qt5.3.2_vs10_发布时所需DLL的路径

    1. ???\Qt5.3.2_vs2010\5.3\msvc2010_opengl\bin 2.

  7. Angular中文api

    Angular中文api:http://docs.ngnice.com/api

  8. c# 判断一个ip通不通 能不能ping通

    方法一: 已经证实能用的. using System; using System.Collections.Generic; using System.ComponentModel; using Sys ...

  9. Codeforces 938E Max History:排列 + 逆元【考虑单个元素的贡献】

    题目链接:http://codeforces.com/problemset/problem/938/E 题意: 定义f(a): 初始时f(a) = 0, M = 1. 枚举i = 2 to n,如果a ...

  10. uva11729 - Commando War(贪心)

    贪心法,执行任务的时间J越长的应该越先交待.可以用相邻交换法证明正确性.其实对于两个人,要让总时间最短,就要让同一时间干两件事的时间最长. #include<iostream> #incl ...