BT编程语言文档
BT 语言中的 MySQL 使用
什么是 MySQL
MySQL 是一种广泛使用的开源关系型数据库管理系统,适用于存储和管理结构化数据。MySQL 可以用于构建多种类型的应用,如内容管理系统、社交平台、电子商务网站等。它支持强大的 SQL 查询语言,能够高效地处理大量数据,并提供多种方式确保数据的安全性和完整性。BT MySQL 函数概述
在 BT 语言中,mysql
函数用于连接 MySQL 数据库,并返回一个连接池对象。通过该连接池对象,可以使用以下方法进行数据操作:
- query 用于定义 SQL 查询语句。
- all 执行查询并返回所有数据行。
- one 执行查询并仅返回一条数据行。
- bind 绑定参数,防止 SQL 注入。
- exec 执行不返回数据的 SQL 语句(如 INSERT、UPDATE、DELETE),并返回受影响的行数。
BT 语言中的 MySQL 使用方法
1. 连接 MySQL 数据库
在 BT 语言中,mysql 函数用于连接到 MySQL 数据库。您需要提供一个连接字符串,其中包含数据库的用户名、密码、主机地址、端口和数据库名称。连接函数返回一个连接池实例,供后续查询使用。 db = mysql('mysql://root:root@127.0.0.1:3306/demo')mysql://root:root@127.0.0.1:3306/demo
是连接字符串,其中 root
是用户名,
root 是密码,
127.0.0.1:3306 是数据库主机和端口,
demo` 是数据库名称。
2. 执行 SQL 查询 - query
通过连接池实例的 query 方法,可以执行 SQL 查询语句。query 用于向数据库发送查询,返回一个包含结果的对象。 db.query('SELECT * FROM user')3. 获取全部数据 - all
all 方法用于获取查询结果中的所有数据,并以数组形式返回。如果查询没有匹配的数据,all 将返回一个空数组。示例:查询 user 表中的所有用户
db.query('SELECT * FROM user').all()返回格式:
[ {"id":1, "username":"Lisa"}, {"id":2, "username":"Suxi"} ]4. 获取单条数据 - one
one 方法用于获取查询结果中的一条数据,并以对象形式返回。如果没有数据匹配条件,one 返回一个空对象。示例:条件查询单个用户
db.query('SELECT * FROM user WHERE id = 1').one()返回格式:
{"id":1, "username":"Lisa"}5. 绑定参数 - bind
bind 方法用于将参数安全地绑定到查询中,避免 SQL 注入风险。每个 bind 参数对应 SQL 中的一个 ?。示例:使用 bind 方法进行条件查询
db.query('SELECT * FROM user WHERE id = ?').bind(1).one()您还可以将查询和绑定分开写,以提高代码的可读性和灵活性:
sql = db.query('SELECT * FROM ? WHERE id = ?') sql.bind('user').bind(1).one()6. 使用 exec 执行无返回的 SQL 语句
exec 方法用于执行不返回数据的 SQL 语句,例如 INSERT、UPDATE 和 DELETE。exec 方法返回受影响的行数,表示被插入、更新或删除的记录数量,若出错,则返回0。插入数据:
rows = db.query('INSERT INTO user (username) VALUES (?)').bind('Alice').exec() print rows // 输出插入的数据行数,例如 1更新数据:
rows = db.query('UPDATE user SET username = ? WHERE id = ?').bind('Alice').bind(1).exec() print rows // 输出更新的数据行数,例如 1删除数据:
rows = db.query('DELETE FROM user WHERE id = ?').bind(1).exec() print rows // 输出删除的数据行数,例如 1