The world seems awash in unstructured, NoSQL data, mainly of the
JSON variety. While this has a great many benefits as far
as data mutability and not being locked into a rigid structure
there are some things missing that are common in the structured
world of SQL databases.
What if there was a way to take this unstructured NoSQL JSON data
and cast it, temporarily, into a structured table? Then you
could use all the processing functions and features found in a
relation database on you data. There is a way and it is the
JSON_TABLE function.
JSON_TABLE
You can find the documentation for JSON_TABLE here but there are some examples below
that may make learning this valuable function easier than the
simple RTFM.
I will be using the world_x dataset for the next example
If …
At the end of the month, some engineers of the MySQL Team will be present in Austin, TX !
We will attend the first edition of Percona Live USA in Texas.
During that show, you will have the chance to meet key engineers, product managers, as well as Dave and myself.
Let me present you the Team that will be present during the conference:
The week will start with the MySQL InnoDB Cluster full day tutorial by Kenny and myself. This tutorial is a full hands-on tutorial where we will start by migrating a classical asynchronous master-replicas topology to a new MySQL InnoDB Cluster. We will then experience …
[Read more]MySQL 8.0 provides another way to handle JSON documents, actually in a "Not only SQL" (NoSQL) approach... In other words, if you need/want to manage JSON documents (collections) in a non-relational manner, with CRUD (acronym for Create/Read/Update/Delete) operations then you can use MySQL 8.0! Did you know that?
I have had some requests to write some blogs on the basics of
using PHP and MySQL together. This will not be a series for
the experienced as it will start at a level where I will go into
a lot of details but expect very few prerequisites from the
reader. If this is not you, please move on. If it is you
and you read something you do not understand, please contact me
to show me where I assumed too much.
PHP and MySQL are both in their mid twenties and
both vital in the worlds of developers. With the big
improvements in PHP 7 and MySQL 8, I have found a lot of
developers flocking to both but stymied by the examples they see
as their are many details not explained. So let's get to the
explaining!
1. Use the latest software
If you are not using PHP 7.2 or 7.3 (or maybe 7.1) then you are
missing out in features and performance. The PHP 5.x series
is deprecated, no longer support, and …
Wondering which databases are trending in 2019? We asked hundreds of developers, engineers, software architects, dev teams, and IT leaders at DeveloperWeek to discover the current NoSQL vs. SQL usage, most popular databases, important metrics to track, and their most time-consuming database management tasks. Get the latest insights on MySQL, MongoDB, PostgreSQL, Redis, and many others to see which database management systems are most favored this year.
SQL vs. NoSQL
As any database administrator knows, the first question you have to ask yourself is whether to use a SQL or NoSQL database for your application. …
[Read more]
The X DevAPI allows you to work with JSON documents and SQL
tables at the same time. Furthermore, the CRUD style API is more
intuitive than SQL statements for some programmers. Either way,
the X DevAPI allows you to mix JSON documents, SQL tables, CRUD
methods, and SQL statements to give you the best of all worlds.
In MySQL Connector/Python, the X DevAPI is implemented in the
mysqlx
module.
This blog will look at how MySQL Connector/Python handles
expressions, and how you in version 8.0.14 and later need to use
the mysqlx.expr()
method to explicitly
define expressions.
Information
…
[Read more]For the third year in a row, we will take advantage of the mass presence of our MySQL Engineers during FOSDEM to organize the pre-FOSDEM MySQL Day.
The program of this 3rd edition is already on track, thank you to all the speakers who already confirmed their participation.
Start | End | Event | Speaker | Company | Topic |
---|---|---|---|---|---|
Friday 1st February | |||||
09:30 | 10:00 | MySQL Community Team Welcome | |||
10:00 | …
JSON has proven to be a very import data format with immense
popularity. A good part of my time for the last two or so years
has been dedicated to this area and I even wrote a book on the subject. This is a
comparison of the implementations of handling JSON data in MySQL
and MariaDB. I had requests from the community and customers for
this evaluation.
JSON Data Types Are Not All Equal
MySQL added a JSON data type in version 5.7 and it has proven to
be very popular. MariaDB has JSON
support version 10.0.16 but is actually an alias to a
longtext data type so that statement based replication
from MySQL to MariaDB is possible.
MySQL stores JSON documents are …
First of all, thanks to everyone who attended my sessions at the recent Oracle OpenWorld and Code One in San Francisco. It was a great privilege to be allowed to make a number of presentations.
All of the workbooks and scripts from the hands-on labs (HOL) and the slides from the talks have been made available at OpenWorld’s and Code One’s session catalogues. You can download the files by using the OpenWorld catalog searching for my name or the session number (see below). Click on the download icon for each of the presentations you are interested in.
…
[Read more]
With new MySQL Shell 8.0.13 comes a new way to quickly load JSON
data sets very quickly. In a past blog and in several talks
I have shown how to use the shell with the Python mode to pull in
the data. But now there is a much faster way to load
JSON
Load JSON Quickly Start a copy of the new shell with
mysqlsh. Connect to your favorite server \c
dave@localhost and then create a new schema
session.createSchema('bulk'). Then point you session to
the schema just created with \use bulk. Version
8.0.13 has a new utility function named importJson that does the
work. The first argument is the path to the data set (here
the MongoDB restaurant collection) and the second allows you to
designate the schema and collection where you wish to have the
data stored. In this example the data set was in the
downloads directory of my laptop and I wanted to put it in the
newly created 'bulk' schema …