
Explore installation options for MySQL across local environments, including Fedora repository setup, daff commands, Docker with the official image, and installing MySQL Workbench to manage servers and run initial connections.
Connect to a MySQL server via MySQL Workbench (local or Docker), run queries and view information schema and execution plans, then model schemas and export forward-engineered DDL.
Explore how relational databases organize data into tables with primary and foreign keys, and learn to apply normalization to reduce redundancy across 1NF, 2NF, and higher normal forms.
Learn the fundamentals of sql and relational database management, covering ddl, dml, dcl, and tcl commands such as create, select, update, delete, grant, and rollback, with MySQL as an example.
Explore MySQL data definition language basics and learn to create, drop, and manage databases with if not exists, use, show databases, and show create database, plus charset and collation settings.
Learn to create and drop tables in MySQL, including temporary tables and if exists, and inspect schemas with show databases, show tables, and information_schema.
Examine varchar, text, and char in MySQL, their length limits and storage, how char pads and is trimmed, and how to use cast, concat, and length functions.
Explore integer data types from tinyint to bigint, understand their ranges, how unsigned affects positive values, and how binary representations handle negative and positive values.
Explore floating-point numbers and exact precision in MySQL, including decimal numeric types, fixed precision, integer and decimal parts, scientific notation, IEEE 754 single and double precision, rounding and truncation.
Understand utf8mb4, unicode planes (bmp and supplementary), and MySQL collations, including case and accent sensitivity, binary and language-specific rules, with attention to emoji and mathematical notation.
Learn how blob stores binary data and text stores character data in MySQL, with tiny, medium, and long variants. Explore enum and set constraints; cast between numeric and string representations.
Master MySQL date and time types, including date, time, datetime, timestamp, year, and the Unix epoch, with inserts, selects, and fractional seconds concepts.
Explore default values in MySQL across data types, including integer zero, string (varchar), enum, and timestamp or datetime defaults, plus on update current timestamp behavior.
Explain how primary keys and unique keys work, and how binary search and binary trees support fast indexes in MySQL.
Demonstrate how primary keys and unique keys ensure unique identification of rows in MySQL, enforce not null constraints, and support composite keys for multi-field uniqueness.
Create the employees, department, and department manager tables with foreign keys to enforce referential integrity, demonstrate on delete cascade and on update actions, and validate constraints.
Explore how to use the alter statement to change database properties, including character set, collation, encryption, and read-only status, and to modify tables by renaming columns.
Explore how to construct and modify DDL statements in MySQL, including altering tables, adding, changing, and dropping columns, and using the data definition language with practical examples.
Export ddl from an eer diagram using a visual tool to generate a sql create script, with optional drop statements, and the ability to export tables, views, and routines.
Explore the basics of SQL data manipulation language (DML) with insert, select, update, and delete statements; learn filtering with where and boolean logic on the employees table.
Learn to insert data into an employees table with explicit column lists, skip auto-incremented fields, and qualify table names (database.table), while managing database selection and common errors.
Review and upload the test MySQL database, including employees, departments, and salaries, by running the employees.sql script to create the schema, load data, and verify with a select from employees.
Explore select and where clauses to filter data, using and, or and in, not in, plus between, date comparisons, distinct, and subqueries for active salaries and managers.
Explore how SQL evaluates expressions and comparisons, including numeric casting of strings, string concatenation with cut, between and not between, null handling with is null, and coalesce, greatest, and least.
Explore how the like operator uses percent and underscore wildcards to match strings, test pattern variations, and compare case sensitive, case insensitive, collations, and binary encodings.
Learn to sort results with order by in ascending or descending mode, use limit for top rows, and combine top salaries with employee details via subqueries, filtering active salaries.
Update data efficiently using SQL update statements, including where clauses and order by to prevent primary key conflicts. Learn to update across tables to assign salaries and revert changes.
explore deleting rows in MySQL with the delete statement using where clauses, order by, and limit to target specific employees, including the one with the highest salary via a subquery.
Learn to use aggregate functions on salary data to count, max, min, average, and sum, plus distinct names and basic variance and standard deviation.
Group salaries by employee number to count salary changes and compute averages, then use having for post-grouping filters; explore group_concat and JSON aggregators.
Learn how union combines data from multiple queries, drops duplicates by row shape, uses union all for duplicates, and applies to minimum, maximum, and average salary ranges.
Master how joins fuse employees and salaries by replacing Cartesian products with on or using join conditions, and learn to filter and select only the necessary, active salary data.
Explore join types with clear diagrams, including inner, left, right, full outer joins, cross joins, and unions, to visualize how data from two tables combines in SQL.
Join employees with titles, departments, managers, and salaries to reveal active roles and managers, filter by to_date for current records, and compute min, max, and average salaries by title.
Explore a test employees database to learn one-to-one, one-to-many, and many-to-many relations, including a generated token column linked to employees and left joins across salaries.
Learn to compute the latest salary contract for every employee using the greatest per group pattern, and optimize with left and inner joins for fast, accurate results.
Welcome to this MySQL course! I want to start by appreciating you for trying to learn a new skill. MySQL is one of the most popular SQL databases.
What is MySQL?
MySQL is currently the most popular database management system software. Its uses for managing relational databases. It's open-source DB software. MySQL support by Oracle Company. It is a fast, scalable, and easy-to-use database management system compared with Microsoft SQL Server or Oracle Database.
MySQL supports many Operating Systems like Windows, Linux, macOS, etc.
We'll work with the test database of employees. Let's learn about the data structure and types of this schema. Learn how to create an EER diagram with the schema of the data and export it into a ready-to-use SQL file.
In this course, you will:
Learn the main branches of SQL syntax
Work with the MySQL Workbench
Design the EER schemas and implement complex databases
Use Datatypes, Keys, Charset and Collation
Analyze data using Aggregate Functions
Build CRUD operations - INSERT, SELECT, UPDATE, DELETE
Learn and use SQL joins
And more!
I think that RDBMS is one of the crucial skills in Computer Science and would help you in Computer Programming. Working with the data as a professional is a constant tool that won't change over time. If you learn SQL ones, this will be yours, forever, anytime, anywhere.
What Jobs Require Knowledge of SQL?
Data Analytics
Product Analytics
Data Scientist
Backend or Database Engineer
SQL Server Database Administrator
Senior Web or Application Developer
MySQL Database Administrator
PHP Developer
NodeJS Developer
Lead Software Engineer
Full Stack Engineer/Developer