
Explore how a relational database structures and inter-relates customer data for a CRM, enabling industry grouping, multiple phone numbers, flexible addresses, and radius-based queries with SQL.
Explore the database hierarchy by modeling a CRM as three tables—customers, states, and sales—defining column names, data types, and constraints to control blanks and limits.
Learn to model real-world entities with inter-entity relationships to prevent data inconsistency and enable accurate queries, using structured addresses and reliable data for future data mining.
Explore structured query language (SQL) with simple examples: retrieving all rows from the customers table, selecting name and number of employees ordered by name, and inserting a new customer.
Review five key concepts that show how relational databases structure data with tables and columns, normalize data to reduce inconsistencies, and use SQL to interact with the database.
Discover the origins of relational databases, normalization, and how MySQL grew from an open source, GPL-licensed project to a widely adopted database powering startups and giants alike.
Explore MySQL features, licensing options, and cross-platform, language-agnostic support while leveraging a shallow learning curve and three powerful clients—CLI, workbench, and web admin—for secure data management.
Install and configure MySQL across Windows, Linux, and Mac OS, with Linux as the common deployment platform, while noting that most learners begin on Windows.
Download and install the Windows Maia's QOL installer for MySQL from the downloads page, log in or create an account, and access the server and client utilities with easy upgrades.
Install MySQL on Windows using the MySQL installer, handle the .NET framework prompt, accept the GPL license, and choose the developer default setup with default installation and data paths.
The installer checks for required software, including the dot net framework and visual c++ 2010 runtime, and downloads missing components. It then installs MySQL server, workbench, connectors, documentation, and examples.
Configure the MySQL server by choosing a type, such as developer machine, server machine, or dedicated machine, then enable networking, install the Windows service, and set a secure root password.
Set the Windows system path by editing the Path environment variable in advanced system settings and add the bin directory of the Maia's QOL server for easier command line access.
Install the MySQL community server on macOS by selecting the correct 64-bit or 32-bit installer, authenticate, and enable the server. Access MySQL via the Terminal command line.
Explore the sakila database to illustrate mysql concepts via a video rental store with customers, movies, and actors, plus download and installation notes.
Download the Sakila schema and data from the MySQL documentation, import them into your MySQL database using the client, and verify by listing tables.
After installation, learn how to connect to the MySQL server, understand credential-based access, and explore the crucial role of the root user in initial connections.
Explore the role of the root user as a separate, powerful administrator with full database powers. Learn to create restricted administrative users to safeguard against accidental damage.
Log into the local MySQL server using the mysql client with -h localhost, -u root, and -p to prompt for a password, avoiding command-line password exposure.
Log in as root, use the set password command to change root password. Verify by logging in with the new password; you can change anybody's password with the same command.
View databases with show databases, switch with use, view tables with show tables, create a new database, and learn to adjust client behavior like semicolon usage and case insensitivity.
Create a restricted administrator user for the crm database, grant all privileges on crm.* to crm admin@localhost, and log in to perform tasks without risking the root account.
Learn to create a simple mysql crm customers table with fields name, email, employees, state, and customer since date, and use show tables and describe to review its structure.
Define table columns with data types to ensure data quality and clarity, preventing unrealistic values and unknown values from entering the database, and use attributes to enforce allowable values.
Discover MySQL string data types, including char and varchar for fixed and variable lengths, binary and var binary, blob and text, plus enum and set for constrained value lists.
Create a contacts table to accompany the customers table, defining name, phone, email, salutation, and a set of contact methods, then review the table schema.
Learn how to use string-based data types and attributes to handle null, unknown, or empty values in MySQL table columns and schemas.
Revise the customers table to enforce not null on name, email, state, and customer since; allow employees to be nullable and demonstrate alter table to set a default Jerry.
Explore MySQL numeric data types, from tinyint through bigint, including small, medium, and big ranges, plus float, double, and decimal for precise values such as coordinates.
Define decimal columns with precision and scale for exact prices and salaries, and note that MySQL boolean uses tiny alias, with 1 true and 0 false (range -128 to 127).
Explore decimal types and unsigned attributes to see how ranges shift from negative to positive. Learn how zero fill padding displays numbers without changing stored values.
Learn how MySQL date and time data types store year, date, date time, and timestamp values, and use created_on and updated_on to track record creation and updates.
Learn how to define multiple timestamp columns in a MySQL table by adjusting defaults and syntax, ensuring created_on timestamps on insert and updated_on updates on row changes.
Discover how primary keys provide a unique identifier for each customer, often as an integer that auto-increments, enabling reliable searches and foreign key links across tables.
Explore primary keys and auto increment in the secular database, using the film table and film_id to ensure unique, ordered rows and enable foreign key relationships.
Learn how to create a primary key in MySQL by redefining the customers table with an auto incrementing id column, inserting rows, and verifying the incremental keys.
Explore foreign keys as the counterpart to primary keys, and how a join table links actors to films using a composite key, with constraints ensuring data integrity.
Create a foreign key from customers.state_id to states.id by adding state_id and defining on update cascade. Observe how on update cascade and on delete cascade enforce referential integrity.
Explore graphical mysql clients such as phpMyAdmin, MySQL Workbench, and Sequel Yog to save, edit, and repeatedly execute queries and manage database schemas with a point-and-click interface.
Explore phpMyAdmin, a web-based MySQL client, to browse databases and tables, modify structures and data, search, export, and import with a user-friendly, point-and-click interface.
Explore the MySQL Workbench desktop client across Windows, macOS, and Linux, a freely available tool bundled with MySQL, featuring SQL development, data modeling, and server administration for database management.
Create a localhost MySQL connection, test the connection, and use the sequel development workspace to query tables, save snippets, and add or modify tables and data.
Explore the data modeling workspace in MySQL Workbench, create an ER model, synchronize this model with your MySQL server, and visually build and maintain database schemas and relationships.
Explore the MySQL Workbench server administration workspace to configure a database server, manage users and privileges, and import and export data, including creating new server instances and monitoring connections.
Explore SQLyog, a Windows desktop database administration tool built over a decade. Find a free version on Google Code and commercial licenses starting around $99.
Create a library database in SQLyog, design books and categories tables with an auto-incrementing primary key and a foreign key, and establish a one-to-many relationship with real-time updates.
Navigate and modify data in the secular database with SQLyog, edit table data, and save changes. Build and run freeform queries, use the sequel formatter, and copy or export results.
master the Sequel OGs scheduled backups feature to schedule automated backups of a MySQL table, compressing into a single file with timestamps and optional email alerts.
Master performing CRUD operations in MySQL by writing SQL code, exploring fundamentals with CRM and Sakia databases, and mastering sequence syntax using MySQL Workbench across platforms.
Insert a new row into the contacts table to demonstrate three common MySQL insert variants. Show values with explicit columns, with or without id, and with a column list.
Retrieve data in mysql by building simple select statements with the wildcard, selecting specific columns from contacts, counting rows with count, and aliasing columns for readability.
Learn to order query results by age or name using the order by clause, including ascending and descending options, and combine multiple columns for precise sorting.
Use the where clause to filter large datasets by the active column and other conditions, such as store_id, and compare amounts to analyze payments over $6.99.
Explore how the group by clause segments data, count customers per store, and analyze payments by amount, then apply having instead of where to filter grouped results.
Use the distinct clause to remove duplicate values and obtain a list of unique customer IDs from the rental table.
Master the like clause in MySQL by using wildcards to find titles that begin with a word, contain a substring, or appear anywhere in the film table.
Master the limit clause to read subsets of data, retrieving the first five rows and applying offsets like limit 7,5, while ordering results by film id in ascending order.
Master updating and deleting data in MySQL with the update statement, using where clauses to target rows, and applying multi-column changes while avoiding accidental updates with safe updates.
Learn how to delete data in MySQL using the delete statement with a where clause, and why a primary key like Director ID ensures precise removal.
Explore more than two hundred MySQL functions for retrieving, analyzing, and contorting data, focusing on common string, numbers, and temporal functions after revisiting filters, grouping, and ordering.
Explore essential MySQL string functions, including length, concat, lower, upper, and substring, to format names with spaces and format phone numbers with hyphens.
Explores numeric and aggregate functions using the payment table to compute average, max, min, and total sales, then formats results with two decimals and groups revenue by staff.
Convert create date timestamps to user-friendly formats with the MySQL date format function. Query year, month, day, and day of week; group payments by date.
Explore MySQL stored routines, focusing on custom functions you can create and invoke like native functions; consult the MySQL documentation for more on stored procedures.
Learn to create a MySQL stored function, fix_capitalization, that formats actor names by taking the first character and the rest with substring, then lowercasing the remainder, deterministically.
Explore creating a second MySQL stored function to properly capitalize both first and last names using delimiter changes, a while loop, and functions like lower, left, substring, and concat.
Master subqueries and table joins by nesting selects to act on specific value sets, including retrieving the most recently created row for outer queries.
Explore subqueries in MySQL with practical examples from a DVD rental chain database, including filtering films by average length and computing a customer's total spending.
Explore how table joins link data across multiple tables using key-based relationships, and master inner join and left join to mine data efficiently.
Learn how inner joins intersect datasets to show readable customer, address, city, and country data. Use aliases and the using clause, and explore left joins, sum, and group by.
Explore left joins in SQL, contrast them with inner joins, and learn to retrieve all left-table rows, including actors without a film.
MySQL is the world's most popular relational database solution used in businesses and independent projects, with thousands of new developers and users coming on board every day. Because it continues to evolve and integrate into the biggest technologies on the web, there has never been a better time to learn, and this hands-on MySQL 5 tutorial course makes it easy. With a step-by-step approach tailored for beginners, course author Jason Gilmore introduces the fundamental concepts underlying relational databases and helps you learn how to build your own functional database and manage it using standard techniques and tools. You'll get 91 lessons taking you from MySQL installation and configuration through learning and using different data types, retrieving and filtering data, working with functions, performing backup and security tasks and more. No prior experience is needed. Matching work files are included so that you can follow the course point by point through the development process.
What You Will Learn
- The basic building blocks of relational databases and how they apply, including strings, numerical data types, primary and foreign keys, functions and queries.
- How to install and set up a usable MySQL server on Windows.
- How to access, modify and manage your data within a MySQL database.
- How to use relational databases to solve problems in business and software or web development.
Who Should Take This Course
- Anyone who wants to learn to create functional, flexible databases for archival, organization or software development purposes.
- Users moving from software-centered solutions such as Microsoft Access or FileMaker looking for a greater degree of control.
- Anyone who wants to increase their employment or promotion prospects by learning a current, relevant technology standard.
What People Are Saying
"I thought MySQL was over my head...the books I'd bought didn't help but these videos have already made a huge difference in what I can do."
- Darrel Nixa
"Jason is awesome as a teacher, and I can't say enough how helpful having the files were in following along."
- Rachel Black
"The section on optimization is where it really came together for me...there's some serious power here if you've got a lot of data to work with."
- Tom Leippi