This library allows Ruby programs to use the SQLite3 database engine (http://www.sqlite.org).
Note that this module is only compatible with SQLite 3.6.16 or newer.
- Source code: https://github.com/sparklemotion/sqlite3-ruby
- Mailing list: http://groups.google.com/group/sqlite3-ruby
- Download: http://rubygems.org/gems/sqlite3
- Documentation: http://www.rubydoc.info/gems/sqlite3
For help understanding the SQLite3 Ruby API, please read the FAQ and the full API documentation.
A few key classes whose APIs are often-used are:
If you have any questions that you feel should be addressed in the FAQ, please send them to the mailing list or open a discussion thread.
require "sqlite3"
# Open a database
db = SQLite3::Database.new "test.db"
# Create a table
rows = db.execute <<-SQL
create table numbers (
name varchar(30),
val int
);
SQL
# Execute a few inserts
{
"one" => 1,
"two" => 2,
}.each do |pair|
db.execute "insert into numbers values ( ?, ? )", pair
end
# Find a few rows
db.execute( "select * from numbers" ) do |row|
p row
end
# => ["one", 1]
# ["two", 2]
# Create another table with multiple columns
db.execute <<-SQL
create table students (
name varchar(50),
email varchar(50),
grade varchar(5),
blog varchar(50)
);
SQL
# Execute inserts with parameter markers
db.execute("INSERT INTO students (name, email, grade, blog)
VALUES (?, ?, ?, ?)", ["Jane", "me@janedoe.com", "A", "http://blog.janedoe.com"])
db.execute( "select * from students" ) do |row|
p row
end
# => ["Jane", "me@janedoe.com", "A", "http://blog.janedoe.com"]
If you're having trouble with installation, please first read INSTALLATION.md
.
You can ask for help or support:
- by emailing the sqlite3-ruby mailing list
- by opening a discussion thread on Github
You can file the bug at the github issues page.
See CONTRIBUTING.md
.
This library is licensed under BSD-3-Clause
, see LICENSE
.
The source code of sqlite
is distributed in the "ruby platform" gem. This code is public domain, see LICENSE-DEPENDENCIES
for details.