I am working on Mac OS X,
I want to create a new SQLite DB, and
I am using http://www.sqlite.org/quickstart.html as a reference.
I am entering: sqlite3 test.db
and getting the response:
SQLite version 3.6.12
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
Why is this happening?
It worked. Quit out and test - the database has been created.
You are now in the SQLite shell, and it is ready to receive commands like CREATE TABLE..., INSERT INTO..., etc.
If you would prefer not to use the interactive shell, you can build your schema straight from the command line:
sqlite3 test.db "CREATE TABLE ..."
Or just create an empty database with no schema:
sqlite3 test.db ""
But that's the same as just creating an empty file, anyway:
touch test.db
Because that is the administrative shell prompt. The shell created test.db and is now waiting for you to do something with it thus the sqlite> prompt you see.
You may want to create table ... at this point.
so it is fine. you are prompted to enter commands. create table, insert, select. have fun!
You're being taken to the SQLite prompt (where you can create tables, add data, etc.). Nothing appears out of the ordinary based on what you've posted.
Related
When I use the .read FILENAME command in sqlite it will read commands from a .sql file no problem
but when that file contains further .read FILENAME commands sqlite will not read those files.
It seems like the .read FILENAME command can only be used in the command line.
So Am I meant to place all my table creation commands in the one file?
if so what sort of craziness is that?
PS I am using command line SQLite for purposes of getting my database schema sorted before using sqlite with a programming language.
Yes, dot-commands like .read are part of the sqlite3 shell and not a feature of SQL as recognized by sqlite. The .read command just executes the SQL in the file, it does not execute it as a sqlite3 command shell file.
So Am I meant to place all my table creation commands in the one file?
That seems like a reasonable thing to do, especially since later at this point:
PS I am using command line SQLite for purposes of getting my database schema sorted before using sqlite with a programming language.
... you won't have sqlite3 shell available at all and are restricted to SQL only.
I've just started using SQLite, following the tutorials here and I'm using this on windows. I've got sqlite3.exe extracted to a folder on my desktop, and am running the following line in a command prompt to test it:
sqlite3 test.db
which the official documentation claims should create a file called test.db to work with. However, it doesn't appear to be doing anything, no files are created and it gives no errors or success messages, just another sqlite> prompt. Am I missing something to get this working on windows 7? Thanks.
If the database file does not exist, SQLite starts with an empty database.
The file itself will not be created until you actually write to the database.
Try creating something:
CREATE TABLE Test(some stuff);
I have a sqlite file but I don't know what tables there are in it and thus I can't use a SELECT query.
So, is there a way to know what table are in it ?
P.S. I am under Ubuntu Linux and I have already installed sqlite3 from shell.
You can open the database using sqlite3 using:
sqlite3 <databasefile>
Once in the sqlite3 shell you can simply type:
.tables
to see a list of all the tables.
You can see the table structure of a particular table using:
.schema <tablename>
You can also omit the table name to see the schema for the whole database.
Information about these commands and more can be seen by typing:
.help
I have used SQLIte3 to create databases and then added tables to it. Then i closed the terminal and reopened it.
I typed the command sqlite3, and typed select * from tableName; It says the table is not found.
Think i have to select the database first and then type the above select statement to work. So how can i do that ?
SQL commands like show databases; is not recognized.
You have to write sqlite3 DB_NAME on terminal to open database. Then you can see sqlite prompt like sqlite3> You can enter command select * from tableName there, so that your tables will be listed. You can also try .schema command to see the schema of your data base. Refer the site http://www.sqlite.org/ for more details.
You can use SQLite Manager firefox add-on to view sqlite database, table and execute query there.
I'm trying to view my firefox cookies db (cookies.sqlite). Since I've never accessed dbs with anything other than phpmyadmin, I'm at a loss as to how to view the content of this sqlite file. There's localhost/sqlitemanager, but I'd rather stick to the phpmyadmin interface that I'm used to.
Any ideas how I can open/view this sqlite db the normal way in phpmyadmin? Is it possible?
Thanks in advance
P.S. I know that browser cookies are very commonly accessed/played with. If you know another tool that's more specific for this goal, please drop me an answer or suggest in the comments.
There are also several web interfaces for sqlite.
phpSQLiteAdmin
SQLiteManager
Simple SQLite Manager
SQLite Admin
WizSQLiteAdmin
ezSqliteAdmin
SQLiteWebAdmin
knoda
I have not yet tried any of them - in fact, I found this SO question while researching sqlite web front-ends for my own use. But I, too, come from a phpMyAdmin background, so the first one I plan to try is phpSQLiteAdmin.
I imagine there are various GUI programs that will hold your hand. However, I'm going to show you what I would do if I was interested in table moz_cookies in db cookies.sqlite.
$
$ sqlite3 cookies.sqlite
SQLite version 3.5.9
Enter ".help" for instructions
sqlite> .schema
CREATE TABLE moz_cookies (id INTEGER PRIMARY KEY, name TEXT, value TEXT, host TEXT, path TEXT,expiry INTEGER, lastAccessed INTEGER, isSecure INTEGER, isHttpOnly INTEGER);
sqlite> select * from moz_cookies limit 1;
1248713741170186|PREF|ID=12d44375be9e7c86:U=d07dae1b87f4537c:LD=en:NR=100:TM=1248713740:LM=1254091506:FV=2:IG=3:S=Jdo_PXt92J5ojL6E|.google.com|/|1317163505|1255144201180851|0|0
sqlite>
You may want the sqlite3 CLI program. It is available on Unix and Windows.
SQLITE3(1) SQLITE3(1)
NAME
sqlite3 - A command line interface for SQLite version 3
SYNOPSIS
sqlite3 [options] [databasefile] [SQL]
SUMMARY
sqlite3 is a terminal-based front-end to the SQLite library that can
evaluate queries interactively and display the results in multiple for‐
mats. sqlite3 can also be used within shell scripts and other applica‐
tions to provide batch processing features.
DESCRIPTION
To start a sqlite3 interactive session, invoke the sqlite3 command and
optionally provide the name of a database file. If the database file
does not exist, it will be created. If the database file does exist,
it will be opened.
It has two categories of operations.
Commands intended directly for the interactive shell begin with .. Anything is an SQL query terminated as usual with ;.
Adminer is a PHPMyAdmin-like system that has support for MySQL, PostgreSQL, SQLite, MS SQL, Oracle, SimpleDB, Elasticsearch, MongoDB, etc.