* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Creating Tables
Microsoft SQL Server wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Concurrency control wikipedia , lookup
Ingres (database) wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Functional Database Model wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
ContactPoint wikipedia , lookup
Clusterpoint wikipedia , lookup
Data Types and Table Creation Introduction to Database Technology Session 2 Session learning outcomes At the end of this session you will be able to: • Work with your database using the MySQL Query Browser • Describe the relationship between fields, records and tables • Select appropriate data types and sizes for the fields in a table • Design a table • Use SQL commands to create a table in a MySQL database • Use SQL Commands to enter and edit data in a table Introduction to Database Technology Session 2 MySQL Query Browser • Provides a graphical user interface (GUI) for use with MySQL databases • Will be used in the rest of this module • Hands-on 3 enables you to familiarise yourself with this interface Introduction to Database Technology Session 2 Table Creation Steps 1. List the attributes (fields) 2. Choose an appropriate data type for each attribute 3. Select an appropriate primary key for the table 4. Create the table in the database 5. Modify the table structure (if required) 6. Enter data into the table 7. Edit the data (if required) Introduction to Database Technology Session 2 MySQL Character Data Types Use Character data types for fields that will contain character strings – letters, digits and special characters. Also use for numbers that will not be used in calculations – a customer number, for example. CHAR(n) Stores character string up to n (max 255) characters long. If the string is less than n characters long, blank spaces are stored for the remaining characters. VARCHAR(n) Stores character string up to n (max 255) characters long. Only stores the string with no blank characters. Uses less storage space. Slower processing for queries and updates TEXT Use to store textual data up to a maximum of 65,535 characters Introduction to Database Technology Session 2 MySQL Numeric Data Types Use Numeric data types for fields whose values will be used in calculations INT, INTEGER Stores integers (whole numbers with no decimal part). Range: -2147483648 to 214748367 SMALLINT Stores integers but uses less storage space than INT Range: -32768 to 32767 Use when you are sure the values will be within this range DECIMAL(p,q) Stores decimal number p digits long with q decimal places. E.g. DECIMAL(5,2) has 3 places to the left and two to the right of the decimal point (such as 100.00) Use this data type for currency fields Introduction to Database Technology Session 2 Storing dates in MySQL DATE Stores dates. Dates have format YYYY-MM-DD Enter dates using single quote marks. E.g. ‘2008-08-20’ is August 20, 2008 This has introduced the basic data types that will be used in the Yum Juices database that you create during this module You can find more information about data types in the MySQL Reference Manual Introduction to Database Technology Session 2 NULL Values • If a field does not contain data its value is referred to as NULL • To ensure a field cannot contain a NULL value you need to define it as NOT NULL when you create the table • NULL values are appropriate when a field may not contain data for some records – for example, in the Customer table there are two fields for the address but some customers only have one address line. Introduction to Database Technology Session 2 Primary Keys • A unique identifier for each record in a table • All tables in a relational database should have a primary key • Often a number – E.g. customer ID, order number • Can be one or more fields – Primary keys made up of two or more fields are known as composite primary keys (covered later in this module) Introduction to Database Technology Session 2 Now do… • Hands-on Exercise 4.1 – Define data types for the fields in the Yum Customer table. – Decide which fields can contain NULL values. – Select an appropriate primary key for the table. – Record your decisions on the sheet provided. Introduction to Database Technology Session 2 CREATE TABLE Syntax CREATE TABLE tablename ( col_name datatype [NOT NULL] [PRIMARY KEY], …, col_name datatype ) ; Introduction to Database Technology Session 2 Table and field name rules • Can include alphanumeric characters and underscores _ but no other characters. • Should not consist only of digits.- e.g. 1223 • Should not start with a digit – e.g. 1Pet • Cannot exceed 18 characters. • Are case sensitive - 'Pet', 'PET' and 'pet' would be regarded as three different names, for example. • Must not contain spaces. • Must not be a MySQL reserved word – a word that has special meaning in MySQL such as SELECT, for example. Introduction to Database Technology Session 2 Table and field name conventions (used in this module) • Table names start with an initial uppercase letter and are singular – Customer rather than Customers, for example. • Field names are in lower case, prefixed by the name of the table (also lowercase) with an underscore – customer_name, for example. • Will be descriptive of their contents. For example, Customer rather than Table1. Introduction to Database Technology Session 2 CREATE TABLE Example CREATE TABLE Pet (pet_id CHAR(2) PRIMARY KEY NOT NULL, pet_name CHAR(10), pet_type CHAR(10), pet_cost DECIMAL(5,2), pet_dateofbirth DATE ); Introduction to Database Technology Session 2 Modifying the structure of a table in MySQL ALTER TABLE tablename MODIFY col_name new_datatype - Change the data type of a specified field ADD col_name datatype - Add a new field to the table CHANGE old_col_name new_col_name datatype - Change the name of a field DROP COLUMN col_name - Remove a field (together with any data it contains) Introduction to Database Technology Session 2 ALTER TABLE Examples ALTER TABLE Pet MODIFY pet_name VARCHAR(25) - Changes length of pet_name field ADD pet_food VARCHAR(30) - Adds pet_food field to the Pet table CHANGE pet_dateofbirth pet_birthday DATE - Changes name of pet_dateofbirth field to pet_birthday DROP COLUMN pet_food - Removes pet_food field from Pet table Introduction to Database Technology Session 2 MySQL Scripts • Saving your SQL statements as a script allows you to rerun them. • A script can contain one or more SQL statements • Each statement must end with a semi-colon ; • A script is simply a text file. – You can create a script using a text editor (such as Notepad). • In this module, you will use the Query Browser to write and run scripts. • Scripts saved using the Query Browser will be given a .sql extension – scripts saved with a .txt extension can also be opened and run from the Query Browser. Introduction to Database Technology Session 2 Now do… • The rest of Hands-on 4 – Create the Yum customer table using the attributes and data types you listed earlier – Save your table creation statement as a script Introduction to Database Technology Session 2 Entering data INSERT INTO tablename VALUES (Val_1, Val_2, …, Val_n ) ; Inserts data into all fields from left to right You must specify a value for each field Example: INSERT INTO Pet VALUES (‘1’,’Mog’,’cat’,’20.00’,’2006-05-10’); Introduction to Database Technology Session 2 Entering data with NULLs • You must explicitly enter NULL if a field does not contain a value • For example, to enter Mog’s details without a date of birth: INSERT INTO Pet VALUES (‘1’,’Mog’,’cat’,’20.00’,NULL); Introduction to Database Technology Session 2 Entering data into specific fields • List the fields that data is to be entered into after the table name • You must include all fields that are defined as NOT NULL • Data will be entered in the order in which the fields are specified • Example – enter the type, name and ID for a pet INSERT INTO Pet (pet_type, pet_name, pet_id) VALUES (‘cat’,’Mog’,’1’); Introduction to Database Technology Session 2 Updating Data • You may make mistakes when entering the data and need to correct them • Data stored in the database may need to be changed (a customer moves to a new address, for example) Introduction to Database Technology Session 2 UPDATE Syntax UPDATE tablename SET fieldname = new_value WHERE condition to select record Example: UPDATE Pet SET pet_name = 'Moggy' WHERE pet_id = ‘1'; Introduction to Database Technology Session 2 Now do… • Hands-on 5 – Enter data into the Yum Customer table that you created in Hands-on 3 – Make sure you have downloaded the Yum sample data before starting this exercise Introduction to Database Technology Session 2 SQL Command Summary • This session has introduced the following SQL commands: – CREATE TABLE – ALTER TABLE – INSERT INTO – UPDATE • Use the Reference Manual to review these commands and ensure you are familiar with their syntax and usage. Introduction to Database Technology Session 2