您当前的位置:首页 > 计算机 > 软件应用 > 数据库 > MySQL

在Ubuntu 14.04上安装 MySQL 5.7

时间:11-16来源:作者:点击数:

MySQL是什么不多介绍了,在5.7之后,MySQL很“识时务”地引入了JSON字段,这是要抢MongoDB的饭碗么?不过对我们来说是个大好事,不用手动转换的存放了,而且支持原生的读取查询,世界从此变得好美丽!

Ubuntu14.04因为是LTS版本,各大云主机商都支持这个版本,而且我也习惯使用了这个版本,只不过毕竟是两年前的东西,MySQL 5.7在官方源中自然不会出现,怎么办呢?山人自有妙计,且跟我来!

wget http://dev.mysql.com/get/mysql-apt-config_0.3.5-1ubuntu14.04_all.deb
sudo dpkg -i mysql-apt-config_0.3.5-1ubuntu14.04_all.deb
sudo apt-get update
sudo apt-get install mysql-server-5.7

接下来就不用我教了,选择Server后选5.7,然后Apply就好了,和之前安装一样样的。 

configure-mysql-apt-config

可以享用美味的MySQL 5.7了。

顺便安利一下MySQL 5.7中JSON的用法吧~

mysql> CREATE TABLE t1 (jdoc JSON);
Query OK, 0 rows affected (0.20 sec)

mysql> INSERT INTO t1 VALUES('{"key1": "value1", "key2": "value2"}');
Query OK, 1 row affected (0.01 sec)

mysql> SELECT JSON_ARRAY('a', 1, NOW());
+----------------------------------------+
| JSON_ARRAY('a', 1, NOW())              |
+----------------------------------------+
| ["a", 1, "2015-07-27 09:43:47.000000"] |
+----------------------------------------+

mysql> SELECT JSON_OBJECT('key1', 1, 'key2', 'abc');
+---------------------------------------+
| JSON_OBJECT('key1', 1, 'key2', 'abc') |
+---------------------------------------+
| {"key1": 1, "key2": "abc"}            |
+---------------------------------------+

mysql> SELECT JSON_EXTRACT('{"id": 14, "name": "Aztalan"}', '$.name');
+---------------------------------------------------------+
| JSON_EXTRACT('{"id": 14, "name": "Aztalan"}', '$.name') |
+---------------------------------------------------------+
| "Aztalan"                                               |
+---------------------------------------------------------+

 JSON_EXTRACT中’$.name’的语法是这样的,“$”就是JOSN本身,“.”后面就是引用,其实和JavaScript也很类似,举个例子:

[3, {“a”: [5, 6], “b”: 10}, [99, 100]]

那么

  • $[0] 就是 3.
  • $[1] 就是 {“a”: [5, 6], “b”: 10}.
  • $[2] 就是 [99, 100].
  • $[3] 就是 NULL .
  • $[1].a 就是 [5, 6].
  • $[1].a[1] 就是 6.
  • $[1].b 就是 10.
  • $[2][0] 就是 99.

在MySQL 5.7.9之后,还可以不用麻烦的JSON_EXTRACT而使用->符号,比如user->’$[1].a’,然后,JSON_EXTRACT出来的值,是可以直接参与where比较的!在加上虚字段,真是黑科技呀……

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门