Want to deploy your JVM, Node.js and Go apps effortlessly to AWS? Try our service Boxfuse

MySQL

Supported Versions

Drivers

MySQL (for MySQL 5.5 and newer) MariaDB (for MySQL 5.1)
Supported versions 5.1.44 and later 2.0.0 and later
URL format jdbc:mysql://host:port/database jdbc:mysql://host:port/database
Ships with Flyway Command-line No Yes
Maven Central coordinates mysql:mysql-connector-java:8.0.11 org.mariadb.jdbc:mariadb-java-client:2.2.3
Default Java class com.mysql.jdbc.Driver org.mariadb.jdbc.Driver

SQL Script Syntax

  • Standard SQL syntax with statement delimiter ;
  • Delimiter change for stored procedures using DELIMITER statements
  • Comment directives generated by mysqldump (/!…/;)
  • MySQL-style single-line comments (# Comment)

Compatibility

  • DDL exported by mysqldump can be used unchanged in a Flyway migration.
  • Any MySQL SQL script executed by Flyway, can be executed by the MySQL command-line tool and other MySQL-compatible tools (after the placeholders have been replaced).

Example

/* Single line comment */
CREATE TABLE test_data (
 value VARCHAR(25) NOT NULL,
 PRIMARY KEY(value)
);

/*
Multi-line
comment
*/

-- MySQL procedure
DELIMITER //
CREATE PROCEDURE AddData()
 BEGIN
   # MySQL-style single line comment
   INSERT INTO test_data (value) VALUES ('Hello');
 END //
DELIMITER;

CALL AddData();

-- MySQL comments directives generated by mysqlsump
/*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */;
/*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */;

-- Placeholder
INSERT INTO ${tableName} (name) VALUES ('Mr. T');

Limitations

  • Issue 558 The parser currently doesn’t support multiple comment directives on a single line.
    Example: /!50003 CREATE/ /!50017 DEFINER=.../ /*!50003 TRIGGER EntityBeforeInsert …

MariaDB