Introduction

MySQL is an RDBMS (Relational DataBase Management System). It is based on SQL (Structured Query Language). It is one of the most popular and most used Open Source RDBMS and works on most of the system platforms. Proprietary Enterprise Edition is also available from Oracle with paid support via MySQL Enterprise products.

Features of MySQL 5.7

Following are the list of features as of the MySQL 5.7 version :

  • ANSI SQL 99 -Supports broad subset ofANSI SQL 99, as well as extensions, but does not comply with full SQL standard like check constraints and including foreign key references.
  • Cross-platform support – Runs on major system platforms like Linux, macOS, Windows, etc.
  • Stored Procedures – A Stored Procedure is a subroutine stored in database and available to applications that access RDBMS
  • Triggers – A trigger is a kind of stored procedure that gets executed automatically when an event happens in the DB server.
  • Cursors – Cursor is a temporary work area created in the system memory when an SQL statement is executed. A cursor holds information about the rows accessed by a select statement and the select statement itself.
  • Views – A view is a temporary or virtual table created based on the ResultSet of an SQL statement.
  • JSON support – JSON is a new data type introduced to MySQL, that does automatic JSON data validation, quick access to JSON data elements.
  • Online DDL – It is a feature that enhances DDL operations which previously required table copy or blocked DML operations on the table or both.
  • Information Schema – It provides access to metadata of a MySQL Server, database, table, datatype of column or access privileges.
  • Performance Schema – It provides monitoring of server execution, server events, etc., at run time.
  • SQL Mode changes –  MySQL server can operate with different clients in different SQL modes. But by default, Strict SQL mode is enabled for transactional storage engines..
  • Online ALTER TABLE
  • ngram and MeCab full text parser plugins – MySQL has a built-in full-text ngram parser plugin for Chinese, Japanese, and Korean (CJK). It also has an installable MeCab full-text parser plugin for Japanese.
  • ACID Compliance – The database transactions’ validity is guaranteed even in the event of errors, power failures, etc.
  • Transactions with Save Points – A transaction can be divided into subtransactions in RDBMS and execute one by one. After each subtransaction a save point is reached. If something happens at a subtransaction, the state can be rolled back to the previous save point.
  • SSL support – SSL is supported in MySQL to establish a secure and encrypted link between a client and server.
  • Sub-SELECTs – A query within another query is called sub query. Sub SELECT queries could be embedded into WHERE clause to build more diverse query statements.
  • Built-in Replication Support – MySQL provides an interface to support asynchronous and semi-synchronous replication.
  • Full text indexing and Searching – Microsoft Search service provides indexing and searching capabilities.
  • Embedded database library – The database could be tightly integrated with an application software.
  • Unicode support – MySQL 4.1(or higher) supports Unicode. Two data types are available to support Unicode : nchar, nvarvarchar
  • Partition pruning – MysQL does not scan the partitions where there can be no matching values.
  • Multiple Storage Engines – This is one of the MySQL’s major advantages. MySQL server uses pluggable storage engine architecture. This enables MySQL to load and unload engines from a running MySQL server.
  • Native Storage Engines
  • Commit Grouping
  • Conditional Handling
  • Optimization
  • Logging – MySQL provides you several logs which helps you find out what operation is taking place.
  • Group Replication SQL

MySQL Tutorial