Relational Databases for Biologists
Session 1: Data Conceptualization and
Database Design
Goals: Learn how
to access a MySQL database and look at table structure and content. From your
Hebrides.wi.mit.edu account, access a MySQL database.
See
/education/bioinfo2005/db4bio/ for course page
See http://www.mysql.com/documentation for
MySQL documentation
1. From the
terminal on your laptop, connect to Hebrides using the secure shell (ssh)
command:
ssh
–l username hebrides.wi.mit.edu
and
youÕll be prompted for your password.
2. Type pwd
(Òprint working directoryÓ) to find your home directory on Hebrides. In the
future you may be creating and accessing new directories. If you ever get lost,
typing cd (Òchange directoryÓ) will bring you back to your home directory.
Another very common Unix command is ls (ÒlistÓ) to list the files in the
current directory.
3. To access My
SQL on Hebrides, use the command:
mysql
–u username –p – D database
with the
following options:
-u username
(replace with your MySQL username –[not necessarily your Hebrides
username])
-p password
(you will be prompted for your password)
-D database
(This takes you directly to the database weÕll be using)
4. Important
notes: if youÕre logged in to MySQL, you should get the MySQL command prompt:
mysql>
so if you donÕt
see this, youÕre not logged into the database. Keep in mind that every MySQL
command must end with a semicolon. This also means that you can split up a long
command into several lines. If you donÕt get the MySQL command prompt back
after youÕve entered a command, like
mysql > show databases
->
thereÕs a good
chance you forgot the semicolon. Add it on any subsequent line and your command
will be processed.
5. Find out what
databases are on the system:
mysql
> show databases;
6. To access one
of these databases:
mysql
> use database;
where ÒdatabaseÓ
is replaced with the name of the one youÕd like to access. In this case, enter
the database Òdb4bioÓ.
7. To get a list
of tables in this database:
mysql
> show tables;
8. To get a
description of data fields and types in a table:
mysql
> describe table;
where ÒtableÓ is
replaced with the one youÕd like to access.
9. To look at
some of the data in this table, use a general ÒSELECTÓ command. Since these
tables are large, youÕll want to limit the number of rows (tuples) in your
query to 5 or so:
mysql
> SELECT * from ________ LIMIT 5;
10. [Optional]
Create a file containing the query and use Unix redirection to save the output
of the query into another file.
a.
Exit from MySQL: quit
b.
Create a directory (ÒdbclassÓ) and switch into it: mkdir dbclass; cd dbclass;
c.
Create a text file called query1.sql
To
do this with pico, a simple text editor, type pico
query1.sql
Type
the query from step 9 in the editor and save it with the ^x (Control-x)
command.
d.
Back in the shell, to your MySQL login command, add the SQL file (query1.sql)
as input and the file query1.out as output all on one line.
mysql
–u username –p –D db4bio < query1.sql > query1.out
e.
View the outputfile: more
query1.out