Databases: MySQL Introduction
|
|
|
- Christian Patrick West
- 9 years ago
- Views:
Transcription
1 Databases: MySQL Introduction
2 How to Use this User Guide This handbook accompanies the taught sessions for the course. Each section contains a brief overview of a topic for your reference and then one or more exercises. Exercises are arranged as follows: A title and brief overview of the tasks to be carried out; A numbered set of tasks, together with a brief description of each; A numbered set of detailed steps that will achieve each task. Some exercises, particularly those within the same section, assume that you have completed earlier exercises. Your teacher will direct you to the location of files that are needed for the exercises. If you have any problems with the text or the exercises, please ask the teacher or one of the demonstrators for help. This book includes plenty of exercise activities more than can usually be completed during the hands-on sessions of the course. You should select some to try during the course, while the teacher and demonstrator(s) are around to guide you. Later, you may attend follow-up sessions at IT Learning Programme (ITLP) called Computer8, where you can continue work on the exercises, with some support from IT teachers. Other exercises are for you to try on your own, as a reminder or an extension of the work done during the course. Text Conventions A number of conventions are used to help you to be clear about what you need to do in each step of a task. In general, the word press indicates you need to press a key on the keyboard. Click, choose or select refer to using the mouse and clicking on items on the screen. If you have more than one mouse button, click usually refers to the left button unless stated otherwise. Names of keys on the keyboard, for example the Enter (or Return) key are shown like this ENTER. Multiple key names linked by a + (for example, CTRL+Z) indicate that the first key should be held down while the remaining keys are pressed; all keys can then be released together. Words and commands typed in by the user are shown like this. Labels and titles on the screen are shown like this. Drop-down menu options are indicated by the name of the options separated by a vertical bar, for example File Print. In this example you need to select the option Print from the File menu or tab. To do this, click when the mouse pointer is on the File menu or tab name; move the pointer to Print; when Print is highlighted, click the mouse button again. A button to be clicked will look like this. The names of software packages are identified like this, and the names of files to be used like this. IT Learning Programme 2
3 Software Used Files Used XAMPP Revision Information Copyright Version Date Author Changes made 1.0 Sep 2013 Mohammad Yaqub Creation of the text 1.1 Mar 2014 Mohammad Yaqub Update some text and examples 1.2 May 2014 Mohammad Yaqub Further revision to text and exercises 1.3 Sep 2014 Mohammad Yaqub Major revision for the whole book 1.4 Mar 2015 Mohammad Yaqub Minor revision for some exercises 1.5 Jun 2015 Mohammad Yaqub Minor revision to the slides 1.6 Nov 2015 Mohammad Yaqub Minor revision to the slides This document is made available under a Creative Commons Attribution- NonCommercial-ShareAlike CC BY-NC-SA licence by Mohammad Yaqub who asserts his right to be identified as the author. Note that some images used in the document and presentations are copyright of their owners and may be subject to different copyright conditions. Where possible this has been noted in the text. If an error in attribution/copyright has been made, please contact the author who will be pleased to make the necessary corrections. Screenshots are copyright of the respective software suppliers. Acknowledgement Most of the syntax in this book was adopted from 3 IT Learning Programme
4 Contents 1 Introduction What is a Database? What is SQL? MySQL Installation Guide to use MySQL XAMPP phpmyadmin How to Complete the Exercises Setting up MySQL Creating/Editing/Dropping SQL users Creating/Dropping Databases Creating Tables Data Types Primary Key Linking Tables via Primary Foreign Keys Manipulating Data in Tables INSERT Statement UPDATE Statement DELETE Statement Queries SELECT Statement Where Clause Comparisons and Conditions Advanced Queries Sorting Data ORDER BY Clause Querying Multiple Tables Pseudonyms for Table or Column Names Subquery (inner SELECT) The IN Operator Basic String Comparison Functions The BETWEEN Operator Importing and Exporting Migration from/to MySQL Database only IT Learning Programme 4
5 9 What is Next? Explore phpmyadmin Read a book or tutorials about MySQL or SQL in general IT Learning Programme
6 Exercises Exercise 1 Create MySQL users Exercise 2 Create MySQL database Exercise 3 Create MySQL table Exercise 4 Create the other 3 MySQL tables using the import facility. 19 Exercise 5 Create Foreign Key constraints Exercise 6 Insert data to tables Exercise 7 Update data in a table Exercise 8 Delete data from a table Exercise 9 Querying data from a table Exercise 10 Querying specific records Exercise 11 Querying data using conditions Exercise 12 Retrieving sorted records Exercise 13 Querying multiple tables Exercise 14 Querying multiple tables: use primary-foreign keys relationship 33 Exercise 15 Querying multiple tables: use primary-foreign keys relationship 33 Exercise 16 Querying multiple tables: use IN operator Exercise 17 The use of LIKE and NOT LIKE Exercise 18 The use of STRCMP() Exercise 19 Querying data BETWEEN operator IT Learning Programme 6
7 1 Introduction The Structured Query Language (SQL) is the language of databases. SQL was, is, and will stay for the foreseeable future the database language for relational database servers such as IBM DB2, Microsoft SQL Server, MySQL, Oracle, Progress, Sybase Adaptive Server, and dozens of others. SQL supports a small but very powerful set of statements for manipulating, managing, and protecting data stored in a database. This power has resulted in its tremendous popularity. Almost every database server supports SQL or a dialect of the language. Currently, SQL products are available for every kind of computer, from a small handheld computer to a large server, and for every operating system, including Microsoft Windows, Mac and many UNIX variations What is a Database? A database is a structured collection of data that is used by the application systems of some given enterprise, and that is managed by a database management system. For the purpose of this course, think of a database as a collection of tables which are connected to each other. IT Learning Programme (ITLP) in the University of Oxford offers a course on how to design a database. This course is a pre-requisite to this course. However, if you did not attend the database designing course, please read the following paragraphs. As we mentioned, a database is a collection of tables. Each table is similar to a spreadsheet table in which each row is called a record and each column is called a field. For example, if we need to create a table that contains students information, we might have the following fields St_ID St_Name St_DateOfBirth St_ Data can be entered to this table so you can get the following table St_ID St_Name St_DateOfBirth St_ John Smith 21/5/1995 [email protected] Alison Green 5/11/1994 [email protected] Thomas Li 18/7/1998 [email protected] Susan Bailey 14/1/1991 [email protected] Will King 3/3/1997 [email protected] Although this table contains students information, it does not contain each student s grades. This is fine because the grades have to appear in a different table to reduce data redundancy. This is called database normalisation. The grades table might look like Grade_ID St_ID Course_ID Grade_Value Comments 7 IT Learning Programme
8 Notice how the Grades table is linked to the Students table via St_ID which appears in both tables. The field St_ID in the Students table is acting as the primary key which is a unique id to identify each record in the table. The field St_ID in the Grades table is called the foreign key and it links to a primary key in a different table. You might have noticed that there is a field called Course_ID in the Grades table which is another foreign key to identify a grade s course. This means that there must be another table that contains data for different courses. Form the previous simple example you should now have an idea of what we mean by a database. It is important to understand the following concepts: database, table, record, field, primary key, foreign key and data normalisation. Next sections will build on this and focus on SQL and how to use it to build a complete database using MySQL What is SQL? Structured Query Language (SQL) is a relational database language which allows you to create, delete, access and manipulate databases. The following is a list of the main operations that can be formulated with SQL: 1.3. MySQL creating new databases deleting a database creating new tables in a database deleting tables from a database creating and removing users (database access control) executing queries against a database o o o o retrieving data from a database inserting records in a database updating records in a database deleting records from a database creating stored procedures in a database setting permissions on tables and procedures creating relationships between tables MySQL is a Relational Database Management System ( RDBMS ). It is used by most modern websites and web-based services as a convenient and fast-access storage and retrieval solution for large volumes of data. A simple example of items which might be stored in a MySQL database would be a site-registered user s name with associated password (encrypted for security), the user registration date, and number of times visited, etc. MySQL can also be accessed using many tools. It can be easily communicated with via PHP (PHP Hypertext Preprocessor), a scripting language whose primary focus is to manipulate HTML for a webpage on the server before it is delivered to a client s machine. A user can submit queries to a database via PHP, allowing insertion, retrieval and manipulation of information into/from the database. IT Learning Programme 8
9 2 Installation Guide to use MySQL 2.1. XAMPP MySQL can be downloaded from There are also several MySQL management tools which can be downloaded and installed to allow the manipulation of MySQL. These tools mainly provide an interface to operate on MySQL. Many of these tools are free and provide an easy configuration of MySQL with PHP, e.g., XAMPP, WampServer, AMPPS. Another free MySQL management system is MySQL workbench. It provides database administrators and developers an integrated environment for database design and modelling, SQL development, database administration, database migration. In this course we will be using XAMPP because it is straightforward to install and use. XAMPP is a freely available software package which integrates distributions for Apache web server, MySQL, PHP and Perl into one easy installation. If you wish to set up a web server on your home computer, this is the recommended route. We will be using XAMPP for the purposes of this course. The teacher will guide through the process of installing XAMPP in the class phpmyadmin Also included within XAMPP is phpmyadmin, a web-based frontend ( graphical interface ) for MySQL, allowing queries to be submitted via mouse clicks in a web browser or by writing these queries in the SQL box inside phpmyadmin. Figure 1 shows the main page of phpmyadmin. In the figure you can see the main tabs which are arranged horizontally at the top. We will use phpmyadmin to verify the results of completed examples during this short-course. When directed to do the exercises in phpmyadmin, you should open your web browser and visit the following URL: FYI, most web hosting companies provide a web hosting control panel called cpanel. cpanel provides a graphical interface and automation tools to simplify web hosting for customers. cpanel has phpmyadmin integrated to its system. cpanel has loads of features like website builders, easy transfer of websites, setup, remote access, etc. For more information see phpmyadmin allows the user to write SQL command from the SQL tab. It also provides a mechanism to import SQL command from a file. However, its interface provides other ways to perform tasks using a graphical user interface (GUI). For instance, you can write a command to create a table in your database. You can also achieve this from phpmyadmin GUI. This course focuses on how to write command-line SQL but I encourage you to explore phpmyadmin interface. 9 IT Learning Programme
10 Figure 1. phpmyadmin main page How to Complete the Exercises After Installing XAMPP, you are good to go. You need to open XAMPP control panel (usually in C:/xampp/) and start MySQL. The database in the exercises which you are going to practice today is the same database used in other database courses at the IT Learning Programme. The database is for a surgery called St. Giles Surgery. This database contains 4 tables to hold patients, doctors, receptionists and appointments data. Figure 2 shows a schematic diagram of the database. The figure also shows table names (tblpatient, tbldoctors, tblreceptionist and tblappointment) and field names (or columns) in each table. It also shows the data type for each field (for more information, see section 4.1). The links in the figure reflect the primary-foreign key relationships. The first few exercises will show how to use phpmyadmin to write an SQL statement and how to use its GUI instead. IT Learning Programme 10
11 Figure 2. St. Giles Surgery database structure. 11 IT Learning Programme
12 3 Setting up MySQL For the purpose of today s course, you need to have XAMPP installed and running. You then need to do administrative tasks like creating username and password, granting or revoking permissions, creating a database, etc Creating/Editing/Dropping SQL users It is important to control which users are allowed to connect to the MySQL server and what permissions they are given on what databases. By default, MySQL (within XAMPP) comes with a root admin user with no password. You should set a password for the root user. You should also create and use a different user with possibly limited permissions to what is needed by the user. For instance, it is not wise to use the root user to connect to a MySQL database from a PHP code. It is better if you connect to it using a different user. You can create MySQL users using phpmyadmin by clicking on the Users tab then click on Add user. Enter user name, password and repeated password. You also need to specify that the host is local for the purpose of this course. At the bottom of the page you will find all the permissions which can be granted/revoked from a user. After choosing the required credentials, click on the Add user button. phpmyadmin allows you to drop or edit a user. You can find how to do these from the Users tab. You can also add or delete a user using SQL. The syntax is: CREATE USER user_specification [, user_specification]... DROP USER user_name [, user_name]... For instance, the following two statements add a local MySQL user sqluser with a password test. The second statement drops the user. CREATE USER 'sqluser'@'localhost' IDENTIFIED BY 'test'; DROP USER 'sqluser'@'localhost'; There are several other statements in MySQL which allows other user management functionalities. For more information check GRANT, REVOKE, RENAME and SET PASSWORD statements in NOTE: In any syntax given in this book, we use [.] to refer to an optional part of a statement. For example, in the statement above (Drop USER user_name [, user_name]), the part [, user_name] is optional and it can be omitted. If you include one of the optional clauses in a statement, do not type the [square bracket] symbols. IT Learning Programme 12
13 Exercise 1 Create MySQL users Suggested time to spend on this exercise is 7 minutes NOTE: Make sure that XAMPP/MySQL is running to be able to complete any exercise. Run XAMPP After installing XAMPP, open C:/XAMPP. Then open XAMPP control panel. Click start MySQL from XAMPP control panel. Note that you can stop or configure MySQL from the same control panel. Start phpmyadmin and familiarise yourself with it Open any browser (Chrome is preferred) then type the following in the address bar Localhost/phpmyadmin phpmyadmin has many tabs. Please check these tabs to become familiar with its interface. Also, notice the tree view on the left hand side of phpmyadmin page. This view allows you to access databases/tables faster. Create a MySQL user using phpmyadmin interface Click on the Users tab, click on Add user. Enter user name (sqluser1), password (test) and repeated password (test). From Host, select Local. In the Global privileges panel, Check all the permissions to create an admin user. Then click the Go button. Alternatively, you can create a user by writing a SQL statement. Click on the SQL tab. In the empty box type the following CREATE USER 'sqluser2'@'localhost' IDENTIFIED BY 'test'; Click Go Creating/Dropping Databases Using phpmyadmin, you now need to create a new database. To do that, you need to click on the Databases tab and enter a database name then click Create. phpmyadmin allows the user to delete a database from its interface as well. Alternatively, you can write a SQL code to create/drop a database instead. The syntax is: 13 IT Learning Programme
14 CREATE DATABASE [IF NOT EXISTS] db_name DROP DATABASE [IF EXISTS] db_name Note that to connect to a MySQL database from PHP you need to specify a username, password and database name. Exercise 2 Create MySQL database Suggested time to spend on this exercise is 4 minutes Create a database using phpmyadmin interface From the main window of phpmyadmin, click on the Databases tab. Enter a database name (sqlcourse). Click Create. Alternatively, you can create a database using a SQL statement. Click on the SQL tab. In the empty box type the following CREATE DATABASE IF NOT EXISTS sqlcourse; Notes Click Go. The statement in Task 2 will do nothing as you have already created a database with this name. Notice on the left side of phpmyadmin that the database name appeared. In fact, you can access databases from the left side view (tree view) of phpmyadmin. You can later access all created tables within each database. IT Learning Programme 14
15 4 Creating Tables The CREATE TABLE statement is used to construct new tables, in which rows of data can be stored. Its general syntax is CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (col_name column_definition,...) [table_options] [partition_options] The column_definition is the description of a column in the table. The general format of the column definition is: column_definition: data_type [NOT NULL NULL] [DEFAULT default_value] [AUTO_INCREMENT] [UNIQUE [KEY] [PRIMARY] KEY] [COMMENT 'string'] [COLUMN_FORMAT {FIXED DYNAMIC DEFAULT}] [STORAGE {DISK MEMORY DEFAULT}] [reference_definition] We will be discussing some of these options in the following examples. The most important definition is the data_type which is described in Section Data Types SQL usually supports a number of data types in several categories: numeric types, date and time types, and string (character and byte) types. The most common ones are: INTEGER[(length)] [UNSIGNED] [ZEROFILL] FLOAT[(length,decimals)] [UNSIGNED] [ZEROFILL] DATE TIME CHAR[(length)] [CHARACTER SET charset_name] [COLLATE collation_name] BINARY[(length)] TEXT [BINARY] [CHARACTER SET charset_name] [COLLATE collation_name] MySQL supports much more data types which are variations of the common data types. Here is a list of these data types in MySQL: BIT[(length)] TINYINT[(length)] [UNSIGNED] [ZEROFILL] SMALLINT[(length)] [UNSIGNED] [ZEROFILL] MEDIUMINT[(length)] [UNSIGNED] [ZEROFILL] 15 IT Learning Programme
16 INT[(length)] [UNSIGNED] [ZEROFILL] INTEGER[(length)] [UNSIGNED] [ZEROFILL] BIGINT[(length)] [UNSIGNED] [ZEROFILL] REAL[(length,decimals)] [UNSIGNED] [ZEROFILL] DOUBLE[(length,decimals)] [UNSIGNED] [ZEROFILL] FLOAT[(length,decimals)] [UNSIGNED] [ZEROFILL] DECIMAL[(length[,decimals])] [UNSIGNED] [ZEROFILL] NUMERIC[(length[,decimals])] [UNSIGNED] [ZEROFILL] DATE TIME TIMESTAMP DATETIME YEAR CHAR[(length)] [CHARACTER SET charset_name] [COLLATE collation_name] VARCHAR(length) [CHARACTER SET charset_name] [COLLATE collation_name] BINARY[(length)] VARBINARY(length) TINYBLOB BLOB MEDIUMBLOB LONGBLOB TINYTEXT [BINARY] [CHARACTER SET charset_name] [COLLATE collation_name] TEXT [BINARY] [CHARACTER SET charset_name] [COLLATE collation_name] MEDIUMTEXT [BINARY] [CHARACTER SET charset_name] [COLLATE collation_name] LONGTEXT [BINARY] [CHARACTER SET charset_name] [COLLATE collation_name] ENUM(value1,value2,value3,...) [CHARACTER SET charset_name] [COLLATE collation_name] SET(value1,value2,value3,...) [CHARACTER SET charset_name] [COLLATE collation_name] 4.2. Primary Key The PRIMARY KEY constraint uniquely identifies each record in a database table. It is important to distinguish records in a table. For instance, student ID is used as a unique key for each student in a school. Primary key values must be unique and cannot be NULL. IT Learning Programme 16
17 Exercise 3 Create MySQL table Suggested time to spend on this exercise is 10 minutes Create table tbldoctors Click on the sqlcourse database. You can find it on left side panel that contains all databases. This step is important in every exercise. Without clicking on the database the next step won t work. Alternatively, you can write the following statement instead of clicking on the database to tell SQL that you want to use a specific database. USE sqlcourse; Click on the SQL tab. In the empty box type the following CREATE TABLE tbldoctors ( DoctorID int(11) NOT NULL AUTO_INCREMENT, Title varchar(25) DEFAULT 'Dr', FirstName varchar(20) DEFAULT NULL, LastName varchar(30) DEFAULT NULL, Address1 varchar(50) DEFAULT NULL, Address2 varchar(50) DEFAULT NULL, Address3 varchar(40) DEFAULT NULL, County varchar(20) DEFAULT NULL, PostCode varchar(10) DEFAULT NULL, HomePhone varchar(15) DEFAULT NULL, EmployedNow tinyint(1) DEFAULT 0, PRIMARY KEY (DoctorID), KEY DoctorID (DoctorID), KEY PostCode (PostCode) )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; Click Go. Correct any coding errors that become evident. 17 IT Learning Programme
18 Explanation: The above statement creates a table called tbldoctors with several fields. Please note the following: DEDAULT is used to give a default value for the field when entering a new record. NULL means that the field can be empty. NOT NULL means the opposite. PRIMARY KEY is used to specify the field name which is to be used as a primary key. KEY is normally a synonym for INDEX. This is usually used to identify fields in a table which can be linked to primary keys in other tables. Check Exercise 5. ENGINE=InnoDB: specifies the MySQL database engine as there are several MySQL engines. It is out of the scope of this course to describe these engines. AUTO_INCREMENT: specifies which field is an auto-generated number. AUTO_INCREMENT=1: the first number to start with. CHARSET is a synonym for CHARACTER SET. MySQL allows storing data using a variety of character sets and to perform comparisons according to a variety of collations. For more information search for MySQL charset. Not shown in this example UNIQUE: creates a constraint such that all values in the field must be distinct. However, in most MySQL engines, unique fields can be null. This makes it different from a primary key. IT Learning Programme 18
19 Exercise 4 Create the other 3 MySQL tables using the import facility. So we have the SQL statements already written in a text file called tables.sql. We will import the ready-made SQL statements to create the remaining 3 tables for the purpose of today s course. We are doing this way because I don t want you to keep on typing these statements since we have a limited time to finish the course. So we will practice the import functionality in phpmyadmin which allows importing SQL statements written on a file. For more information check Chapter 8. Suggested time to spend on this exercise is 5 minutes Import an existing SQL file to MySQL database. Make sure you are within the sqlcourse database. NOTE: To edit the file before importing it to MySQL, you can open it using Notepad or any similar text editor. Please let me know if you have any problem. Click on the Import tab and click on the Choose File button. Locate the file tables.sql and click Open. Click the Go button. Note: If you are interested to write the SQL statements instead of importing them, the tables.sql file contains the following CREATE statements. In addition, you should be able to see the created tables in phpmyadmin. 19 IT Learning Programme
20 # First table tblreceptionist. By the way, this is a comment in MySQL. CREATE TABLE tblreceptionist ( ReceptionistID int(11) NOT NULL AUTO_INCREMENT, Title varchar(10) DEFAULT 'Mrs', FirstName varchar(20) DEFAULT NULL, LastName varchar(30) DEFAULT NULL, Address1 varchar(50) DEFAULT NULL, Address2 varchar(50) DEFAULT NULL, Address3 varchar(40) DEFAULT NULL, County varchar(20) DEFAULT 'Oxfordshire', PostCode varchar(10) DEFAULT NULL, HomePhone varchar(15) DEFAULT NULL, Salary decimal(19,4) DEFAULT '0.0000', PRIMARY KEY (ReceptionistID), KEY ReceptionistID (ReceptionistID), KEY PostCode (PostCode) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; # Second table tblpatient CREATE TABLE tblpatient ( PatientID int(11) NOT NULL AUTO_INCREMENT, Title varchar(15) DEFAULT NULL, FirstName varchar(20) DEFAULT NULL, Lastname varchar(30) NOT NULL, Gender varchar(50) DEFAULT 'Female', DOB datetime DEFAULT NULL, Address1 varchar(30) DEFAULT NULL, Address2 varchar(30) DEFAULT NULL, Address3 varchar(30) DEFAULT NULL, County varchar(30) DEFAULT 'Oxfordshire', PostCode varchar(15) NOT NULL, HomePhoneNum varchar(15) DEFAULT NULL, WorkContactNum varchar(15) DEFAULT NULL, Attending School tinyint(1) DEFAULT '0', SchoolID int(11) DEFAULT NULL, PRIMARY KEY (PatientID), KEY HomePhoneNum (HomePhoneNum), KEY Lastname (Lastname,FirstName), KEY PostCode (PostCode), KEY SchoolID (SchoolID), KEY WorkContactNum (WorkContactNum) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; # Third table tblappointment CREATE TABLE tblappointment ( AppointmentID int(11) NOT NULL AUTO_INCREMENT, PatientID int(11) NOT NULL, DoctorID int(11) NOT NULL, ReceptionistID int(11) NOT NULL, TimeAndDatetaken datetime NOT NULL, AppointmentDate date DEFAULT NULL, AppointmentTime time DEFAULT NULL, AppointmentKept tinyint(1) DEFAULT '0', PRIMARY KEY (AppointmentID), KEY DoctorID (DoctorID), KEY AppointmentID (AppointmentID), KEY PatientID (PatientID), KEY ReceptionistID (ReceptionistID) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; IT Learning Programme 20
21 4.3. Linking Tables via Primary Foreign Keys A FOREIGN KEY is a field in one table that points to a PRIMARY KEY in another table. This constraint is important to link tables together. For instance, PatientID field in the tblappointment table is foreign key for the primary key PatientID in the tblpatient table. There are different ways to specify a foreign key. As we have already created our tables, we can alter them to add the foreign key constraints. The syntax is: ALTER TABLE table_name ADD [CONSTRAINT [symbol]] FOREIGN KEY (column_name) REFERENCES the_other_table_name (column_name) [ON DELETE CASCADE] [ON UPDATE CASCADE] PatientID is a primary key in tblpatient PatientID is a foreign key in tblappointment Exercise 5 Create Foreign Key constraints This exercise allows you to create a constraint to a table by creating a primary foreign key constraint. Suggested time to spend on this exercise is 5 minutes Add foreign key constraints ALTER TABLE tblappointment Click on the SQL tab, type the following statement and then click Go: Note: you can find this statement written in the const.sql file so you can import it instead but it is important to understand the syntax. ADD CONSTRAINT FOREIGN KEY (DoctorID) REFERENCES tbldoctors (DoctorID) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT FOREIGN KEY (PatientID) REFERENCES tblpatient (PatientID) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT FOREIGN KEY (ReceptionistID) REFERENCES tblreceptionist (ReceptionistID) ON DELETE CASCADE ON UPDATE CASCADE; Explanation: This is one big statement which adds three constraints to the table tblappointment. CASCADE: on deleting or updating a row from a parent table (e.g., tblpatient), automatically deletes or updates the matching rows in the child table (e.g., tblappointment). 21 IT Learning Programme
22 5 Manipulating Data in Tables Once we got the tables set up with fields and links, we need to enter some data in. Data can be inserted directly using SQL statements or imported from a pre-written file. Remember that data from different formats can be imported, e.g., CSV (e.g., search for Import CSV to MySQL ). In this section, we will be focusing on manipulating data in tables by writing SQL statements INSERT Statement In SQL, you can use the INSERT statement to add rows of data to an existing table. With this statement, you can add new rows or populate a table with rows taken from another table. The basic syntax is: INSERT INTO tbl_name (col_name1, col_name2...) VALUES (val1, val2 ) The general syntax of the INSERT statement which contains more options is: INSERT [LOW_PRIORITY DELAYED HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_name,...)] [(col_name,...)] {VALUES VALUE} ({expr DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_name=expr [, col_name=expr]... ] IT Learning Programme 22
23 Exercise 6 Insert data to tables Suggested time to spend on this exercise is 7 minutes Insert one row to the tbldoctors table Click on the SQL tab. In the empty box type the following and then click Go: INSERT INTO tbldoctors (DoctorID, Title, FirstName, LastName, Address1, Address2, Address3, County, PostCode, HomePhone, EmployedNow) VALUES (1, 'Dr', 'Joe', 'Blowphelt', '12, Hill St', 'Witney', NULL, 'Oxfordshire', 'OX3 5EW', ' ', 1); Import the remaining data to tables Open the file Data.sql using any text editor e.g., Notepad. Spend some time reading the SQL INSERT statements in the file. Import the file Data.sql to the sqlcourse database (user the same steps as in Exercise 4). Check data in phpmyadmin From the left panel of phpmyadmin, click on the sqlcourse database. You should be able to see the 4 tables. Explore the fields and records in each table. Click on the Browse tab to see the data. Click on the Structure tab to show information about each field in a table UPDATE Statement The easiest way to update a value in a table is by viewing the content of a table via phpmyadmin then editing a field to change a specific value. This works well if one cell is to be edited. If many values are needed to get changed then this becomes tedious. The solution to this is to use the UPDATE statement. With the UPDATE statement, you can change one or more values in one or more tables. To achieve this, use the table(s) name to indicate which table needs to be updated and field(s) name to specify which column(s) within the table(s) to update. The WHERE clause of an UPDATE statement specifies which rows must be changed (see Section 6.2); the SET clause assigns new values to one or more columns. The basic and common syntax is UPDATE table_reference SET col_name1={expr1 DEFAULT} [, col_name2={expr2 DEFAULT}]... [WHERE where_condition] The more detailed syntax is: 23 IT Learning Programme
24 UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={expr1 DEFAULT} [, col_name2={expr2 DEFAULT}]... [WHERE where_condition] [ORDER BY...] [LIMIT row_count] Exercise 7 Update data in a table Suggested time to spend on this exercise is 4 minutes Update the salary of a receptionist In the tblreceptionist table, check Sarah Peters salary. It should be You need to change the salary of the receptionist Sarah Peters to To update the salary, write the following SQL statement and click Go : UPDATE tblreceptionist SET Salary=10000 WHERE LastName='Peters' Check if the salary has changed from the tblreceptionist table. NOTE: The WHERE statement is covered in Section 6.2. It is used to specify a subset of records in a table. You can view and update the data using phpmyadmin interface. However, this can be achieved on one row at a time. SQL statements allow you to update multiple rows in one command. Optional questions (discuss the answers with the teacher if you want): What if you have two or more receptionists of last name Peters? Using the previous update statement, what will happen? What happens if we drop the WHERE part from the update statement? 5.3. DELETE Statement The DELETE statement removes rows from a table. A basic syntax for the DELETE statement is: DELETE FROM tbl_name [WHERE where_condition] IT Learning Programme 24
25 A more complete syntax with more options: DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name [WHERE where_condition] [ORDER BY...] [LIMIT row_count] Exercise 8 Delete data from a table Suggested time to spend on this exercise is 5 minutes Before we delete anything, let s insert a new receptionist to the tblreceptionist Insert a receptionist. Table tblreceptionist have several fields. You just need to insert a few fields. The following are the only fields to enter (keep the remaining fields empty): ReceptionistID: 6 FirstName: Sam LastName: Lee Refer to Exercise 6 for more information on how to insert data. Check to see if data was entered correctly. Delete the record for the recently entered receptionist Write the following DELETE FROM tblreceptionist WHERE ReceptionistID=6 Check whether data was deleted. 25 IT Learning Programme
26 6 Queries 6.1. SELECT Statement The SELECT statement is used to query data from tables. The retrieved rows are selected from one or more table. Such a result table can be used as the basis of a report, for example. The basic syntax of the SELECT statement is: SELECT select_expr [, select_expr...] FROM table_name Each select_expr indicates a column that you want to retrieve. * is used instead of select_expr as a wildcard if you want to retrieve all columns from a table. The complete syntax of the SELECT statement is: SELECT [ALL DISTINCT DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] select_expr [, select_expr...] [FROM table_name [WHERE where_condition] [GROUP BY {col_name expr position} [ASC DESC],... [WITH ROLLUP]] [HAVING where_condition] [ORDER BY {col_name expr position} [ASC DESC],...] [LIMIT {[offset,] row_count row_count OFFSET offset}] [PROCEDURE procedure_name(argument_list)] [INTO OUTFILE 'file_name' export_options INTO DUMPFILE 'file_name' INTO var_name [, var_name]] [FOR UPDATE LOCK IN SHARE MODE]] In general, clauses used must be given in exactly the order shown in the syntax description. For example, a HAVING clause must come after any GROUP BY clause and before any ORDER BY clause. IT Learning Programme 26
27 Exercise 9 Querying data from a table Suggested time to spend on this exercise is 4 minutes Retrieve all doctors information This requires writing a SELECT statement to retrieve all columns from the tbldoctors table. To do that write the following statement in the SQL box and click Go. SELECT * FROM tbldoctors Retrieve all receptionists first and last names Note that there is a link called Show query box usually at the top of the page which you click to keep the recent query you wrote. Click on it and write the following SELECT FirstName, LastName FROM tblreceptionist [Optional] You might want to practice other queries yourself. For example, write a query to retrieve all patients first and last names. Note: When you write a query in the SQL box in phpmyadmin and run it, you can see the total number of retrieved records on the top of the page. A text in a green box should read for example Showing rows 0-29 ( 86 total, Query took sec). In this example the query returned 86 records, the first 30 (0-29) are displayed. You can show all records if you click on the Show all button or you can use the arrows next to the Show all button to browse the remaining records. The time needed to execute the query is also displayed here, e.g., sec in this example Where Clause In the WHERE clause, a condition is used to select rows from a table. These selected rows form the intermediate result of the WHERE clause. The WHERE clause acts as a kind of filter. Its syntax is SELECT select_expr [, select_expr...] FROM table [WHERE where_condition] 27 IT Learning Programme
28 Exercise 10 Querying specific records Suggested time to spend on this exercise is 5 minutes Retrieve the names of all the female patients To do that write the following statement in the SQL box and click Go. SELECT Title, FirstName, LastName FROM tblpatient WHERE Gender='Female' [Optional tasks] You might want to practice other queries yourself. For example, - write a query to retrieve all receptionists who live in Summertown. - write a query to retrieve receptionist details whose salary equals write a query to retrieve appointments made on ' ' Note: When comparing two values (e.g., Gender='Female' in the previous example), we used two single quotations around the work Female because it is text. Remember that text and dates have to appear between two single quotes. Numbers do not need to appear between quotes Comparisons and Conditions We set conditions within the WHERE clause. The condition could be an expression, for example, 83 or 15 * 100 as already discussed. Alternatively, it could be a comparison or relation operator with another value, for example <83 or >=100). Its syntax is WHERE column_name operator expression_value The value of the column_name is compared with the value of the expression. The result will be true, false, or unknown. SQL supports the comparison operators shown in Table 1. Multiple conditions can be combined using the logical operators shown in Table 2. For example we can write the following as a condition: WHERE column_name1 operator value1 AND column_name2 operator value2 IT Learning Programme 28
29 Table 1. Comparison operators Comparison Operator Meaning = Equal to (as in Exercise 10) < Less than > Greater than <= Less than or equal to >= Greater than or equal to <> Not equal to Table 2. Logical operators Name AND, && NOT,! Description Logical AND Negates value, OR Logical OR XOR Logical XOR Date and time comparisons. Please note that to compare date or time, you need to specify the date or time in two single quotes as you do for strings. Use the same format as specified in the database. For instance, if the date is saved in a database in YYYY-DD-MM format (which represents 4 digits year two digits day two digits month), then you need to compare this date using the same format, as for example: WHERE column_name operator ' ' 29 IT Learning Programme
30 Exercise 11 Querying data using conditions Suggested time to spend on this exercise is 7 minutes Retrieve the names, phones and salaries of receptionists whose salary is more than To do that write the following statement in the SQL box and click Go. SELECT FirstName, LastName, HomePhone, Salary FROM tblreceptionist WHERE Salary>10000 Retrieve all male patients who live in Oxford Write the following and click Go SELECT * FROM tblpatient WHERE Gender='Male' AND Address3='Oxford' [Optional] You might want to practice other queries yourself. For example: - change the greater than sign in Task 1 to greater than or equal. - write a query to retrieve all PatientIDs who were born after 1/1/ retrieve receptionists who get salary between 9000 and IT Learning Programme 30
31 7 Advanced Queries 7.1. Sorting Data ORDER BY Clause To sort the result of a query, MySQL uses an ORDER BY clause. The syntax for the ORDER BY clause within a SELECT statement is as follows: [ORDER BY {col_name position} [ASC DESC] Columns selected for output can be referred to in ORDER BY and GROUP BY (see Section Error! Reference source not found.) clauses using column names, olumn aliases, or column positions. Column positions are integers and begin with 1. To sort in reverse order, add the DESC (descending) keyword to the name of the column in the ORDER BY clause that you are sorting by. The default is ascending order; this can be specified explicitly using the ASC keyword. Exercise 12 Retrieving sorted records Suggested time to spend on this exercise is 5 minutes Retrieve all appointments sorted by appointment date. Try ascending order first then change it to descending order. To do that write one of the following statements in the SQL box and click Go. The first two statements are the same and they sort the data in ascending order while the third statement sorts the data in descending order. SELECT * FROM tblappointment ORDER BY AppointmentDate SELECT * FROM tblappointment ORDER BY AppointmentDate ASC SELECT * FROM tblappointment ORDER BY AppointmentDate DESC Retrieve all appointments taken after 1/7/2013 and sorted by appointment date in descending order. Write the following SELECT * FROM tblappointment WHERE TimeAndDatetaken>' ' ORDER BY AppointmentDate DESC 7.2. Querying Multiple Tables You can query different columns from multiple tables. There are different ways to do this. However, one has to be careful when retrieving data from multiple tables as unwanted records might be retrieved. The straightforward way to retrieve rows from multiple tables is by query two or more tables in one SELECT statement. For instance, you can get all records from two tables a follows SELECT * FROM tbl_name_1, tbl_name_2 [WHERE where_condition] 31 IT Learning Programme
32 7.3. Pseudonyms for Table or Column Names When multiple table specifications appear in the FROM clause, it is sometimes easier to use so-called pseudonyms. Another name for pseudonym is an alias. Pseudonyms are temporary alternative names for table names. This helps distinguish between fields in multiple tables. Pseudonyms can also be used to give an alias name for a column (field). The syntax is: SELECT alias1.*, alias2.fieldx FROM tbl_name_1 AS alias1, tbl_name_2 AS alias2 [WHERE where_condition] If a field name exists in two tables with the same name, we can use a pseudonym to distinguish between the two fields. For instance, if table1 and table2 both have a field called fieldx, we can write the following to retrieve fieldx from table1 SELECT t1.fieldx FROM table1 AS t1, table2 AS t2 WHERE t1.fieldx = t2.fieldx Exercise 13 Querying multiple tables Suggested time to spend on this exercise is 7 minutes Retrieve receptionist names and appointment dates from the receptionist and appointment tables, labelling the tables as r and app respectively. To do that write the following statement in the SQL box and click Go. How many records have been retrieved? SELECT r.firstname, r.lastname, app.appointmentdate FROM tblreceptionist AS r, tblappointment as app Add the doctor last name to the query in the previous task Write the following. Please notice the difference between the two queries. SELECT r.firstname, r.lastname, d.lastname, app.appointmentdate FROM tblreceptionist AS r, tblappointment as app, tbldoctors AS d Question: How many records have been returned in Task 1 and Task 2? Why? Note: You might have noticed that the total number of rows retrieved using the query in Task 1 is number of records in tblreceptionist multiplied by the number of records in tblappointment. What do you think about the number of records in Task 2? Apparently, what happened is that each record from the first table was repeated with each record in the second table. This is called Cartesian product. In fact, we did not want this to happen. To avoid this we need to utilise the primary-foreign keys relationship. Check out the next exercise. IT Learning Programme 32
33 Exercise 14 Querying multiple tables: use primary-foreign keys relationship Suggested time to spend on this exercise is 4 minutes Retrieve the receptionist names and date of the appointments they made To do that write the following statement in the SQL box and click Go. SELECT r.firstname, r.lastname, app.appointmentdate FROM tblreceptionist AS r, tblappointment as app WHERE app.receptionistid = r.receptionistid 7.4. Subquery (inner SELECT) A subquery is a SELECT statement within another statement. In other words, a table expression can be called from within another table expression. The called table expression is a subquery. The syntax for it is SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2 [WHERE ]) Exercise 15 Querying multiple tables: use primary-foreign keys relationship Suggested time to spend on this exercise is 5 minutes Retrieve appointments created by receptionist Mrs Burns To do that write the following statement in the SQL box and click Go. SELECT * FROM tblappointment WHERE ReceptionistID = (SELECT ReceptionistID from tblreceptionist WHERE LastName = 'Burns') [Optional Task] Retrieve all appointment dates for Dr Down. Since we used an equal sign for the inner subquery so far, this means that the inner query should only return one record. If the inner subquery returns more than one record, MySQL will issue an error message saying so. However, sometimes we do not know if the inner subquery will return more than one record or even no records. To avoid this situation, check the next section (IN operator) The IN Operator The use of the IN operator in a SELECT statement makes multiple comparisons easier. The condition with the IN operator has two forms. The first form is when comparing a field with a list of values separated by commas. For instance, if you use the equal sign to compare a column to multiple values, it gives a long statement as follows: SELECT * FROM t1 WHERE column1 = value1 OR column1 = value2 OR column1 = value3 33 IT Learning Programme
34 Instead, use the IN operator to make the SELECT statement shorter and easier to read: SELECT * FROM t1 WHERE column1 IN ( value1, value2, value3 ) The second form is to use the IN operator with a subquery. This happens when a value of a field from a one table is to match one or more from another table. Try the following exercise. Exercise 16 Querying multiple tables: use IN operator Suggested time to spend on this exercise is 7 minutes Retrieve appointments created by receptionists who get salary greater than Try the following SQL statement. SELECT * FROM tblappointment WHERE ReceptionistID = (SELECT ReceptionistID from tblreceptionist WHERE Salary >10000) Change the = sign in the previous statement to the IN operator. Why do you think we needed the IN operator here instead of the equal sign? [Optional Task] Retrieve patient records that have appointments with Dr Down. Try the following SQL then change the first = sign to the IN and then change the second = sign to IN. Discuss this with the teacher if you have any question. SELECT * FROM tblpatient WHERE PatientID = (SELECT PatientID FROM tblappointment WHERE DoctorID = (SELECT DoctorID FROM tbldoctors WHERE LastName='Down')) Note You might have noticed that you only needed to change the first equal sign in the last query to get correct result. Why? Also, try to change LastName='Down' to County='Oxfordshire'. Do you need to change the second equal sign to IN this time? 7.6. Basic String Comparison Functions MySQL has functions for comparing strings of text (alphanumeric values). The basic ones are LIKE, NOT LIKE and STRCMP(). The LIKE operator is used to select IT Learning Programme 34
35 alphanumeric values with a particular pattern or mask. NOT LIKE is the negation of LIKE. MySQL provides standard SQL pattern matching as well as a form of pattern matching based on extended regular expressions similar to those used by Unix utilities. You to use _ to match any single character and % to match an arbitrary number of characters (including zero characters). STRCMP() is used to compare two strings. It returns 0 if both strings are the same, it returns -1 when the first string is smaller than the second according to the defined order and 1 when second string is smaller the first one. The standard syntax for these operators is: Str1 LIKE Str2 Str1 NOT LIKE Str2 STRCMP (expr1, expr2) Exercise 17 The use of LIKE and NOT LIKE Suggested time to spend on this exercise is 5 minutes Retrieve any receptionist(s) who live in OX4 postcode area To do that write the following statement in the SQL box and click Go. SELECT * FROM tblreceptionist WHERE PostCode LIKE 'OX4%' [Optional Tasks] - Try to retrieve the receptionist(s) who do not live in OX4 postcode area. - Find all patients that have last name ending with the letter 's' - Find all patients that have first name of 4 characters length only. Hint: use the underscore matching pattern. Exercise 18 The use of STRCMP() Suggested time to spend on this exercise is 3 minutes Retrieve all patients whose last name starts with a letter from the range P Z, arranged by last name in ascending order. To do that write the following statement in the SQL box and click Go. SELECT * FROM tblpatient WHERE STRCMP(LastName,'P')=1 ORDER BY LastName 7.7. The BETWEEN Operator SQL supports a special operator that determines whether a value occurs within a given range of values. Its basic syntax is 35 IT Learning Programme
36 WHERE column_name BETWEEN value1 AND value2 Exercise 19 Querying data BETWEEN operator Suggested time to spend on this exercise is 5 minutes Retrieve all receptionists who get salary between 9000 and To do that write the following statement in the SQL box and click Go. SELECT * FROM tblreceptionist WHERE Salary BETWEEN 9000 AND Optional Tasks Retrieve all appointments between 2/7/2013 and 4/7/2013 Retrieve all appointments for Dr Blowphelt between 2/7/2013 and 4/7/2013 sorted by appointment date IT Learning Programme 36
37 8 Importing and Exporting MySQL allows creating a dump file from a database, or restoring data from a file to a live database. This process allows importing and exporting database structures (e.g., tables) and data (e.g., the content of tables). It is possible to move information between different MySQL databases or even between MySQL and different SQL databases like MS Access, Oracle, SQL Server, etc Migration from/to MySQL Database only MySQL allows the user to export a database and dump it as a.sql file which contains all the SQL statements needed to create the database structure and all the SQL statements needed to insert data into these tables. The export also generates other necessary statements which for instance are used to create a database, users, etc. To export a database from phpmyadmin, click on the Export tab. Several file formats can be used during export. The SQL file format is the most common one to use when exporting data from one place to another. Notice that phpmyadmin allows the user to customise the exportation to their needs. For instance, it is possible to export one table instead of the whole database. Also, notice that phpmyadmin allows exporting data in several file formats including SQL, CSV, PDF, etc. Importing databases to MySQL is also possible. To do that in phpmyadmin, use the Import tab. phpmyadmin allows several file format for importing data to MySQL. Again,.sql is the common one. Finally, other MySQL administration tools like workbench have similar way to export or import databases to MySQL. 37 IT Learning Programme
38 9 What is Next? Now that you have completed this short-course, it is hoped you have a better grasp of the fundamental principles of MySQL. So what should you do next? Attend the MySQL Further Techniques course ITLP offer another course on MySQL which contains more advanced concepts. For more information ask the teacher or course administrator. Explore phpmyadmin phpmyadmin contains much more things than what we covered in this book. For instance, have a look on Triggers, Designer, Events, etc. For more information about it please visit Read a book or tutorials about MySQL or SQL in general A detailed illustration about MySQL can be found on: There are many other websites that has nice tutorial about MySQL. Just Google it. Thank you for attending this short-course, and Good Luck! IT Learning Programme 38
39 Databases: MySQL Introduction IT Learning Programme Today's arrangements Your teacher is: Mohammad Yaqub Your demonstrators are: We finish at: 12:15 You will have: Class notes Schedule 9:15 9:30 Teaching 9:30 9:40 Installation 9:40 10:10 Teaching 10:10 11:10 Practice + 10 minutes break 11:10 11:30 Teaching 11:30 12:15 Practice 2 1
40 Your safety is important Where is the fire exit? Beware of hazards Tripping over bags and coats Please tell us if anything does not work Let us know if you have any other concerns 3 Your comfort is important The toilets are along the corridor just outside the teaching rooms The rest area is where you registered; it has vending machines and a water cooler The seats at the computers are adjustable You can adjust the monitors for height, tilt and brightness 4 2
41 What is a Database? Collection of data Organised Easily accessible Tables Rows (Records) Columns (Fields) Relationships between tables 5 Simple database example Consider the following table for Students St_ID St_Name St_DateOfBirth St_ John Smith 21/5/1995 [email protected] Alison Green 5/11/1994 [email protected] Thomas Li 18/7/1998 [email protected] Susan Bailey 14/1/1991 [email protected] Will King 3/3/1997 [email protected] Primary foreign key relationship Grade_ID St_ID Course_ID Grade_Value Comments
42 What is SQL? MySQL? Structured Query Language (SQL) is a relational database language which allows you to create, delete, access and manipulate databases. MySQL is a Relational Database Management System ( RDBMS ). MySQL is used by most modern websites and web-based services as a convenient and fastaccess storage and retrieval solution for large volumes of data. 7 What can SQL do? creating new databases deleting a database creating new tables in a database deleting tables from a database creating and removing users (database access control) executing queries against a database creating stored procedures in a database setting permissions on tables and procedures creating relationships between tables etc 8 4
43 MySQL Installation MySQL is free It can be installed from different sources Recommended sources XAMPP, WAMP, AMPPS, etc : PHP + MySQL MySQL workbench In XAMPP, phpmyadmin is used as an interface to control MySQL. Command line can be used as well. phpmyadmin: a web-based frontend interface for MySQL. Other GUI tools, e.g., Sequel Pro, MyDB Studio 9 MySQL Installation 1. Download XAMPP 2. Install XAMPP (usually installed in c:/xampp ) 3. Use XAMPP control panel to start Apache and MySQL services 4. Open any browser and type localhost/phpmyadmin 5. If you want to run the MySQL command line, click on the Shell button from XAMPP control panel then type mysql and click Enter 10 5
44 PHP 11 How to complete the exercises Open My computer to access the H drive In this drive, you find some files to help with the exercises The tables on the left describe the database Try to finish at least 12 out of 19 exercises today Check Figure 2 (Page 11) 12 6
45 Setting MySQL users Add SQL user CREATE USER user_specification [,user_specification] Example CREATE USER IDENTIFIED BY 'test'; Drop SQL user DROP USER user_name [, user_name] Example DROP USER NOTE: [ ] is used to represent an option part within a statement 13 Setting MySQL databases Create a database CREATE DATABASE [IF NOT EXISTS] db_name Example CREATE DATABASE IF NOT EXISTS 'sqlcourse'; Drop a database DROP DATABASE [IF EXISTS] db_name; Example DROP DATABASE IF EXISTS 'sqlcourse'; 14 7
46 Creating Tables Syntax CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name column_definition,...) Example CREATE TABLE tbldoctors ( DoctorID int(11) NOT NULL AUTO_INCREMENT, Title varchar(25) DEFAULT Dr, FirstName varchar(20) DEFAULT NULL, LastName varchar(30) DEFAULT NULL, HomePhone varchar(15) DEFAULT NULL, PostCode varchar(10) DEFAULT NULL, PRIMARY KEY (DoctorID), KEY DoctorID (DoctorID), KEY PostCode (PostCode) ) (col_name Field name Data type Index field to facilitate faster search 15 Creating relationships After you created the tables, a relationship can be created between two tables by adding a foreign key constraint Syntax ALTER TABLE table_name ADD [CONSTRAINT [symbol]] FOREIGN KEY (column_name) REFERENCES the_other_table_name (column_name) [ON DELETE CASCADE] [ON UPDATE CASCADE] Example ALTER TABLE tblappointment ADD CONSTRAINT FOREIGN KEY (DoctorID) REFERENCES tbldoctors (DoctorID) ON DELETE CASCADE ON UPDATE CASCADE ; 16 8
47 Insert Statement Syntax INSERT INTO tbl_name (col_name1, col_name2...) VALUES (val1, val2 ) Example INSERT INTO tbldoctors (DoctorID, Title, FirstName, LastName, Address1, Address2, Address3, County, PostCode, HomePhone, EmployedNow) VALUES (1, 'Dr', 'Joe', 'Blowphelt', '12, Hill St', 'Witney', NULL, 'Oxfordshire', 'OX3 5EW', ' ', 1); 17 Update Statement Syntax UPDATE table_reference SET col_name1={expr1 DEFAULT} [, col_name2={expr2 DEFAULT}]...[WHERE where_condition] Example UPDATE tblreceptionist SET Salary=10000 WHERE LastName='Peters'; 18 9
48 Delete Statement Syntax DELETE FROM tbl_name [WHERE where_condition] Example DELETE FROM tblreceptionist WHERE ReceptionistID=6; 19 Select Statement Syntax SELECT select_expr [, select_expr...] FROM table_name [WHERE where_condition] Examples SELECT * FROM tblreceptionist; SELECT FirstName, LastName FROM tblreceptionist; 20 10
49 Importing and Exporting Database structure + data MySQL allows creating a dump file from a database (usually with.sql extension). This file can be used and imported to another MySQL installation. Show an example 21 Practice time Exercises 1-9 Spend 60 minutes 22 11
50 WHERE Clause Syntax WHERE where_condition Examples SELECT LastName FROM tblreceptionist WHERE Salary>10000; SELECT * FROM tblappointment WHERE AppointmentDate<'25/5/2013'; 23 Conditions Syntax WHERE column_name1 operator1 value1 [Logical_Operator column_name2 operator2 value2] Operators Comparison Operator Comparison operators = Equal to < Less than > Greater than Meaning <= Less than or equal to >= Greater than or equal to <> Not equal to Name AND, && NOT,! Logical operators Description Logical AND Negates value, OR Logical OR Example SELECT * FROM tblpatient WHERE Gender='Male' AND PatientID>=5 XOR Logical XOR 24 12
51 Retrieving Sorted Records Syntax SELECT col_name, FROM table_name [WHERE where_condition] [ORDER BY col_name [ASC DESC]] Examples SELECT * FROM tblreceptionist ORDER BY LastName; SELECT * FROM tblreceptionist ORDER BY LastName DESC; SELECT FirstName, LastName FROM tblpatient WHERE Gender='Female' ORDER BY DOB; 25 Querying Multiple Tables Syntax SELECT * FROM tbl_name_1, tbl_name_2 [WHERE where_condition] Using Alias SELECT alias1.*, alias2.fieldx FROM tbl_name_1 AS alias1, tbl_name_2 AS alias2 [WHERE where_condition] Example SELECT r.firstname, r.lastname, app.appointmentdate FROM tblreceptionist AS r, tblappointment as app WHERE app.receptionistid = r.receptionistid Note: full table name can be used as an alias instead but it is not recommended especially when the same table needs to be joined to itself. 13
52 Subquery A subquery is a SELECT statement within another statement. Syntax SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2 [WHERE ]) It is recommended to use aliases especially when a field name is the same in two tables. Example SELECT appoint.* FROM tblappointment AS appoint WHERE appoint.receptionistid = (SELECT r.receptionistid from tblreceptionist AS r WHERE r.lastname = 'Burns') 27 IN operator It is a subquery but is used when the subquery return zero or more records. Syntax (two scenarios) SELECT * FROM t1 WHERE column1 IN ('value1','value2','value3' ) SELECT * FROM t1 WHERE column1 IN (SELECT column from t2 [WHERE where_condition]) Examples SELECT * FROM tbldoctors WHERE LastName IN ('Lockwood','Smith') SELECT * FROM tbldoctors WHERE DoctorID IN (SELECT DoctorID from tblappointment WHERE AppointmentDate>'10/10/2013') 28 14
53 String Comparison LIKE, NOT LIKE, STRCMP Syntax Str1 LIKE Str2 Str1 NOT LIKE Str2 STRCMP (expr1, expr2) Within the string we can use % to represent 0 or more characters and _ to represent any single character. Examples SELECT * FROM tbldoctors WHERE LastName LIKE 'S%' SELECT * FROM tblreceptionist WHERE PostCode LIKE 'OX4%' SELECT * FROM tblpatient WHERE STRCMP(LastName,'P')=1 29 The BETWEEN Operator BETWEEN is an operator that determines whether a value occurs within a given range of values. Syntax WHERE column_name BETWEEN value1 AND value2 Example SELECT LastName, Salary FROM tblreceptionist WHERE Salary BETWEEN 9000 AND
54 Advanced Topics Grouping records The HAVING Clause Aggregate Functions Dealing with NULL Entries REGEXP JOINS EXISTS operator Triggers phpmyadmin designer etc 31 Where to find some help Google is your friend Lynda.com 32 16
55 Lynda.com It is free It is in support of the IT Learning Programme s activities ITLP will still offer a full range of classroombased courses ITLP is happy to work with people around the University to help them use lynda.com effectively in their departments and colleges 33 Other courses MySQL further techniques Programming Concepts Perl Python C++ Java JavaScript MATLAB PHP Computer8 OUCS Help Centre Dreamweaver An introduction Adding interactivity and multimedia to your web pages Dreamweaver: Managing your site and content Dreamweaver: Styling and layout using CSS 34 17
56 Please respond to the feedback survey 18
2/3/04 Doc 7 SQL Part 1 slide # 1
2/3/04 Doc 7 SQL Part 1 slide # 1 CS 580 Client-Server Programming Spring Semester, 2004 Doc 7 SQL Part 1 Contents Database... 2 Types of Databases... 6 Relational, Object-Oriented Databases and SQL...
Database Administration with MySQL
Database Administration with MySQL Suitable For: Database administrators and system administrators who need to manage MySQL based services. Prerequisites: Practical knowledge of SQL Some knowledge of relational
A Brief Introduction to MySQL
A Brief Introduction to MySQL by Derek Schuurman Introduction to Databases A database is a structured collection of logically related data. One common type of database is the relational database, a term
A table is a collection of related data entries and it consists of columns and rows.
CST 250 MySQL Notes (Source: www.w3schools.com) MySQL is the most popular open-source database system. What is MySQL? MySQL is a database. The data in MySQL is stored in database objects called tables.
SQL - QUICK GUIDE. Allows users to access data in relational database management systems.
http://www.tutorialspoint.com/sql/sql-quick-guide.htm SQL - QUICK GUIDE Copyright tutorialspoint.com What is SQL? SQL is Structured Query Language, which is a computer language for storing, manipulating
3.GETTING STARTED WITH ORACLE8i
Oracle For Beginners Page : 1 3.GETTING STARTED WITH ORACLE8i Creating a table Datatypes Displaying table definition using DESCRIBE Inserting rows into a table Selecting rows from a table Editing SQL buffer
Oracle Database 10g Express
Oracle Database 10g Express This tutorial prepares the Oracle Database 10g Express Edition Developer to perform common development and administrative tasks of Oracle Database 10g Express Edition. Objectives
Retrieving Data Using the SQL SELECT Statement. Copyright 2006, Oracle. All rights reserved.
Retrieving Data Using the SQL SELECT Statement Objectives After completing this lesson, you should be able to do the following: List the capabilities of SQL SELECT statements Execute a basic SELECT statement
SQL. Short introduction
SQL Short introduction 1 Overview SQL, which stands for Structured Query Language, is used to communicate with a database. Through SQL one can create, manipulate, query and delete tables and contents.
INTEGRATING MICROSOFT DYNAMICS CRM WITH SIMEGO DS3
INTEGRATING MICROSOFT DYNAMICS CRM WITH SIMEGO DS3 Often the most compelling way to introduce yourself to a software product is to try deliver value as soon as possible. Simego DS3 is designed to get you
Microsoft Access 3: Understanding and Creating Queries
Microsoft Access 3: Understanding and Creating Queries In Access Level 2, we learned how to perform basic data retrievals by using Search & Replace functions and Sort & Filter functions. For more complex
MySQL for Beginners Ed 3
Oracle University Contact Us: 1.800.529.0165 MySQL for Beginners Ed 3 Duration: 4 Days What you will learn The MySQL for Beginners course helps you learn about the world's most popular open source database.
Qlik REST Connector Installation and User Guide
Qlik REST Connector Installation and User Guide Qlik REST Connector Version 1.0 Newton, Massachusetts, November 2015 Authored by QlikTech International AB Copyright QlikTech International AB 2015, All
DbSchema Tutorial with Introduction in SQL Databases
DbSchema Tutorial with Introduction in SQL Databases Contents Connect to the Database and Create First Tables... 2 Create Foreign Keys... 7 Create Indexes... 9 Generate Random Data... 11 Relational Data
Table of Contents. Introduction: 2. Settings: 6. Archive Email: 9. Search Email: 12. Browse Email: 16. Schedule Archiving: 18
MailSteward Manual Page 1 Table of Contents Introduction: 2 Settings: 6 Archive Email: 9 Search Email: 12 Browse Email: 16 Schedule Archiving: 18 Add, Search, & View Tags: 20 Set Rules for Tagging or Excluding:
Teach Yourself InterBase
Teach Yourself InterBase This tutorial takes you step-by-step through the process of creating and using a database using the InterBase Windows ISQL dialog. You learn to create data structures that enforce
Oracle Database 10g: Introduction to SQL
Oracle University Contact Us: 1.800.529.0165 Oracle Database 10g: Introduction to SQL Duration: 5 Days What you will learn This course offers students an introduction to Oracle Database 10g database technology.
MS Access Lab 2. Topic: Tables
MS Access Lab 2 Topic: Tables Summary Introduction: Tables, Start to build a new database Creating Tables: Datasheet View, Design View Working with Data: Sorting, Filtering Help on Tables Introduction
Microsoft Access 2010
IT Training Microsoft Access 2010 Jane Barrett, IT Training & Engagement Team Information System Services Version 3.0 Scope Learning outcomes Learn how to navigate around Access. Learn how to design and
Using SQL Server Management Studio
Using SQL Server Management Studio Microsoft SQL Server Management Studio 2005 is a graphical tool for database designer or programmer. With SQL Server Management Studio 2005 you can: Create databases
Online shopping store
Online shopping store 1. Research projects: A physical shop can only serves the people locally. An online shopping store can resolve the geometrical boundary faced by the physical shop. It has other advantages,
Financial Data Access with SQL, Excel & VBA
Computational Finance and Risk Management Financial Data Access with SQL, Excel & VBA Guy Yollin Instructor, Applied Mathematics University of Washington Guy Yollin (Copyright 2012) Data Access with SQL,
SQL Simple Queries. Chapter 3.1 V3.0. Copyright @ Napier University Dr Gordon Russell
SQL Simple Queries Chapter 3.1 V3.0 Copyright @ Napier University Dr Gordon Russell Introduction SQL is the Structured Query Language It is used to interact with the DBMS SQL can Create Schemas in the
Microsoft Access Lesson 5: Structured Query Language (SQL)
Microsoft Access Lesson 5: Structured Query Language (SQL) Structured Query Language (pronounced S.Q.L. or sequel ) is a standard computing language for retrieving information from and manipulating databases.
2874CD1EssentialSQL.qxd 6/25/01 3:06 PM Page 1 Essential SQL Copyright 2001 SYBEX, Inc., Alameda, CA www.sybex.com
Essential SQL 2 Essential SQL This bonus chapter is provided with Mastering Delphi 6. It is a basic introduction to SQL to accompany Chapter 14, Client/Server Programming. RDBMS packages are generally
Toad for Data Analysts, Tips n Tricks
Toad for Data Analysts, Tips n Tricks or Things Everyone Should Know about TDA Just what is Toad for Data Analysts? Toad is a brand at Quest. We have several tools that have been built explicitly for developers
Introduction to Microsoft Jet SQL
Introduction to Microsoft Jet SQL Microsoft Jet SQL is a relational database language based on the SQL 1989 standard of the American Standards Institute (ANSI). Microsoft Jet SQL contains two kinds of
Information Systems SQL. Nikolaj Popov
Information Systems SQL Nikolaj Popov Research Institute for Symbolic Computation Johannes Kepler University of Linz, Austria [email protected] Outline SQL Table Creation Populating and Modifying
MYSQL DATABASE ACCESS WITH PHP
MYSQL DATABASE ACCESS WITH PHP Fall 2009 CSCI 2910 Server Side Web Programming Typical web application interaction Database Server 3 tiered architecture Security in this interaction is critical Web Server
Developing Web Applications for Microsoft SQL Server Databases - What you need to know
Developing Web Applications for Microsoft SQL Server Databases - What you need to know ATEC2008 Conference Session Description Alpha Five s web components simplify working with SQL databases, but what
Creating tables in Microsoft Access 2007
Platform: Windows PC Ref no: USER 164 Date: 25 th October 2007 Version: 1 Authors: D.R.Sheward, C.L.Napier Creating tables in Microsoft Access 2007 The aim of this guide is to provide information on using
Structured Query Language. Telemark University College Department of Electrical Engineering, Information Technology and Cybernetics
Telemark University College Department of Electrical Engineering, Information Technology and Cybernetics Structured Query Language HANS- PETTER HALVORSEN, 2014.03.03 Faculty of Technology, Postboks 203,
Application note: SQL@CHIP Connecting the IPC@CHIP to a Database
Application note: SQL@CHIP Connecting the IPC@CHIP to a Database 1. Introduction This application note describes how to connect an IPC@CHIP to a database and exchange data between those. As there are no
G563 Quantitative Paleontology. SQL databases. An introduction. Department of Geological Sciences Indiana University. (c) 2012, P.
SQL databases An introduction AMP: Apache, mysql, PHP This installations installs the Apache webserver, the PHP scripting language, and the mysql database on your computer: Apache: runs in the background
Database Migration : An In Depth look!!
Database Migration : An In Depth look!! By Anil Mahadev [email protected] As most of you are aware of the fact that just like operating System migrations are taking place, databases are no different.
Business Portal for Microsoft Dynamics GP 2010. User s Guide Release 5.1
Business Portal for Microsoft Dynamics GP 2010 User s Guide Release 5.1 Copyright Copyright 2011 Microsoft. All rights reserved. Limitation of liability This document is provided as-is. Information and
How To Create A Table In Sql 2.5.2.2 (Ahem)
Database Systems Unit 5 Database Implementation: SQL Data Definition Language Learning Goals In this unit you will learn how to transfer a logical data model into a physical database, how to extend or
Chapter 5. Microsoft Access
Chapter 5 Microsoft Access Topic Introduction to DBMS Microsoft Access Getting Started Creating Database File Database Window Table Queries Form Report Introduction A set of programs designed to organize,
USING MYWEBSQL FIGURE 1: FIRST AUTHENTICATION LAYER (ENTER YOUR REGULAR SIMMONS USERNAME AND PASSWORD)
USING MYWEBSQL MyWebSQL is a database web administration tool that will be used during LIS 458 & CS 333. This document will provide the basic steps for you to become familiar with the application. 1. To
- Suresh Khanal. http://mcqsets.com. http://www.psexam.com Microsoft Excel Short Questions and Answers 1
- Suresh Khanal http://mcqsets.com http://www.psexam.com Microsoft Excel Short Questions and Answers 1 Microsoft Access Short Questions and Answers with Illustrations Part I Suresh Khanal Kalanki, Kathmandu
IBM FileNet eforms Designer
IBM FileNet eforms Designer Version 5.0.2 Advanced Tutorial for Desktop eforms Design GC31-5506-00 IBM FileNet eforms Designer Version 5.0.2 Advanced Tutorial for Desktop eforms Design GC31-5506-00 Note
MEDIAplus administration interface
MEDIAplus administration interface 1. MEDIAplus administration interface... 5 2. Basics of MEDIAplus administration... 8 2.1. Domains and administrators... 8 2.2. Programmes, modules and topics... 10 2.3.
Mul$media im Netz (Online Mul$media) Wintersemester 2014/15. Übung 03 (Nebenfach)
Mul$media im Netz (Online Mul$media) Wintersemester 2014/15 Übung 03 (Nebenfach) Online Mul?media WS 2014/15 - Übung 3-1 Databases and SQL Data can be stored permanently in databases There are a number
Customer admin guide. UC Management Centre
Customer admin guide UC Management Centre June 2013 Contents 1. Introduction 1.1 Logging into the UC Management Centre 1.2 Language Options 1.3 Navigating Around the UC Management Centre 4 4 5 5 2. Customers
Data Tool Platform SQL Development Tools
Data Tool Platform SQL Development Tools ekapner Contents Setting SQL Development Preferences...5 Execution Plan View Options Preferences...5 General Preferences...5 Label Decorations Preferences...6
Creating Database Tables in Microsoft SQL Server
Creating Database Tables in Microsoft SQL Server Microsoft SQL Server is a relational database server that stores and retrieves data for multi-user network-based applications. SQL Server databases are
Teradata SQL Assistant Version 13.0 (.Net) Enhancements and Differences. Mike Dempsey
Teradata SQL Assistant Version 13.0 (.Net) Enhancements and Differences by Mike Dempsey Overview SQL Assistant 13.0 is an entirely new application that has been re-designed from the ground up. It has been
Access 2007. Creating Databases - Fundamentals
Access 2007 Creating Databases - Fundamentals Contents Database Design Objectives of database design 1 Process of database design 1 Creating a New Database... 3 Tables... 4 Creating a table in design view
MyOra 3.0. User Guide. SQL Tool for Oracle. Jayam Systems, LLC
MyOra 3.0 SQL Tool for Oracle User Guide Jayam Systems, LLC Contents Features... 4 Connecting to the Database... 5 Login... 5 Login History... 6 Connection Indicator... 6 Closing the Connection... 7 SQL
Access Queries (Office 2003)
Access Queries (Office 2003) Technical Support Services Office of Information Technology, West Virginia University OIT Help Desk 293-4444 x 1 oit.wvu.edu/support/training/classmat/db/ Instructor: Kathy
A basic create statement for a simple student table would look like the following.
Creating Tables A basic create statement for a simple student table would look like the following. create table Student (SID varchar(10), FirstName varchar(30), LastName varchar(30), EmailAddress varchar(30));
Lab 9 Access PreLab Copy the prelab folder, Lab09 PreLab9_Access_intro
Lab 9 Access PreLab Copy the prelab folder, Lab09 PreLab9_Access_intro, to your M: drive. To do the second part of the prelab, you will need to have available a database from that folder. Creating a new
Database File. Table. Field. Datatype. Value. Department of Computer and Mathematical Sciences
Unit 4 Introduction to Spreadsheet and Database, pages 1 of 12 Department of Computer and Mathematical Sciences CS 1305 Intro to Computer Technology 15 Module 15: Introduction to Microsoft Access Objectives:
Lab 2: MS ACCESS Tables
Lab 2: MS ACCESS Tables Summary Introduction to Tables and How to Build a New Database Creating Tables in Datasheet View and Design View Working with Data on Sorting and Filtering 1. Introduction Creating
Sample- for evaluation only. Introductory Access. TeachUcomp, Inc. A Presentation of TeachUcomp Incorporated. Copyright TeachUcomp, Inc.
A Presentation of TeachUcomp Incorporated. Copyright TeachUcomp, Inc. 2010 Introductory Access TeachUcomp, Inc. it s all about you Copyright: Copyright 2010 by TeachUcomp, Inc. All rights reserved. This
Microsoft Access 2010 Overview of Basics
Opening Screen Access 2010 launches with a window allowing you to: create a new database from a template; create a new template from scratch; or open an existing database. Open existing Templates Create
MS ACCESS DATABASE DATA TYPES
MS ACCESS DATABASE DATA TYPES Data Type Use For Size Text Memo Number Text or combinations of text and numbers, such as addresses. Also numbers that do not require calculations, such as phone numbers,
SIMIAN systems. Setting up a Sitellite development environment on Windows. Sitellite Content Management System
Setting up a Sitellite development environment on Windows Sitellite Content Management System Introduction For live deployment, it is strongly recommended that Sitellite be installed on a Unix-based operating
Bitrix Site Manager 4.1. User Guide
Bitrix Site Manager 4.1 User Guide 2 Contents REGISTRATION AND AUTHORISATION...3 SITE SECTIONS...5 Creating a section...6 Changing the section properties...8 SITE PAGES...9 Creating a page...10 Editing
SES Project v 9.0 SES/CAESAR QUERY TOOL. Running and Editing Queries. PS Query
SES Project v 9.0 SES/CAESAR QUERY TOOL Running and Editing Queries PS Query Table Of Contents I - Introduction to Query:... 3 PeopleSoft Query Overview:... 3 Query Terminology:... 3 Navigation to Query
Sophos Enterprise Console Auditing user guide. Product version: 5.2
Sophos Enterprise Console Auditing user guide Product version: 5.2 Document date: January 2013 Contents 1 About this guide...3 2 About Sophos Auditing...4 3 Key steps in using Sophos Auditing...5 4 Ensure
DiskPulse DISK CHANGE MONITOR
DiskPulse DISK CHANGE MONITOR User Manual Version 7.9 Oct 2015 www.diskpulse.com [email protected] 1 1 DiskPulse Overview...3 2 DiskPulse Product Versions...5 3 Using Desktop Product Version...6 3.1 Product
D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:
D61830GC30 for Developers Summary Duration Vendor Audience 5 Days Oracle Database Administrators, Developers, Web Administrators Level Technology Professional Oracle 5.6 Delivery Method Instructor-led
CSCI110 Exercise 4: Database - MySQL
CSCI110 Exercise 4: Database - MySQL The exercise This exercise is to be completed in the laboratory and your completed work is to be shown to the laboratory tutor. The work should be done in week-8 but
Writer Guide. Chapter 15 Using Forms in Writer
Writer Guide Chapter 15 Using Forms in Writer Copyright This document is Copyright 2005 2008 by its contributors as listed in the section titled Authors. You may distribute it and/or modify it under the
STATGRAPHICS Online. Statistical Analysis and Data Visualization System. Revised 6/21/2012. Copyright 2012 by StatPoint Technologies, Inc.
STATGRAPHICS Online Statistical Analysis and Data Visualization System Revised 6/21/2012 Copyright 2012 by StatPoint Technologies, Inc. All rights reserved. Table of Contents Introduction... 1 Chapter
PHP Tutorial From beginner to master
PHP Tutorial From beginner to master PHP is a powerful tool for making dynamic and interactive Web pages. PHP is the widely-used, free, and efficient alternative to competitors such as Microsoft's ASP.
Using AND in a Query: Step 1: Open Query Design
Using AND in a Query: Step 1: Open Query Design From the Database window, choose Query on the Objects bar. The list of saved queries is displayed, as shown in this figure. Click the Design button. The
Guide to Upsizing from Access to SQL Server
Guide to Upsizing from Access to SQL Server An introduction to the issues involved in upsizing an application from Microsoft Access to SQL Server January 2003 Aztec Computing 1 Why Should I Consider Upsizing
Intro to Databases. ACM Webmonkeys 2011
Intro to Databases ACM Webmonkeys 2011 Motivation Computer programs that deal with the real world often need to store a large amount of data. E.g.: Weather in US cities by month for the past 10 years List
Microsoft Access Basics
Microsoft Access Basics 2006 ipic Development Group, LLC Authored by James D Ballotti Microsoft, Access, Excel, Word, and Office are registered trademarks of the Microsoft Corporation Version 1 - Revision
Databases in Microsoft Access David M. Marcovitz, Ph.D.
Databases in Microsoft Access David M. Marcovitz, Ph.D. Introduction Schools have been using integrated programs, such as Microsoft Works and Claris/AppleWorks, for many years to fulfill word processing,
Results CRM 2012 User Manual
Results CRM 2012 User Manual A Guide to Using Results CRM Standard, Results CRM Plus, & Results CRM Business Suite Table of Contents Installation Instructions... 1 Single User & Evaluation Installation
DIPLOMA IN WEBDEVELOPMENT
DIPLOMA IN WEBDEVELOPMENT Prerequisite skills Basic programming knowledge on C Language or Core Java is must. # Module 1 Basics and introduction to HTML Basic HTML training. Different HTML elements, tags
MICROSOFT ACCESS STEP BY STEP GUIDE
IGCSE ICT SECTION 11 DATA MANIPULATION MICROSOFT ACCESS STEP BY STEP GUIDE Mark Nicholls ICT Lounge P a g e 1 Contents Task 35 details Page 3 Opening a new Database. Page 4 Importing.csv file into the
Exploring Microsoft Office Access 2007. Chapter 2: Relational Databases and Multi-Table Queries
Exploring Microsoft Office Access 2007 Chapter 2: Relational Databases and Multi-Table Queries 1 Objectives Design data Create tables Understand table relationships Share data with Excel Establish table
EMC SourceOne Auditing and Reporting Version 7.0
EMC SourceOne Auditing and Reporting Version 7.0 Installation and Administration Guide 300-015-186 REV 01 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748-9103 1-508-435-1000 www.emc.com Copyright
Database Query 1: SQL Basics
Database Query 1: SQL Basics CIS 3730 Designing and Managing Data J.G. Zheng Fall 2010 1 Overview Using Structured Query Language (SQL) to get the data you want from relational databases Learning basic
Installing Drupal on Your Local Computer
Installing Drupal on Your Local Computer This tutorial will help you install Drupal on your own home computer and allow you to test and experiment building a Web site using this open source software. This
BusinessObjects: General Report Writing for Version 5
BusinessObjects: General Report Writing for Version 5 Contents 1 INTRODUCTION...3 1.1 PURPOSE OF COURSE...3 1.2 LEVEL OF EXPERIENCE REQUIRED...3 1.3 TERMINOLOGY...3 1.3.1 Universes...3 1.3.2 Objects...4
Access Database Design
Access Database Design Technical Support Services Office of Information Technology, West Virginia University OIT Help Desk -- 293-4444 x 1 http://oit.wvu.edu/support/training/classmat/db/ Instructors:
not at all a manual simply a quick how-to-do guide
not at all a manual simply a quick how-to-do guide As a general rule, the GUI implemented by spatialite-gis is closely related to the one implemented by the companion app spatialite-gui So, if you are
Published. Technical Bulletin: Use and Configuration of Quanterix Database Backup Scripts 1. PURPOSE 2. REFERENCES 3.
Technical Bulletin: Use and Configuration of Quanterix Database Document No: Page 1 of 11 1. PURPOSE Quanterix can provide a set of scripts that can be used to perform full database backups, partial database
ODBC Driver Version 4 Manual
ODBC Driver Version 4 Manual Revision Date 12/05/2007 HanDBase is a Registered Trademark of DDH Software, Inc. All information contained in this manual and all software applications mentioned in this manual
INTERSPIRE EMAIL MARKETER
INTERSPIRE EMAIL MARKETER Interspire Pty. Ltd. User s Guide Edition 1.3 April 2009 3 About This User s Guide How to Use This User s Guide This user s guide describes Interspire Email Marketer s Graphical
Chapter 15 Using Forms in Writer
Writer Guide Chapter 15 Using Forms in Writer OpenOffice.org Copyright This document is Copyright 2005 2006 by its contributors as listed in the section titled Authors. You can distribute it and/or modify
Scribe Online Integration Services (IS) Tutorial
Scribe Online Integration Services (IS) Tutorial 7/6/2015 Important Notice No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, photocopying,
DIY Email Manager User Guide. http://www.diy-email-manager.com
User Guide http://www.diy-email-manager.com Contents Introduction... 3 Help Guides and Tutorials... 4 Sending your first email campaign... 4 Adding a Subscription Form to Your Web Site... 14 Collecting
FileMaker 12. ODBC and JDBC Guide
FileMaker 12 ODBC and JDBC Guide 2004 2012 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks of FileMaker, Inc.
Connecting to your Database!... 3
Connecting to your Database!... 3 Connecting to Access Databases!... 3 Connecting to SQL Server!... 8 Connecting to Oracle!... 10 Connecting to MySQL!... 11 Connecting to Sybase!... 12 Connecting to IBM
SQL Server An Overview
SQL Server An Overview SQL Server Microsoft SQL Server is designed to work effectively in a number of environments: As a two-tier or multi-tier client/server database system As a desktop database system
Accessing Your Database with JMP 10 JMP Discovery Conference 2012 Brian Corcoran SAS Institute
Accessing Your Database with JMP 10 JMP Discovery Conference 2012 Brian Corcoran SAS Institute JMP provides a variety of mechanisms for interfacing to other products and getting data into JMP. The connection
Mail merging emails: Word, Excel and Outlook
Mail merging emails: Word, Excel and Outlook TRWD Software Used Word 2010 Excel 2010 Outlook 2010 Windows XP Revision Information Version Date Author Changes made 1.0 July 2012 Pamela Stanworth Created
To launch the Microsoft Excel program, locate the Microsoft Excel icon, and double click.
EDIT202 Spreadsheet Lab Assignment Guidelines Getting Started 1. For this lab you will modify a sample spreadsheet file named Starter- Spreadsheet.xls which is available for download from the Spreadsheet
JOOMLA 2.5 MANUAL WEBSITEDESIGN.CO.ZA
JOOMLA 2.5 MANUAL WEBSITEDESIGN.CO.ZA All information presented in the document has been acquired from http://docs.joomla.org to assist you with your website 1 JOOMLA 2.5 MANUAL WEBSITEDESIGN.CO.ZA BACK
A Comparison of Database Query Languages: SQL, SPARQL, CQL, DMX
ISSN: 2393-8528 Contents lists available at www.ijicse.in International Journal of Innovative Computer Science & Engineering Volume 3 Issue 2; March-April-2016; Page No. 09-13 A Comparison of Database
INSTALLING, CONFIGURING, AND DEVELOPING WITH XAMPP
INSTALLING, CONFIGURING, AND DEVELOPING WITH XAMPP by Dalibor D. Dvorski, March 2007 Skills Canada Ontario DISCLAIMER: A lot of care has been taken in the accuracy of information provided in this article,
