详解MySQL Shell 运行 SQL 的两种内置方法
MySQL Shell 是兼容 MySQL 传统命令行客户真个超级替换版,支持 SQL 、JavaScript 、Python 三种语言环境。工具本身包括了很多组件,使得 DBA 们管理 MySQL 更加便捷高效。
今天我们来介绍 MySQL Shell 的组件:MYSQLX 组件的两个检索函数在具体使用上的一些区分。
MYSQLX 组件包括很多预置的类库, 其中与MySQL 交互最直接的就是 Session 类库。Session 类库里又包括一系列内置函数来处理数据:其中函数 run_sql 和 sql 都可以直接和 MySQL 服务端交互来运行 SQL 语句。那到底有甚么区分呢? 我们接下来具体介绍这两个。(Python 环境写法:run_sql、sql;JavaScript环境下:runSQL、sql)
[var]
先连上 X 端口 33060,替换默许语言环境为 Python ,变量 c1 即为 Session 对象(Session:root@localhost:33060)。
MySQL Shell 8.0.30
…
Creating an X protocol session to ‘root@localhost:33060/ytt’
Fetching schema names for autocompletion… Press ^C to stop.
Your MySQL connection id is 9 (X protocol)
Server version: 8.0.30 MySQL Community Server – GPL
Default schema `ytt` accessible through db.
MySQL localhost:33060+ ssl ytt Py > c1=db.get_session()
MySQL localhost:33060+ ssl ytt Py > c1
<Session:root@localhost:33060>
履行 run_sql 创建表t1: run_sql 可以运行任何 MySQL 兼容的 SQL 语句。
插入几条样例数据:
用 run_sql 来履行 查询语句:
以上都是直接运行 run_sql 函数的结果。
其实 run_sql 函数履行后会返回一个 SqlResult 对象,SqlResult 对象包括很多函数:获得语句履行时间,一次性获得一行或多行数据,判断会不会有数据等等。 既然是 SqlResult ,那就是一个结果集,不支持屡次获得,类似 MySQL 的游标。
接下来把 run_sql 函数履行结果赋予一个变量 r1 ,后续操作都通过 r1 来进行:r1 被赋予 SqlResult 对象。
run_sql 函数也能够绑定变量履行:
[var]
sql 函数和 run_sql 函数不一样,它返回的不是 SqlResult 对象,而是一个 SqlExecute 对象,是 SqlResult 对象产生之前的阶段。举个例子:把 sql 函数履行结果赋予变量 r2 ,这样每调用一次 r2 ,相当于重新履行一次原要求。
如果把变量 r2 的履行结果赋予变量 r3 ,那 r3 就变成一个 SqlResult 对象,只支持获得一次,又回退到 run_sql 函数的结果:
MySQL localhost:33060+ ssl ytt Py > r3.fetch_all()
[
[
1,
10
],
[
2,
20
],
[
3,
30
]
]
MySQL localhost:33060+ ssl ytt Py > r3.fetch_all()
[]
MySQL localhost:33060+ ssl ytt Py > r3
Empty set (0.0004 sec)
sql 函数一样支持履行绑定变量的要求: 一次绑定一个数组。
[var]
对函数 run_sql 和 sql 来说,可以参考对象 SqlResult 和 SqlExecute 的差异来选择自己最适合的使用处景。
到此这篇关于MySQL Shell 运行 SQL 的两种内置方法概述的文章就介绍到这了,更多相关MySQL Shell 运行 SQL内容请搜索之前的文章或继续浏览下面的相关文章希望大家以后多多支持!
文章来源:丸子建站
文章标题:详解MySQL Shell 运行 SQL 的两种内置方法
https://www.wanzijz.com/view/56865.html
相关文章
Related articles
- 1 Oracle数据库用户的密码过期时间怎么修改成永不过期 2023-06-19 08:06:59
- 2 使用PHP探索Redis的奇妙世界 2023-06-19 08:06:58
- 3 使用Redis哈希表提高数据库性能 2023-06-19 08:06:58
- 4 MongoDB中的not操作符 2023-06-19 08:06:58
- 5 MongoDB实现“SQL NoSQL”合一 2023-06-19 08:06:58
- 6 掌握SQL Server:必备的强大工具 2023-06-19 08:06:58
- 7 数据库备份sqlserver数据库:保障你的数据安全 2023-06-19 08:06:58
- 8 利用Redis进行可靠性测试的工具 2023-06-19 08:06:58
- 9 『MSSQL使用函很多天期格式化』 2023-06-19 08:06:58
- 10 函数使用MSSQL字符串函数实现数据处理 2023-06-19 08:06:58
随机看看
NEW ARTICLE
- 1 重庆网站服务器租用有哪几种优势和劣势 06-12
- 2 租用美国不用备案服务器好吗 05-12
- 3 MSSQL 655版本:易用性提升,满足区别需求 04-21
- 4 sql中 order by 和 group by的区分 08-07
- 5 ios开发者模式有什么用处?ios开发流程 02-13
- 6 php如何计算字符串的长度 03-26
热门文章
HOT ARTICLE
- 1 显卡:centos查看显卡信息的方法 04-07
- 2 黑客利用SQLServer数据库成功实行盲注入攻击 05-11
- 3 android开发工具有哪些?又该如何进行选择? 02-13
- 4 公众号和订阅号有什么区别?公众号和订阅号有什么优势? 01-30
- 5 python怎么获取列表元素的下标 03-23
- 6 navicat:navicat怎样连接mongodb 04-04
- 7 速率:centos7怎么查看网卡速率 04-07
- 8 字体:小程序字体加粗怎么实现 04-09
- 9 公众号登录的方法是什么?公众号登录失败的原因是什么? 01-30
- 10 【mssql中实现多个like查询的方式】 04-21