Step1- Install MySQL MySQL Installation Guide (OS X) Go to MySQL download page (http://dev.mysql.com/downloads/mysql/). Download the DMG archive version. Select the correct installer based on your system. The following description is based on MySQL 5.7.10 for Mac OS X. 1. Open the downloaded image. 1
2. Double-click mysql-5.7.10-osx10*.pkg to start the MySQL installation process. The default setting should be enough. For detailed information, refer to the following page. http://dev.mysql.com/doc/refman/5.7/en/osx-installation-pkg.html 3. If you see the following pop-up, please write down the password information somewhere before continuing. The password is generated randomly so that you need to keep yours, not this one. 2
4. After rebooting the machine, visit System Preferences and you will see MySQL in the very bottom of the window. Double click the icon. You can start MySQL server by clicking Start MySQL Server button. The status will be changed from stopped to running. Now, the MySQL Server instance is running. If you want to automatically start it whenever the machine is up, check Automatically Start MySQL Server on Startup. If you prefer to use the command line, you can start or stop the MySQL Server instance by executing the following commands: Shell> sudo /usr/local/mysql/support-files/mysql.server start Shell> sudo /usr/local/mysql/support-files/mysql.server stop 3
5. Once you started MySQL, open a terminal and execute the following command. You can put the part yournewpassword as a blank. Then, the root account will not have a password. You need to execute this step before installing MySQL WorkBench. $ /usr/local/mysql/bin/mysql u root p Enter password: type your temporary password here and press Enter. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.7.10 Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'yournewpassword'; Query OK, 0 rows affected (0.01 sec) mysql> exit Bye 6. Execute the following command to check your new password. $ /usr/local/mysql/bin/mysql u root -p 4
Step2- Install MySQL Workbench 1. Download the MySQL workbench by visiting the download site (http://dev.mysql.com/downloads/workbench/). Download the DMG archive version. Select the correct installer based on your system. 2. Open the image that you just downloaded. You will see the following. 3. Drag the MySQL Workbench icon to the Applications folder. 5
4. In the Applications folder, you can see the MySQLWorkbench.app. Execute it. 5. The following window will appear. Click on the + sign to set up a new connection. If you can see the default connection, you can use it instead of creating a new one. 6. Give the connection a name (e.g., cs122a_project). Put the root password if you have. If it is a blank, then you don t need to provide the password. 6
7. Click on Test Connection and type in your password. By default, the password is not set. Therefore, you do not need to provide any password. You will see the following message window. Click OK. 8. Click OK to close the Setup New Connection window. Now, you should see the new connection that you just created. Double click it to start. 7
Step3- Create a Database and Tables, and Insert tuples Given below is the schema for the example data. There are three tables. - Boats (bid, bname, color) - Reserves (sid, bid, date) - Sailors (sid, sname, rating, age) The field types are as follows: bid: INTEGER, bname: VARCHAR, color: VARCHAR, sid: INTEGER, bid: INTEGER, date: date, sname: VARCHAR, rating: INTEGER, age: DECIMAL Also, there are Boats2, Reserves2, and Sailors2 table. These will contain slightly different data on the same schema to help you to practice SQL statements. The following scripts will be used to create the schema named cs122a, three tables, and populate some data. The script is also available on the class Web page. -- The Begin of the script CREATE DATABASE IF NOT EXISTS `cs122a` DEFAULT CHARACTER SET latin1; USE `cs122a`; -- Table structure for table `Boats` DROP TABLE IF EXISTS `Boats`; CREATE TABLE `Boats` ( `bid` int(11) NOT NULL, `bname` varchar(45) DEFAULT NULL, `color` varchar(15) DEFAULT NULL, PRIMARY KEY (`bid`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- Dumping data for table `Boats` ALTER TABLE `Boats` DISABLE KEYS; INSERT INTO `Boats` VALUES (101,'Interlake','blue'),(102,'Interlake','red'),(103,'Clipper','green'),(104,'Marine','red'); ALTER TABLE `Boats` ENABLE KEYS; -- Table structure for table `Boats2` DROP TABLE IF EXISTS `Boats2`; CREATE TABLE `Boats2` ( 8
`bid` int(11) NOT NULL, `bname` varchar(45) DEFAULT NULL, `color` varchar(15) DEFAULT NULL, PRIMARY KEY (`bid`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- Dumping data for table `Boats2` ALTER TABLE `Boats2` DISABLE KEYS; INSERT INTO `Boats2` VALUES (103,'Clipper','green'),(104,'Marine','red'),(105,'InterClipper','blue'),(106,'InterMarine','red'); ALTER TABLE `Boats2` ENABLE KEYS; -- Table structure for table `Reserves` DROP TABLE IF EXISTS `Reserves`; CREATE TABLE `Reserves` ( `sid` int(11) DEFAULT NULL, `bid` int(11) DEFAULT NULL, `date` date DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- Dumping data for table `Reserves` ALTER TABLE `Reserves` DISABLE KEYS; INSERT INTO `Reserves` VALUES (22,101,'1998-10-10'),(22,102,'1998-10-10'),(22,103,'1998-10-08'),(22,104,'1998-10-07'),(31,102,'1998-11-10'),(31,103,'1998-11-06'),(31,104,'1998-11- 12'),(64,101,'1998-09-05'),(64,102,'1998-09-08'),(74,103,'1998-09-08'),(NULL,103,'1998-09- 09'),(1,NULL,'2001-01-11'),(1,NULL,'2002-02-02'); ALTER TABLE `Reserves` ENABLE KEYS; -- Table structure for table `Reserves` DROP TABLE IF EXISTS `Reserves2`; CREATE TABLE `Reserves2` ( `sid` int(11) DEFAULT NULL, `bid` int(11) DEFAULT NULL, `date` date DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- Dumping data for table `Reserves2` ALTER TABLE `Reserves2` DISABLE KEYS; INSERT INTO `Reserves2` VALUES (22,103,'1998-10-10'),(22,104,'1998-10-10'),(22,105,'1998-10-08'),(22,106,'1998-10-07'),(31,103,'1998-11-10'),(31,104,'1998-11-06'),(31,105,'1998-11- 12'),(64,104,'1998-09-05'),(64,105,'1998-09-08'),(74,105,'1998-09-08'),(NULL,104,'1998-09- 09'),(108,NULL,'2001-01-11'),(108,NULL,'2002-02-02'); ALTER TABLE `Reserves2` ENABLE KEYS; -- Table structure for table `Sailors` DROP TABLE IF EXISTS `Sailors`; CREATE TABLE `Sailors` ( 9
`sid` int(11) NOT NULL, `sname` varchar(45) NOT NULL, `rating` int(11) DEFAULT NULL, `age` decimal(5,1) DEFAULT NULL, PRIMARY KEY (`sid`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- Dumping data for table `Sailors` ALTER TABLE `Sailors` DISABLE KEYS; INSERT INTO `Sailors` VALUES (22,'Dustin',7,45.0),(29,'Brutus',1,33.0),(31,'Lubber',8,55.5),(32,'Andy',8,25.5),(58,'Rusty',10,35.0 ),(64,'Horatio',7,35.0),(71,'Zorba',10,16.0),(74,'Horatio',9,35.0),(85,'Art',4,25.5),(95,'Bob',3,63.5), (101,'Joan',3,NULL),(107,'Johannes',NULL,35.0); ALTER TABLE `Sailors` ENABLE KEYS; -- Table structure for table `Sailors2` DROP TABLE IF EXISTS `Sailors2`; CREATE TABLE `Sailors2` ( `sid` int(11) NOT NULL, `sname` varchar(45) NOT NULL, `rating` int(11) DEFAULT NULL, `age` decimal(5,1) DEFAULT NULL, PRIMARY KEY (`sid`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- Dumping data for table `Sailors2` ALTER TABLE `Sailors2` DISABLE KEYS; INSERT INTO `Sailors2` VALUES (22,'Dustin',7,45.0),(31,'Lubber',8,55.5),(64,'Horatio',7,35.0),(71,'Zorba',10,16.0),(74,'Horatio',9,3 5.0),(85,'Art',4,25.5),(95,'Bob',3,63.5),(101,'Joan',3,NULL),(107,'Johannes',NULL,35.0),(108,'Sand y',null,36.0),(109,'james',5,38.0); ALTER TABLE `Sailors2` ENABLE KEYS; -- The end of the script 10
1. In Query 1, copy and the paste the above script. If you can t see Query 1 tab, create one by clicking File -> New Query Tab. Execute the script by clicking the thunder shaped icon. 2. In the left pane, click Refresh button and you will see the cs122a schema and its Tables. 11
Step4- SQL queries 1. In order to form queries, type in the query in the Query tab and click on the thunder shaped icon. You can execute the following query by choosing File -> New Query Tab, type SELECT * FROM cs122a.boats;, and then click on the thunder shaped icon. You will see your results in the box below. 2. You can export the result into a CSV file. 12