MIS2502: Data Analytics SQL 4– Putting Information Into a Database

Slides:



Advertisements
Similar presentations
SQL components In Oracle. SQL in Oracle SQL is made up of 4 components: –DDL Data Definition Language CREATE, ALTER, DROP, TRUNCATE. Creates / Alters.
Advertisements

Murali Mani SQL DDL and Oracle utilities. Murali Mani Datatypes in SQL INT (or) INTEGER FLOAT (or) REAL DECIMAL (n, m) CHAR (n) VARCHAR (n) DATE, TIME.
30-Jun-15 SQL A Brief Introduction. SQL SQL is Structured Query Language Some people pronounce SQL as “sequel” Other people insist that only “ess-cue-ell”
Oracle Data Definition Language (DDL)
ASP.NET Programming with C# and SQL Server First Edition
LOGO 1 Lab_02: Basic SQL. 2 Outline  Database Tables  SQL Statements  Semicolon after SQL Statements?  SQL DML and DDL  SQL SELECT Statement  SQL.
 SQL stands for Structured Query Language.  SQL lets you access and manipulate databases.  SQL is an ANSI (American National Standards Institute) standard.
Oracle Data Definition Language (DDL) Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008.
SQL 1: GETTING INFORMATION OUT OF A DATABASE MIS2502 Data Analytics.
SQL SQL Server : Overview SQL : Overview Types of SQL Database : Creation Tables : Creation & Manipulation Data : Creation & Manipulation Data : Retrieving.
Chapter 5: Part 1: DDL STRUCTURED QUERY LANGUAGE (SQL)
MIS2502: Data Analytics SQL – Getting Information Out of a Database David Schuff
SQL: DDL. SQL Statements DDL - data definition language –Defining and modifying data structures (metadata): database, tables, views, etc. DML - data manipulation.
Topic 1: Introduction to SQL. SQL stands for Structured Query Language. SQL is a standard computer language for accessing and manipulating databases SQL.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 7 (Part a): Introduction to SQL Modern Database Management 9 th Edition Jeffrey A.
SQL Fundamentals  SQL: Structured Query Language is a simple and powerful language used to create, access, and manipulate data and structure in the database.
SQL Basics. What is SQL? SQL stands for Structured Query Language. SQL lets you access and manipulate databases.
Tables and Constraints Oracle PL/SQL. Datatypes The SQL Data Definition Language Commands (or DDL) enable us to create, modify and remove database data.
# 1# 1 Creating Tables, Setting Constraints, and Datatypes What is a constraint and why do we use it? What is a datatype? What does CHAR mean? CS 105.
Visual Programing SQL Overview Section 1.
IMS 4212: Data Manipulation 1 Dr. Lawrence West, MIS Dept., University of Central Florida Additional Data Manipulation Statements INSERT.
CMPT 258 Database Systems The Relationship Model (Chapter 3)
MIS2502: Data Analytics SQL – Putting Information Into a Database David Schuff
Relational Database Management System(RDBMS) Structured Query Language(SQL)
Distribution of Marks For Second Semester Internal Sessional Evaluation External Evaluation Assignment /Project QuizzesClass Attendance Mid-Term Test Total.
MIS2502: Data Analytics SQL – Getting Information Out of a Database.
Exam 2 Review: SQL In, Dimensional Modeling, Pivot Tables, ETL Describe data cube elements Understand facts, dimensions, granularity Create/read a Star.
MICROSOFT ACCESS – CHAPTER 5 MICROSOFT ACCESS – CHAPTER 6 MICROSOFT ACCESS – CHAPTER 7 Sravanthi Lakkimsety Mar 14,2016.
Physical Model Lecture 11. Physical Data Model The last step is the physical design phase, In this phase data is – Store – Organized and – Access.
SQL Basics Review Reviewing what we’ve learned so far…….
Lec-7. The IN Operator The IN operator allows you to specify multiple values in a WHERE clause. SQL IN Syntax SELECT column_name(s) FROM table_name WHERE.
COM621: Advanced Interactive Web Development Lecture 11 MySQL – Data Manipulation Language.
Fundamentals of DBMS Notes-1.
How to: SQL By: Sam Loch.
Web Systems & Technologies
SQL Query Getting to the data ……..
Chapter 5 Introduction to SQL.
SQL: Schema Definition and Constraints Chapter 6 week 6
Insert, Update and the rest…
MIS2502: Data Analytics SQL – Putting Information Into a Database
MIS2502: Data Analytics Relational Data Modeling
MIS5101: Business Intelligence Relational Data Modeling
MIS2502: Data Analytics SQL – Putting Information Into a Database
ORACLE SQL Developer & SQLPLUS Statements
Structured Query Language (SQL) William Klingelsmith
STRUCTURED QUERY LANGUAGE
Lecturer: Mukhtar Mohamed Ali “Hakaale”
MIS2502: Data Analytics SQL – Getting Information Out of a Database
MIS2502: Data Analytics Relational Data Modeling
MIS2502: Data Analytics SQL – Putting Information Into a Database
MIS2502: Review for Exam 1 JaeHwuen Jung
MIS2502: Data Analytics SQL – Getting Information Out of a Database
MIS2502: Data Analytics Converting ERDs to Schemas
MIS2502: Data Analytics SQL – Getting Information Out of a Database Part 2: Advanced Queries Aaron Zhi Cheng
Structured Query Language
Exam 2 Exam 2 Study Guide is posted on the Course Site
MIS2502: Data Analytics SQL – Putting Information Into a Database
MIS2502: Data Analytics Relational Data Modeling
Oracle Data Definition Language (DDL)
MIS2502: Review for Exam 1 Aaron Zhi Cheng
MIS2502: Data Analytics SQL – Putting Information Into a Database
CS122 Using Relational Databases and SQL
MIS2502: Data Analytics SQL – Putting Information Into a Database
CS1222 Using Relational Databases and SQL
Data Definition Language
Structured Query Language Path from Unorganized to Organized….
MIS2502: Data Analytics SQL – Getting Information Out of a Database Part 1: Basic Queries Aaron Zhi Cheng
MIS2502: Data Analytics SQL – Getting Information Out of a Database Part 2: Advanced Queries Zhe (Joe) Deng
MIS2502: Data Analytics Relational Data Modeling 3
CS122 Using Relational Databases and SQL
Presentation transcript:

MIS2502: Data Analytics SQL 4– Putting Information Into a Database Zhe (Joe) Deng deng@temple.edu http://community.mis.temple.edu/zdeng

Database Management System What do we want to do? Database Management System Get information out of the database (retrieve) Put information into the database (modify/change)

Our relational database A series of tables Linked together through primary/foreign key relationships

To create a database We need to define The tables The fields (columns) within those tables The data types of those fields The primary/foreign key relationships There are SQL commands that do each of those things So let’s assume that we have a blank database and we needed to create the tables

CREATE statement (create a table) CREATE TABLE schema_name.table_name ( columnName1 datatype [NULL][NOT NULL], columnName2 datatype [NULL][NOT NULL], … PRIMARY KEY (KeyName) ); Item Description schema_name The schema that will contain the table table_name The name of the table columnName The name of the field datatype The datatype of the field [NULL][NOT NULL] Whether the field can be empty (i.e., null). The [] means the parameter is optional. A primary key column cannot contain NULL values. KeyName The name of the field that will serve as the primary key.

Data types Each field can contain different types of data That must be specified when the table is created There are many data types; we’re only going to cover the most important ones Data type Description Examples INT Integer 3, -10 DECIMAL(p,s) Decimal. Example: decimal(5,2) is a number that has 3 digits before decimal and 2 digits after decimal (like 123.45). 5 digits in total. 3.23, 3.14159 VARCHAR(n) String (numbers and letters) with maximum length n 'Hello', 'I like pizza', 'MySQL!' DATETIME, DATE Date/Time, or just Date '2011-09-01 17:35:00', '2011-04-12' BOOLEAN Boolean value 0 or 1

Looking at the “new” Customer table The database management system stores this information about the table It’s separate from the data in the table (i.e., Customer information) This is called metadata – “data about data” Column name Data type CustomerID INT FirstName VARCHAR(45) LastName City State ?? Zip Customer

Example: Creating the Customer Table CustomerID FirstName LastName City State Zip CREATE TABLE schema_name.table_name ( columnName1 datatype [NULL][NOT NULL], columnName2 datatype [NULL][NOT NULL], … PRIMARY KEY (KeyName) ); Based on this SQL statement: The only required field is CustomerID – the rest can be left blank. CustomerID is defined as the primary key.

Example: Creating the Customer Table CREATE TABLE orderdb.Customer ( CustomerID INT NOT NULL , FirstName VARCHAR(45) NULL , LastName VARCHAR(45) NULL , City VARCHAR(45) NULL , State VARCHAR(2) NULL , Zip VARCHAR(10) NULL , PRIMARY KEY (CustomerID) ); Customer CustomerID FirstName LastName City State Zip Based on this SQL statement: The only required field is CustomerID – the rest can be left blank. CustomerID is defined as the primary key.

So back to our CREATE statement CREATE TABLE orderdb.Customer ( CustomerID INT NOT NULL , FirstName VARCHAR(45) NULL , LastName VARCHAR(45) NULL , City VARCHAR(45) NULL , State VARCHAR(2) NULL , Zip VARCHAR(10) NULL , PRIMARY KEY (CustomerID) ); FirstName can be a string of up to 45 letters and numbers. Why 45? It’s the MySQL default. State can be a string of up to 2 letters and numbers

NULL vs. NOT NULL NULL values represent missing/empty data. The NOT NULL constraint enforces a field to always contain a value. This means that you cannot insert a new record, or update a record without adding a value to this field. CREATE TABLE orderdb.Customer ( CustomerID INT NOT NULL , FirstName VARCHAR(45) NULL , LastName VARCHAR(45) NULL , City VARCHAR(45) NULL , State VARCHAR(2) NULL , Zip VARCHAR(10) NULL , PRIMARY KEY (CustomerID) ); Rule of Thumb A primary key (e.g., CustomerID) column should be NOT NULL. The rest can be left NULL.

Foreign Key A foreign key in one table points to a primary key in another table. CustomerID is a foreign key in the Order table, and a primary key in the Customer table CREATE TABLE orderdb.`Order` ( OrderNumber INT NOT NULL , OrderDate DATETIME NULL , CustomerID INT NULL , PRIMARY KEY (OrderNumber) , FOREIGN KEY (CustomerID) REFERENCES orderdb.Customer(CustomerID) ); This ensures that every order is placed by a valid customer that already exists.

Some more CREATE statements CREATE TABLE orderdb.Product ( ProductID INT NOT NULL , ProductName VARCHAR(45) NULL , Price DECIMAL(5,2) NULL , PRIMARY KEY (ProductID) ); CREATE TABLE orderdb.OrderProduct( OrderProductID INT NOT NULL , OrderNumber INT NULL , ProductID INT NULL , PRIMARY KEY (OrderProductID) , FOREIGN KEY (OrderNumber) REFERENCES orderdb.`Order`(OrderNumber), FOREIGN KEY (ProductID) REFERENCES orderdb.Product(ProductID) DECIMAL(5, 2) indicates price can no larger than 999.99.

Be careful! Removing tables DROP TABLE schema_name.table_name; Example: DROP TABLE orderdb.Customer; This deletes the entire table and all data! It’s a pain to get it back (if you can at all)! Be careful!

Changing a table’s metadata Adds a column to the table ALTER TABLE schema_name.table_name ADD COLUMN column_name datatype [NULL][NOT NULL]; or ALTER TABLE schema_name.table_name DROP COLUMN column_name; CHANGE COLUMN old_column_name new_column_name datatype [NULL][NOT NULL]; Removes a column from the table Changes a column in the table

An example of each ALTER TABLE orderdb.Product ADD COLUMN Manufacturer VARCHAR(45) NULL; ALTER TABLE orderdb.Product DROP COLUMN Manufacturer; Adds ‘Manufacturer’ column to Product table Removes ‘Manufacturer’ column from Product table

An example of each ALTER TABLE orderdb.Product CHANGE COLUMN Price SalesPrice DECIMAL(6,2) NULL; ????? Changes name of Price column in Product table to SalesPrice and its data type to DECIMAL(6,2) Changes data type of Price column in Product table to DECIMAL(6,2) but leaves the name unchanged.

Adding a row to a table (versus columns) A change in the table structure Done using ALTER TABLE Adding a column A change in the table data Done using INSERT INTO Adding a row

Adding a row INSERT INTO schema_name.table_name (columnName1, columnName2, columnName3) VALUES (value1, value2, value3); Item Description schema_name The schema that contains the table table_name The name of the table columnName The name of the field value The data value for the field datatype The datatype of the field BIG TIP: The order of the values MUST match the order of the field names!

INSERT example INSERT INTO schema_name.table_name (columnName1, columnName2, columnName3) VALUES (value1, value2, value3); CustomerID FirstName LastName City State Zip 1001 Greg House Princeton NJ 09120 1002 Lisa Cuddy Plainsboro 09123 1003 James Wilson Pittsgrove 09121 1004 Eric Foreman Warminster PA 19111 1005 Chris Taub BIG TIP: Note that field names are surrounded by back quotes (`) and string field values are surrounded by regular single quotes (')

INSERT example INSERT INTO orderdb.Customer (CustomerID, FirstName, LastName, City, State, Zip) VALUES (1005, 'Chris', 'Taub', 'Princeton', 'NJ', '09120'); CustomerID FirstName LastName City State Zip 1001 Greg House Princeton NJ 09120 1002 Lisa Cuddy Plainsboro 09123 1003 James Wilson Pittsgrove 09121 1004 Eric Foreman Warminster PA 19111 1005 Chris Taub BIG TIP: Note that field names are surrounded by back quotes (`) and string field values are surrounded by regular single quotes (')

Changing a row UPDATE schema_name.table_name SET columnName1=value1, columnName2=value2 WHERE condition; Item Description schema_name The schema that contains the table table_name The name of the table columnName The name of the field value The data value for the field condition A conditional statement to specify the records which should be changed

UDPATE example UPDATE schema_name.table_name SET columnName1=value1, columnName2=value2 WHERE condition; ProductID ProductName Price 2251 Honey Nut Cheerios 4.50 2282 Bananas 1.29 2505 Eggo Waffles 2.99 ProductID ProductName Price 2251 Cheerios 3.99 2282 Bananas 1.29 2505 Eggo Waffles 2.99 Product

UDPATE example UPDATE orderdb.Product SET ProductName='Honey Nut Cheerios', Price=4.50 WHERE ProductID=2251; The “safest” way to UPDATE is one record at a time, based on the primary key field. ProductID ProductName Price 2251 Honey Nut Cheerios 4.50 2282 Bananas 1.29 2505 Eggo Waffles 2.99 ProductID ProductName Price 2251 Cheerios 3.99 2282 Bananas 1.29 2505 Eggo Waffles 2.99 Product

Changing multiple rows UPDATE orderdb.Customer SET City='Cherry Hill' WHERE State='NJ'; CustomerID FirstName LastName City State Zip 1001 Greg House Princeton NJ 09120 1002 Lisa Cuddy Plainsboro 09123 1003 James Wilson Pittsgrove 09121 1004 Eric Foreman Warminster PA 19111 Be careful! You can do a lot of damage with a query like this! CustomerID FirstName LastName City State Zip 1001 Greg House Cherry Hill NJ 09120 1002 Lisa Cuddy 09123 1003 James Wilson 09121 1004 Eric Foreman Warminster PA 19111

Deleting a row DELETE FROM schema_name.table_name WHERE condition; Item Description schema_name The schema that contains the table table_name The name of the table condition A conditional statement to specify the records which should be changed

Again, the “safest” way to DELETE is based on the primary key field. DELETE example CustomerID FirstName LastName City State Zip 1001 Greg House Princeton NJ 09120 1002 Lisa Cuddy Plainsboro 09123 1003 James Wilson Pittsgrove 09121 1004 Eric Foreman Warminster PA 19111 CustomerID FirstName LastName City State Zip 1001 Greg House Princeton NJ 09120 1002 Lisa Cuddy Plainsboro 09123 1003 James Wilson Pittsgrove 09121 DELETE FROM orderdb.Customer WHERE CustomerID=1004; Again, the “safest” way to DELETE is based on the primary key field.

Deleting multiple rows Avoid doing this! Deleting multiple rows DELETE FROM orderdb.Customer WHERE CustomerID>1002; CustomerID FirstName LastName City State Zip 1001 Greg House Princeton NJ 09120 1002 Lisa Cuddy Plainsboro 09123 1003 James Wilson Pittsgrove 09121 1004 Eric Foreman Warminster PA 19111 CustomerID FirstName LastName City State Zip 1001 Greg House Princeton NJ 09120 1002 Lisa Cuddy Plainsboro 09123

One more DELETE example DELETE FROM orderdb.Customer WHERE State='NJ' AND Zip='09121‘; CustomerID FirstName LastName City State Zip 1001 Greg House Princeton NJ 09120 1002 Lisa Cuddy Plainsboro 09123 1003 James Wilson Pittsgrove 09121 1004 Eric Foreman Warminster PA 19111 CustomerID FirstName LastName City State Zip 1001 Greg House Princeton NJ 09120 1002 Lisa Cuddy Plainsboro 09123 1004 Eric Foreman Warminster PA 19111

Summary Given the schema of a database, be able to Create a table using CREATE TABLE Change the structure of a table using ALTER TABLE Add a record to a table using INSERT Update an existing record in a table using UPDATE Delete a record from a table using DELETE Be familiar with using conditional statements in the UPDATE and DELETE statements using WHERE Be familiar with MySQL data types (INT, DECIMAL, BOOLEAN, DATETIME/DATE, VARCHAR, etc.)

Summary: DDL and DML Commands DDL(Data Definition Language) : DDL or Data Definition Language actually consists of the SQL commands that can be used to define the database schema. It simply deals with descriptions of the database schema and is used to create and modify the structure of database objects in database. CREATE – is used to create the database or its objects (like table, index, function, views, store procedure and triggers). DROP – is used to delete objects from the database. ALTER-is used to alter the structure of the database. DML(Data Manipulation Language) : The SQL commands that deals with the manipulation of data present in database belong to DML or Data Manipulation Language and this includes most of the SQL statements. SELECT – is used to retrieve data from the a database. INSERT – is used to insert data into a table. UPDATE – is used to update existing data within a table. DELETE – is used to delete records from a database table. More on DDL, DML, DCL and TCL Commands can be found here (https://www.geeksforgeeks.org/sql-ddl-dml-dcl-tcl-commands)

Time for our 6th ICA!