2 Road Map Introduction to MySQL Connecting and Disconnecting
Entering Basic Queries Creating and Using a Database
3 MySQL MySQL is a very popular, open source database.
Officially pronounced “my Ess Que Ell” (not my sequel). Handles very large databases; very fast performance. Why are we using MySQL? Free (much cheaper than Oracle!) Can be installed MySQL. Easy to use Shell for creating tables, querying tables, etc. Easy to use with Java JDBC
4 Connecting to MySQL MySQL provides an interactive shell for creating tables, inserting data, etc. On Windows, just go to c:\mysql\bin, and type: mysql Or, click on the Windows icon
5 Sample Session For example:
Enter password: ***** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 241 to server version: Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> To exit the MySQL Shell, just type QUIT or EXIT: mysql> QUIT mysql> exit
6 Basic Queries Once logged in, you can try some simple queries.
For example: mysql> SELECT VERSION(), CURRENT_DATE; | VERSION() | CURRENT_DATE | | | | 1 row in set (0.00 sec) Note that most MySQL commands end with a semicolon (;) MySQL returns the total number of rows found, and the total time to execute the query.
7 Basic Queries Keywords may be entered in any lettercase.
The following queries are equivalent: mysql> SELECT VERSION(), CURRENT_DATE; mysql> select version(), current_date; mysql> SeLeCt vErSiOn(), current_DATE;
8 Basic Queries Here's another query. It demonstrates that you can use mysql as a simple calculator: mysql> SELECT SIN(PI()/4), (4+1)*5; | SIN(PI()/4) | (4+1)*5 | | | |
9 Basic Queries You can also enter multiple statements on a single line. Just end each one with a semicolon: mysql> SELECT VERSION(); SELECT NOW(); | VERSION() | | a-log | | NOW() | | :15:33 |
10 Multi-Line Commands mysql determines where your statement ends by looking for the terminating semicolon, not by looking for the end of the input line. Here's a simple multiple-line statement: mysql> SELECT -> USER() -> , -> CURRENT_DATE; | USER() | CURRENT_DATE | | | |
11 Canceling a Command If you decide you don't want to execute a command that you are in the process of entering, cancel it by typing \c mysql> SELECT -> USER() -> \c mysql>
12 Using a Database To get started on your own database, first check which databases currently exist. Use the SHOW statement to find out which databases currently exist on the server: mysql> show databases; | Database | | mysql | | test | 2 rows in set (0.01 sec)
13 Using a Database To create a new database, issue the “create database” command: mysql> create database webdb; To the select a database, issue the “use” command: mysql> use webdb;
14 Creating a Table Once you have selected a database, you can view all database tables: mysql> show tables; Empty set (0.02 sec) An empty set indicates that I have not created any tables yet.
15 Creating a Table Let’s create a table for storing pets. Table: pets
name: VARCHAR(20) owner: VARCHAR(20) species: VARCHAR(20) sex: CHAR(1) birth: DATE date: DATE VARCHAR is usually used to store string data.
16 Creating a Table To create a table, use the CREATE TABLE command:
mysql> CREATE TABLE pet ( -> name VARCHAR(20), -> owner VARCHAR(20), -> species VARCHAR(20), -> sex CHAR(1), -> birth DATE, death DATE); Query OK, 0 rows affected (0.04 sec)
17 Showing Tables To verify that the table has been created:
mysql> show tables; | Tables_in_test | | pet | 1 row in set (0.01 sec)
18 Describing Tables To view a table structure, use the DESCRIBE command:
mysql> describe pet; | Field | Type | Null | Key | Default | Extra | | name | varchar(20) | YES | | NULL | | | owner | varchar(20) | YES | | NULL | | | species | varchar(20) | YES | | NULL | | | sex | char(1) | YES | | NULL | | | birth | date | YES | | NULL | | | death | date | YES | | NULL | | 6 rows in set (0.02 sec)
19 Deleting a Table To delete an entire table, use the DROP TABLE command: mysql> drop table pet; Query OK, 0 rows affected (0.02 sec)
20 Loading Data Use the INSERT statement to enter data into a table.
For example: INSERT INTO pet VALUES ('Fluffy','Harold','cat','f', ' ',NULL); The next slide shows a full set of sample data.
21 More data… name owner species sex birth death Fluffy Harold cat f
Claws Gwen m Buffy dog Fang Benny Bowser Diane Chirpy bird Whistler Slim snake
22 Loading Sample Data You could create a text file `pet.txt' containing one record per line. Values must be separated by tabs, and given in the order in which the columns were listed in the CREATE TABLE statement. Then load the data via the LOAD DATA Command.
23 Sample Data File Fluffy Harold cat f 1993-02-04 \N
Claws Gwen cat m \N Buffy Harold dog f \N Fang Benny dog m \N Bowser Diane dog m Chirpy Gwen bird f \N Whistler Gwen bird \N \N Slim Benny snake m \N To Load pet.txt: mysql> LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;