This chapter discusses working with databases and MySQL. It introduces databases, database tables, records, fields, and keys. It explains the differences between flat-file and relational databases. It covers one-to-one, one-to-many, and many-to-many relationships. It discusses database management systems (DBMS), schemas, queries, and SQL. It provides instructions for getting started with MySQL, including logging in, selecting databases, defining tables, and modifying table structures.
PostgreSQL (or Postgres) began its life in 1986 as POSTGRES, a research project of the University of California at Berkeley.
PostgreSQL isn't just relational, it's object-relational.it's object-relational. This gives it some advantages over other open source SQL databases like MySQL, MariaDB and Firebird.
PostgreSQL (or Postgres) began its life in 1986 as POSTGRES, a research project of the University of California at Berkeley.
PostgreSQL isn't just relational, it's object-relational.it's object-relational. This gives it some advantages over other open source SQL databases like MySQL, MariaDB and Firebird.
This presentation is an INTRODUCTION to intermediate MySQL query optimization for the Audience of PHP World 2017. It covers some of the more intricate features in a cursory overview.
This Doc Consist of ER diagram of University and NHL, Introduction to posgres SQL and installation,DML and its various commands,implementation of constraints with examples,DML Implementation with set operations & Functions,Implementation of nested Queries.
MySQL Replication Evolution -- Confoo Montreal 2017Dave Stokes
MySQL Replication has evolved since the early days with simple async master/slave replication with better security, high availability, and now InnoDB Cluster
sqlmap is an open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of database servers. It comes with a powerful detection engine, many niche features for the ultimate penetration tester and a broad range of switches lasting from
database fingerprinting, over data fetching from the database, to accessing the underlying file system and executing commands on the operating system via out-of-band connections.
In these slides we introduce Column-Oriented Stores. We deeply analyze Google BigTable. We discuss about features, data model, architecture, components and its implementation. In the second part we discuss all the major open source implementation for column-oriented databases.
Active/Active Database Solutions with Log Based Replication in xDB 6.0EDB
EDB’s xDB Replication Server is a highly flexible database replication tool that provides single and multi-master solutions for read/write scalability, availability, performance, and data integration with Oracle, SQL Server and Postgres. Dozens of worldwide customers have been using xDB Replication Server for the past 4 years, and we are extremely excited to introduce a pivotal new release, version 6.0.
This presentation reviews the features in xDB 6.0 including:
* Faster and more efficient replication with log-based Multi Master replication for Postgres Plus and PostgreSQL
* Easier to configure publication tables in bulk with pattern matching selection rules
* Ensure High Availability with integration of the 'Control Schema'
* Improved performance in conflict detection rules
This presentation is an INTRODUCTION to intermediate MySQL query optimization for the Audience of PHP World 2017. It covers some of the more intricate features in a cursory overview.
This Doc Consist of ER diagram of University and NHL, Introduction to posgres SQL and installation,DML and its various commands,implementation of constraints with examples,DML Implementation with set operations & Functions,Implementation of nested Queries.
MySQL Replication Evolution -- Confoo Montreal 2017Dave Stokes
MySQL Replication has evolved since the early days with simple async master/slave replication with better security, high availability, and now InnoDB Cluster
sqlmap is an open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of database servers. It comes with a powerful detection engine, many niche features for the ultimate penetration tester and a broad range of switches lasting from
database fingerprinting, over data fetching from the database, to accessing the underlying file system and executing commands on the operating system via out-of-band connections.
In these slides we introduce Column-Oriented Stores. We deeply analyze Google BigTable. We discuss about features, data model, architecture, components and its implementation. In the second part we discuss all the major open source implementation for column-oriented databases.
Active/Active Database Solutions with Log Based Replication in xDB 6.0EDB
EDB’s xDB Replication Server is a highly flexible database replication tool that provides single and multi-master solutions for read/write scalability, availability, performance, and data integration with Oracle, SQL Server and Postgres. Dozens of worldwide customers have been using xDB Replication Server for the past 4 years, and we are extremely excited to introduce a pivotal new release, version 6.0.
This presentation reviews the features in xDB 6.0 including:
* Faster and more efficient replication with log-based Multi Master replication for Postgres Plus and PostgreSQL
* Easier to configure publication tables in bulk with pattern matching selection rules
* Ensure High Availability with integration of the 'Control Schema'
* Improved performance in conflict detection rules
Access Data from XPages with the Relational ControlsTeamstudio
Did you know that Domino and XPages allows for the easy access of relational data? These exciting capabilities in the Extension Library can greatly enhance the capability of your applications and allow access to information beyond Domino. Howard and Paul will discuss what you need to get started, what controls allow access to relational data, and the new @Functions available to incorporate relational data in your Server Side JavaScript programming.
Database Systems Design, Implementation, and ManagementOllieShoresna
Database Systems: Design,
Implementation, and
Management
Eighth Edition
Chapter 11
Database Performance Tuning and
Query Optimization
Database Systems, 8th Edition 2
Objectives
• In this chapter, you will learn:
– Basic database performance-tuning concepts
– How a DBMS processes SQL queries
– About the importance of indexes in query processing
– About the types of decisions the query optimizer has
to make
– Some common practices used to write efficient SQL
code
– How to formulate queries and tune the DBMS for
optimal performance
– Performance tuning in SQL Server 2005
Database Systems, 8th Edition 3
11.1 Database Performance-Tuning Concepts
• Goal of database performance is to execute
queries as fast as possible
• Database performance tuning
– Set of activities and procedures designed to
reduce response time of database system
• All factors must operate at optimum level with
minimal bottlenecks
• Good database performance starts with
good database design
Database Systems, 8th Edition 4
Database Systems, 8th Edition 5
Performance Tuning: Client and Server
• Client side
– Generate SQL query that returns correct answer
in least amount of time
• Using minimum amount of resources at server
– SQL performance tuning
• Server side
– DBMS environment configured to respond to
clients’ requests as fast as possible
• Optimum use of existing resources
– DBMS performance tuning
Database Systems, 8th Edition 6
DBMS Architecture
• All data in database are stored in data files
• Data files
– Automatically expand in predefined increments
known as extends
– Grouped in file groups or table spaces
• Table space or file group:
– Logical grouping of several data files that store
data with similar characteristics
Database Systems, 8th Edition 7
Basic DBMS architecture
Database Systems, 8th Edition 8
DBMS Architecture (continued)
• Data cache or buffer cache: shared, reserved
memory area
– Stores most recently accessed data blocks in RAM
• SQL cache or procedure cache: stores most
recently executed SQL statements
– Also PL/SQL procedures, including triggers and
functions
• DBMS retrieves data from permanent storage and
places it in RAM
Database Systems, 8th Edition 9
DBMS Architecture (continued)
• Input/output request: low-level data access
operation to/from computer devices, such as
memory, hard disks, videos, and printers
• Data cache is faster than data in data files
– DBMS does not wait for hard disk to retrieve data
• Majority of performance-tuning activities focus on
minimizing I/O operations
• Typical DBMS processes:
– Listener, User, Scheduler, Lock manager, Optimizer
Database Systems, 8th Edition 10
Database Statistics
• Measurements about database objects and available
resources
– Tables, Indexes, Number of processors used,
Processor speed, Temporary space available
• Make critical decisions about improving query
processing efficiency
• Can be gathered manually by ...
This slide is special for master students (MIBS & MIFB) in UUM. Also useful for readers who are interested in the topic of contemporary Islamic banking.
A workshop hosted by the South African Journal of Science aimed at postgraduate students and early career researchers with little or no experience in writing and publishing journal articles.
Executive Directors Chat Leveraging AI for Diversity, Equity, and InclusionTechSoup
Let’s explore the intersection of technology and equity in the final session of our DEI series. Discover how AI tools, like ChatGPT, can be used to support and enhance your nonprofit's DEI initiatives. Participants will gain insights into practical AI applications and get tips for leveraging technology to advance their DEI goals.
Acetabularia Information For Class 9 .docxvaibhavrinwa19
Acetabularia acetabulum is a single-celled green alga that in its vegetative state is morphologically differentiated into a basal rhizoid and an axially elongated stalk, which bears whorls of branching hairs. The single diploid nucleus resides in the rhizoid.
Safalta Digital marketing institute in Noida, provide complete applications that encompass a huge range of virtual advertising and marketing additives, which includes search engine optimization, virtual communication advertising, pay-per-click on marketing, content material advertising, internet analytics, and greater. These university courses are designed for students who possess a comprehensive understanding of virtual marketing strategies and attributes.Safalta Digital Marketing Institute in Noida is a first choice for young individuals or students who are looking to start their careers in the field of digital advertising. The institute gives specialized courses designed and certification.
for beginners, providing thorough training in areas such as SEO, digital communication marketing, and PPC training in Noida. After finishing the program, students receive the certifications recognised by top different universitie, setting a strong foundation for a successful career in digital marketing.
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...Levi Shapiro
Letter from the Congress of the United States regarding Anti-Semitism sent June 3rd to MIT President Sally Kornbluth, MIT Corp Chair, Mark Gorenberg
Dear Dr. Kornbluth and Mr. Gorenberg,
The US House of Representatives is deeply concerned by ongoing and pervasive acts of antisemitic
harassment and intimidation at the Massachusetts Institute of Technology (MIT). Failing to act decisively to ensure a safe learning environment for all students would be a grave dereliction of your responsibilities as President of MIT and Chair of the MIT Corporation.
This Congress will not stand idly by and allow an environment hostile to Jewish students to persist. The House believes that your institution is in violation of Title VI of the Civil Rights Act, and the inability or
unwillingness to rectify this violation through action requires accountability.
Postsecondary education is a unique opportunity for students to learn and have their ideas and beliefs challenged. However, universities receiving hundreds of millions of federal funds annually have denied
students that opportunity and have been hijacked to become venues for the promotion of terrorism, antisemitic harassment and intimidation, unlawful encampments, and in some cases, assaults and riots.
The House of Representatives will not countenance the use of federal funds to indoctrinate students into hateful, antisemitic, anti-American supporters of terrorism. Investigations into campus antisemitism by the Committee on Education and the Workforce and the Committee on Ways and Means have been expanded into a Congress-wide probe across all relevant jurisdictions to address this national crisis. The undersigned Committees will conduct oversight into the use of federal funds at MIT and its learning environment under authorities granted to each Committee.
• The Committee on Education and the Workforce has been investigating your institution since December 7, 2023. The Committee has broad jurisdiction over postsecondary education, including its compliance with Title VI of the Civil Rights Act, campus safety concerns over disruptions to the learning environment, and the awarding of federal student aid under the Higher Education Act.
• The Committee on Oversight and Accountability is investigating the sources of funding and other support flowing to groups espousing pro-Hamas propaganda and engaged in antisemitic harassment and intimidation of students. The Committee on Oversight and Accountability is the principal oversight committee of the US House of Representatives and has broad authority to investigate “any matter” at “any time” under House Rule X.
• The Committee on Ways and Means has been investigating several universities since November 15, 2023, when the Committee held a hearing entitled From Ivory Towers to Dark Corners: Investigating the Nexus Between Antisemitism, Tax-Exempt Universities, and Terror Financing. The Committee followed the hearing with letters to those institutions on January 10, 202
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
2. 2PHP Programming with MySQL, 2nd Edition
Objectives
In this chapter, you will:
• Study the basics of databases and MySQL
• Work with MySQL databases
• Define database tables
• Modify user privileges
• Work with database records
• Work with phpMyAdmin
3. 3PHP Programming with MySQL, 2nd Edition
Introduction to Databases
• A database is an ordered collection of
information from which a computer program
can quickly access information
• Each row in a database table is called a record
• A record in a database is a single complete set
of related information
• Each column in a database table is called a field
• Fields are the individual categories of
information stored in a record
4. 4PHP Programming with MySQL, 2nd Edition
Introduction to Databases
(continued)
Figure 7-1 Employee directory database
5. 5PHP Programming with MySQL, 2nd Edition
Introduction to Databases
(continued)
• A flat-file database stores information in a
single table
• A relational database stores information
across multiple related tables
6. 6PHP Programming with MySQL, 2nd Edition
Understanding Relational
Databases
• Relational databases consist of one or more
related tables
• A primary table is the main table in a
relationship that is referenced by another table
• A related table (or “child table”) references a
primary table in a relational database
• A primary key is a field that contains a unique
identifier for each record in a primary table
7. 7PHP Programming with MySQL, 2nd Edition
Understanding Relational
Databases (continued)
• A primary key is a type of index, which
identifies records in a database to make
retrievals and sorting faster
• A foreign key is a field in a related table that
refers to the primary key in a primary table
• Primary and foreign keys link records across
multiple tables in a relational database
8. 8PHP Programming with MySQL, 2nd Edition
One-to-One Relationships
• A one-to-one relationship exists between two
tables when a related table contains exactly one
record for each record in the primary table
• Create one-to-one relationships to break
information into multiple, logical sets
• Information in the tables in a one-to-one
relationship can be placed within a single table
• Make the information in one of the tables
confidential and accessible only by certain
individuals
10. 10PHP Programming with MySQL, 2nd Edition
One-to-Many Relationship
• A one-to-many relationship exists in a
relational database when one record in a
primary table has many related records in a
related table
• Breaking tables into multiple related tables to
reduce redundant and duplicate information is
called normalization
• Provides a more efficient and less redundant
method of storing this information in a database
11. 11PHP Programming with MySQL, 2nd Edition
One-to-Many Relationship
(continued)
Figure 7-3 Table with redundant information
13. 13PHP Programming with MySQL, 2nd Edition
Many-to-Many Relationship
• A many-to-many relationship exists in a
relational database when many records in one
table are related to many records in another
table
• A junction table creates a one-to-many
relationship for each of the two tables in a
many-to-many relationship
• A junction table contains foreign keys from the
two tables
14. 14PHP Programming with MySQL, 2nd Edition
Working with Database
Management Systems
• A database management system (or DBMS) is
an application or collection of applications used
to access and manage a database
• A schema is the structure of a database
including its tables, fields, and relationships
• A flat-file database management system is a
system that stores data in a flat-file format
• A relational database management system
(or RDBMS) is a system that stores data in a
relational format
15. 15PHP Programming with MySQL, 2nd Edition
Working with Database
Management Systems (continued)
Figure 7-5 Many-to-many relationship
16. 16PHP Programming with MySQL, 2nd Edition
Working with Database
Management Systems (continued)
• Important aspects of database management
systems:
– The structuring and preservation of the
database file
– Ensuring that data is stored correctly in a
database’s tables, regardless of the database
format
– Querying capability
17. 17PHP Programming with MySQL, 2nd Edition
Working with Database
Management Systems (continued)
• A query is a structured set of instructions and
criteria for retrieving, adding, modifying, and
deleting database information
• Structured query language (or SQL) is a
standard data manipulation language used
among many database management systems
• Open database connectivity (or ODBC) allows
ODBC-compliant applications to access any
data source for which there is an ODBC driver
18. Getting Started with
MySQL
18PHP Programming with MySQL, 2nd Edition
• The MySQL Monitor is a command-line
program for manipulating MySQL databases
• Connect to the MySQL server using a
command-line connect
• Commands are entered at the mysql->
command prompt in the console window
19. 19PHP Programming with MySQL, 2nd Edition
Logging in to MySQL
• Enter the following command:
mysql –h host –u user –p
• Two accounts are created:
– Anonymous user account allows login without
specifying a username or password
– root account (the primary administrative account
for MySQL) is created without a password
mysql –u root
• Log out with the exit or quit commands
20. 20PHP Programming with MySQL, 2nd Edition
Logging in to MySQL (continued)
$ mysql –h php_db -u dongosselin -p[ENTER]
Enter password: **********[ENTER]
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 6611 to server version: 4.1.9-
nt
Type 'help;' or 'h' for help. Type 'c' to clear the
buffer.
mysql>
• Use the up and down arrow keys on the keyboard
to scroll through previously entered commands
21. 21PHP Programming with MySQL, 2nd Edition
Logging in to MySQL (continued)
Figure 7-6 MySQL Monitor on a Windows platform
22. 23PHP Programming with MySQL, 2nd Edition
Understanding MySQL Identifiers
• An alias is an alternate name used to refer to a
table or field in SQL statements
• The case sensitivity of database and table
identifiers depends on the operating system
– Not case sensitive on Windows platforms
– Case sensitive on UNIX/Linux systems
• MySQL stores each database in a directory of
the same name as the database identifier
• Field and index identifiers are case insensitive
on all platforms
23. 24PHP Programming with MySQL, 2nd Edition
Understanding MySQL Identifiers
(continued)
• Identifiers that must be quoted using the
backtick, or single quote, character (`)are
– An identifier that includes any character except
standard alphanumeric characters, underscores
(_) or dollar signs ($)
– Any identifier that contains one or more space
characters
– An identifier that is a reserved word in MySQL
– An identifier made entirely of numeric digits
– An identifier that contains a backtick character
25. 26PHP Programming with MySQL, 2nd Edition
Creating Databases
• Use the CREATE DATABASE statement to create
a new database:
mysql> CREATE DATABASE vehicle_fleet;[ENTER]
• To use a new database, select it by executing
the USE DATABASE statement
26. 27PHP Programming with MySQL, 2nd Edition
Selecting a Database
• Use the DATABASE() function to return the
name of the currently active database
mysql> SELECT DATABASE();[ENTER]
• View the available databases using the SHOW
DATABASES statement
mysql> SHOW databases;[ENTER]
• Use the DROP DATABASE statement to remove
all tables and delete a database
mysql> DROP DATABASE database;
27. 28PHP Programming with MySQL, 2nd Edition
Defining Database Tables
• Data types that are assigned to fields determine
how much storage space the computer allocates
for the data in the database
• Choose the smallest data type possible for each
field
29. Creating Tables
• Use the CREATE TABLE statement to create a
new table and define the column names and
data types for each column
mysql> CREATE TABLE vehicles
(license VARCHAR(10), make VARCHAR(25),
model VARCHAR(50), miles FLOAT,
assigned_to VARCHAR(40));[ENTER]
30PHP Programming with MySQL, 2nd Edition
30. Viewing Table Structure
• Use the DESCRIBE table_name statement to
view the structure of the table
31PHP Programming with MySQL, 2nd Edition
31. Changing Table Field Names
• Use the ALTER TABLE to change the name of
an existing field in a table using the following
syntax
ALTER TABLE table_name ADD [COLUMN]
(column_name column_type [, column_name
column_type ...]);
• In MySQL Monitor, enter the following:
mysql> ALTER TABLE vehicles ADD COLUMN
(model_year INT);[ENTER]
32PHP Programming with MySQL, 2nd Edition
32. Modifying Column Types
• Use the ALTER TABLE to rename columns of
an existing field in a table using the following
syntax
ALTER TABLE table_name CHANGE [COLUMN]
column_name new_name column_type;
• In MySQL Monitor, enter the following:
mysql> ALTER TABLE vehicles CHANGE COLUMN
miles mileage FLOAT;[ENTER]
33PHP Programming with MySQL, 2nd Edition
33. Renaming Columns
• Use the ALTER TABLE to rename columns
using the following syntax
ALTER TABLE table_name MODIFY [COLUMN]
column_name column_type;
In MySQL Monitor, enter the following:
mysql> ALTER TABLE vehicles MODIFY COLUMN
model_year SMALLINT;[ENTER]
34PHP Programming with MySQL, 2nd Edition
34. Renaming Tables
• Use the ALTER TABLE to change the name of
an existing table using the following syntax
ALTER TABLE table_name RENAME [TO] new_name;
mysql> ALTER TABLE vehicles RENAME TO
company_cars;[ENTER]
35PHP Programming with MySQL, 2nd Edition
35. Removing Columns
• Use the ALTER TABLE to remove an existing
field from a table using the following syntax
ALTER TABLE table_name DROP [COLUMN]
column_name;
mysql> ALTER TABLE company_cars DROP COLUMN
assigned_to;[ENTER]
36PHP Programming with MySQL, 2nd Edition
36. Deleting Tables
• Execute the DROP TABLE statement to remove
all data and the table definition from a database
DROP TABLE table;
• In MySQL Monitor, enter the following at the
mysql> prompt:
mysql> DROP TABLE company_cars;[ENTER]
• You must be logged in as the root user or have
DROP privileges to delete a table.
37PHP Programming with MySQL, 2nd Edition
37. Modifying User Privileges
• Privileges are actions and operations a user
can perform with a table or a database
• For security purposes, user accounts should
only be assigned the minimum necessary
privileges to perform given tasks
38PHP Programming with MySQL, 2nd Edition
39. 40PHP Programming with MySQL, 2nd Edition
Granting Privileges
• The syntax for the GRANT statement is:
GRANT privilege [(column)] [, privilege [(columns)]] ...
ON {table | * | *.* | database.*}
TO user [IDENTIFIED BY 'password'];
• The GRANT statement creates the user account
if it does not exist and assigns the specified
privileges
• If the user account already exists, the GRANT
statement just updates the privileges
40. 41PHP Programming with MySQL, 2nd Edition
Revoking Privileges
• The syntax for the REVOKE statement is:
REVOKE privilege [(column)] [, privilege [(columns)]] ...
ON {table | * | *.* | database.*}
FROM user;
• The REVOKE ALL PRIVILEGES statement
removes all privileges from a user account for a
specified table or database
• You must be logged in with the root account or
have sufficient privileges to revoke privileges
from another user account
41. 42PHP Programming with MySQL, 2nd Edition
Adding Records
• Use the INSERT statement to add individual
records to a table
• The syntax for the INSERT statement is:
INSERT INTO table_name (column1, column2, …)
VALUES(value1, value2, ...);
• The values entered in the VALUES list must
be in the same order in which you defined the
table fields
• Specify NULL in any fields for which you do not
have a value
42. 43PHP Programming with MySQL, 2nd Edition
Adding Records (continued)
• In MySQL Monitor, enter the following code at
the mysql> prompt:
mysql> INSERT INTO company_cars(license,
model_year, make, model, mileage)
VALUES('CK-2987', 2009, 'Toyota',
'Corolla', 3508.4);[ENTER]
43. Adding Records (continued)
• The LOAD DATA statement, with the full path
and name of a local text file, is used to add
multiple records to a table
LOAD DATA INFILE 'file_path' INTO TABLE
table_name (column1, column2, …);
• Each record in the text file must be placed on a
separate line with a tab delimiter between each
field
44PHP Programming with MySQL, 2nd Edition
44. Adding Records (continued)
• If the column list is omitted, the values on each
line must be in the same order you defined the
table fields
• Use consecutive tabs with nothing between
them to designate a column with no value
• In MySQL Monitor, enter the following code at
the mysql> prompt:
mysql> LOAD DATA INFILE 'company_cars.txt'
INTO TABLE company_cars;[ENTER]
45PHP Programming with MySQL, 2nd Edition
45. Adding Records (continued)
• The optional FIELDS TERMINATED BY clause
of the LOAD DATA statement allows you to
change the field separator to a character such
as (~ or ,) instead of the default tab
character
• In MySQL Monitor, enter the following code at
the mysql> prompt:
mysql> LOAD DATA INFILE 'company_cars.txt‘
INTO TABLE company_cars;[ENTER]
46PHP Programming with MySQL, 2nd Edition
46. 47PHP Programming with MySQL, 2nd Edition
Retrieving Records
• Use the SELECT statement to retrieve records
from a table:
SELECT criteria FROM table_name;
• Use the asterisk (*) wildcard with the SELECT
statement to retrieve all fields from a table
• To return multiple fields, separate field names
with a comma
47. 48PHP Programming with MySQL, 2nd Edition
Retrieving Records (continued)
• In MySQL Monitor, enter the following code at
the mysql> prompt:
mysql> SELECT model, mileage FROM
company_cars;[ENTER]
48. Using Aggregate Functions
• Aggregate functions summarize data in record
sets rather than display the individual records
• The COUNT() function is unique in that
– The wildcard (*) can be used as a function
argument instead of a field name
– The keyword DISTINCT can be used after the
opening parentheses
• The DISTINCT keyword can also be used with
the SELECT statement to retrieve records with a
unique value in the WHERE clause
49PHP Programming with MySQL, 2nd Edition
49. Using Aggregate Functions
(continued)
• To retrieve aggregate values for groups of
records, use the GROUP BY clause and include
the fields that you use to group the records as
part of the query
• In MySQL Monitor, enter the following code at
the mysql> prompt:
mysql> SELECT model_year, AVG(mileage)
FROM company_cars GROUP BY
model_year;[ENTER]
50PHP Programming with MySQL, 2nd Edition
50. 51PHP Programming with MySQL, 2nd Edition
Sorting Query Results
• Use the ORDER BY keyword with the SELECT
statement to perform an alphanumeric sort of the
results returned from a query
• In MySQL Monitor, enter the following code at
the mysql> prompt:
mysql> SELECT make, model FROM inventory
ORDER BY make, model;[ENTER]
51. 52PHP Programming with MySQL, 2nd Edition
Sorting Query Results (continued)
• To perform a reverse sort, add the DESC
keyword after the name of the field by which
you want to perform the sort
• In MySQL Monitor, enter the following code at
the mysql> prompt:
mysql> SELECT make, model FROM
company_cars ORDER BY make DESC,
model;[ENTER]
52. 53PHP Programming with MySQL, 2nd Edition
Filtering Query Results
• The criteria portion of the SELECT statement
determines which fields to retrieve from a table
• You can also specify which records to return by
using the WHERE keyword
• In MySQL Monitor, enter the following code at
the mysql> prompt:
mysql> SELECT * FROM inventory WHERE
make='Martin‘;[ENTER]
53. 54PHP Programming with MySQL, 2nd Edition
Filtering Query Results (continued)
• Use the keywords AND and OR to specify more
detailed conditions about the records you want
to return
• In MySQL Monitor, enter the following code
using the AND keyword at the mysql> prompt:
mysql> SELECT * FROM company_cars
WHERE model_year=2007 AND
mileage<60000;[ENTER]
54. 55PHP Programming with MySQL, 2nd Edition
Filtering Query Results (continued)
• In MySQL Monitor, enter the following code
using the OR keyword at the mysql> prompt:
mysql> SELECT * FROM company_cars
WHERE make='Toyota’ OR
make='Honda‘ ORDER BY mileage ;[ENTER]
55. 56PHP Programming with MySQL, 2nd Edition
Updating Records
• To update records in a table, use the UPDATE
statement
• The syntax for the UPDATE statement is:
UPDATE table_name
SET column_name=value
WHERE condition;
– The UPDATE keyword specifies the name of the
table to update
– The SET keyword specifies the value to assign to
the fields in the records that match the condition
in the WHERE keyword
56. 57PHP Programming with MySQL, 2nd Edition
Updating Records (continued)
• In MySQL Monitor, enter the following code
using the OR keyword at the mysql> prompt:
mysql> UPDATE company_cars SET mileage=368.2
WHERE make='Ford’ AND model='Fusion';
[ENTER]
57. 58PHP Programming with MySQL, 2nd Edition
Deleting Records
• Use the DELETE statement to delete records in a
table
• The syntax for the DELETE statement is:
DELETE FROM table_name
WHERE condition;
• The DELETE statement deletes all records that
match the condition
• To delete all the records in a table, leave off the
WHERE keyword
58. 59PHP Programming with MySQL, 2nd Edition
Deleting Records (continued)
• In MySQL Monitor, enter the following code at
the mysql> prompt:
mysql> DELETE FROM company_cars WHERE
model_year=2006 AND make='Honda'
AND model='Accord';[ENTER]
• To delete all records from a table, omit the
WHERE clause
59. 60PHP Programming with MySQL, 2nd Edition
Summary
• A database is an ordered collection of
information from which a computer program can
quickly access information
• A record in a database is a single, complete set
of related information
• Fields are the individual categories of
information stored in a record
• A flat-file database stores information in a
single table
60. 61PHP Programming with MySQL, 2nd Edition
Summary (continued)
• A relational database stores information across
multiple related tables
• A query is a structured set of instructions and
criteria for retrieving, adding, modifying, and
deleting database information
• Structured query language, or SQL
(pronounced sequel), is a standard data
manipulation language among many database
management systems
61. 62PHP Programming with MySQL, 2nd Edition
Summary (continued)
• MySQL Monitor is a command-line program
that you use to manipulate MySQL databases
• To work with a database, you must first select it
by executing the USE DATEBASE statement
• You use the CREATE DATABASE statement to
create a new database
• To delete a database, you execute the DROP
DATABASE statement, which removes all tables
from the database and deletes the database
itself
62. 63PHP Programming with MySQL, 2nd Edition
Summary (continued)
• The fields in a table also store data according to
type
• To keep your database from growing too large,
you should choose the smallest data type
possible for each field
• To create a table, you use the CREATE TABLE
statement, which specifies the table and column
names and the data type for each column
63. 64PHP Programming with MySQL, 2nd Edition
Summary (continued)
• To modify a table, you use the ALTER TABLE
statement, which specifies the table being
changed and the change to make
• To delete a table, you execute the DROP TABLE
statement, which removes all data and the table
definition
• You use a GRANT statement to create user
accounts and assign privileges, which refer to
the operations that a user can perform with a
database
64. 65PHP Programming with MySQL, 2nd Edition
Summary (continued)
• You use the REVOKE statement to take away
privileges from an existing user account for a
specified table or database
• You add individual records to a table with the
INSERT statement
• To add multiple records to a database, you use
the LOAD DATA statement with a local text file
that contains the records you want to add
65. 66PHP Programming with MySQL, 2nd Edition
Summary (continued)
• You use the SELECT statement to retrieve
records from a table
• You use the ORDER BY keyword with the
SELECT statement to perform an alphanumeric
sort of the results returned from a query
• To perform a reverse sort, add the DESC
keyword after the name of the field by which you
want to perform the sort
66. 67PHP Programming with MySQL, 2nd Edition
Summary (continued)
• You can specify which records to return from a
database by using the WHERE keyword
• You use the UPDATE statement to update
records in a table
• You use the DELETE statement to delete records
from a table
• The phpMyAdmin graphical tool simplifies the
tasks associated with creating and maintaining
databases and tables