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. firefox和chrome实现页面打印自动分页

    在Firefox和chrome中直接调用打印功能的js方法是 window.print(); 但是如果页面很长,那么就需要分页,这时只需要在页面中添加css属性即可,如果想自动分页,则如下所示 < ...

  2. springcloud-Api网关服务Zuul

    springcloud项目例子:链接:https://pan.baidu.com/s/1O1PKrdvrq5c8sQUb7dQ5Pg 密码:ynir 1.由来: 如果我的微服务中有很多个独立服务都要对 ...

  3. Flume具体应用(多案例)

    日志采集 对于flume的原理其实很容易理解,我们更应该掌握flume的具体使用方法,flume提供了大量内置的Source.Channel和Sink类型.而且不同类型的Source.Channel和 ...

  4. hdu 5895 Mathematician QSC 指数循环节+矩阵快速幂

    Mathematician QSC Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Othe ...

  5. wab框架

    http协议 一.http简介        1.HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等).       2.HTTP是一个属于应用层的面向对象的协 ...

  6. Spring Boot入门——json数据处理

    1.引入fastJson插件 <!-- 引入fastjson插件 --> <dependency> <groupId>com.alibaba</groupId ...

  7. 代码题 — 剑指offer题目、新增题目

     1.剪绳子 给你一根长度为n的绳子,请把绳子剪成m段 (m和n都是整数,n>1并且m>1)每段绳子的长度记为k[0],k[1],...,k[m].请问k[0]*k[1]*...*k[m] ...

  8. python中常用的文件和目录操作(二)

    一. os模块概述 python os模块提供了非常丰富的方法用来处理文件和目录 二. 导入os模块: import os 三. 常用方法 1. os.name 输出字符串表示正在使用的平台,如果是w ...

  9. javascript ArrayBuffer类型化数组和视图的操作

    个人理解类型化数据就是内存分配区域,不同数据的存储就是视图DataView咯 var buffers = []; var json = {"id":100, "name& ...

  10. sklearn.preprocessing.StandardScaler 离线使用 不使用pickle如何做

    Having said that, you can query sklearn.preprocessing.StandardScaler for the fit parameters: scale_ ...