Go to your home directory on storm.cis.fordham.edu
and create a subdirectory named
sqlite.
Go there and download the \daquo;comma-separated values” files
students.csv
and
majors.csv.
cd pwd mkdir sqlite3 ls -ld sqlite3 cd sqlite3 pwd wget https://markmeretzky.com/fordham/1100/src/students.csv ls -l students.csv wget https://markmeretzky.com/fordham/1100/src/majors.csv ls -l majors.csv
Create a database.
In the database, create two tables.
In the students table, create 19 records (rows).
In the majors table, create 12 records.
sqlite3 displays a prompt that looks like this:
sqlite3>
Some sqlite3 commands end with a semicolon.
Other sqlite3 commands begin with a period.
sqlite3 -version
sqlite3 -help
sqlite3 database.db (Create a database file named database.db)
SQLite version 3.33.0 2020-08-14 13:23:32
Enter ".help" for usage hints.
sqlite> create table students (
fordhamid text,
lastname text,
firstname text,
major text
);
sqlite> create table majors (
major text,
fullname text
);
sqlite> .tables
students
majors
sqlite> .schema students
sqlite> .schema majors
sqlite> .mode csv
sqlite> .show
echo: off
eqp: off
explain: auto
headers: off
mode: csv
nullvalue: ""
output: stdout
colseparator: ","
rowseparator: "\r\n"
stats: off
width:
filename: database.db
sqlite> .import students.csv students
sqlite> .import majors.csv majors
sqlite> select count(*) from students;
19
sqlite> select count(*) from majors;
12
sqlite> select * from students;
ab98,Buoninfante,Armando,XECO
jc208,Chen,Jake,INTS
ac98,Cuadros,Ana,PSYC
etc.
sqlite> .headers on
sqlite> .mode column
sqlite> .show
sqlite> select * from students;
fordhamid lastname firstname major
---------- ----------- ----------- -----
ab98 Buoninfante Armando XECO
jc208 Chen Jake INTS
ac98 Cuadros Ana PSYC
etc.
sqlite> select * from majors;
major fullname
----- --------------------------
BIOC Biochemistry
GLBU Global Business
INTS Information Tech & Systems
etc.
sqlite> select count(*) from students; sqlite> select count(*) from students where major = "PSYC"; sqlite> select firstname, lastname from students where major = "PSYC"; sqlite> select firstname, lastname from students where major = "PSYC" and firstname like "S%";
The following
join
command makes sqlite3
behave as if there was another table, with five columns.
We print out this new table below.
Each row of this new table contains the four
columns from a row in the
students
table,
plus the last column from the row in the majors
table whose first column matches the last column of the row from
the first table.
sqlite> select fordhamid, firstname, lastname, students.major, fullname from students join majors on students.major = majors.major; fordhamid firstname lastname major fullname ---------- ----------- ----------- ----- -------------------------- ab98 Armando Buoninfante XECO Economics jc208 Jake Chen INTS Information Tech & Systems ac98 Ana Cuadros PSYC Psychology etc.
sqlite> .quit ls -l database.db (See if sqlite3 created a new file named database.db)
If you want to turn on
sqlite3
again,
remember to go to the
sqlite3
subdirectory of your home directory first,
and give the argument
database.db
to the sqlite3
command.
cd cd sqlite3 pwd sqlite3 database.db