如何使用Dart连接MySQL数据库
MySQL是一种开放源代码的关系型数据库管理系统,它是目前最受欢迎的数据库之一。Dart 是一个专为前端开发设计的编程语言,而且在其它方面也有不错的表现。在下面的文章中,我们将介绍如何在 Dart 中连接 MySQL 数据库。
阅读更多:MySQL 教程
安装mysql1包
我们可以使用mysql1包来连接MySQL数据库。首先,我们需要将mysql1包添加到我们的 pubspec.yaml
文件中,然后使用 pub get
命令安装它。
dependencies:
mysql1: ^0.22.1
然后执行以下命令进行安装:
pub get
安装后,我们就可以在代码中引入 mysql1
包了。
import 'package:mysql1/mysql1.dart';
连接MySQL数据库
在Dart中,我们可以使用以下代码连接MySQL:
Future main() async {
final conn = await MySqlConnection.connect(ConnectionSettings(
host: 'localhost',
port: 3306,
user: 'root',
password: 'password',
db: 'mydb',
));
// use the connection
await conn.close();
}
通过调用 MySqlConnection.connect()
方法,我们可以创建一个连接到MySQL服务器的连接对象。在此过程中,我们必须为MySQL服务器设置连接参数,如服务器地址、端口号、用户名、密码和数据库名称等。在以上代码中,我们设置了以下参数:
- host: MySQL服务器的地址。
- port: MySQL服务器的端口号,默认是3306。
- user: 连接MySQL服务器的用户名。
- password: 连接MySQL服务器的密码。
- db: 数据库的名称。
最后,我们使用 await conn.close()
关闭连接对象。
执行SQL语句
完成连接操作后,我们将通过MySQL连接对象执行SQL语句并获取数据。下面是一些示例代码:
查询一条记录
Future main() async {
final conn = await MySqlConnection.connect(ConnectionSettings(
host: 'localhost',
port: 3306,
user: 'root',
password: 'password',
db: 'mydb',
));
final results = await conn.query('SELECT * FROM users WHERE id = ?', [1]);
for (var row in results) {
print('id: {row[0]}, name:{row[1]}, age: ${row[2]}');
}
await conn.close();
}
在这个例子中,我们查询了一个用户ID为1的记录,然后将查询结果遍历并输出打印。
插入一条记录
Future main() async {
final conn = await MySqlConnection.connect(ConnectionSettings(
host: 'localhost',
port: 3306,
user: 'root',
password: 'password',
db: 'mydb',
));
final result = await conn.query(
'INSERT INTO users (name, age) VALUES (?, ?)', ['Tom', 25]);
print('Insert ID: ${result.insertId}');
await conn.close();
}
在这个示例中,我们向 users
表中插入了一个名为 Tom
年龄为 25
的新记录,并输出了插入的ID。
更新一条记录
Future main() async {
final conn = await MySqlConnection.connect(ConnectionSettings(
host: 'localhost',
port: 3306,
user: 'root',
password: 'password',
db: 'mydb',
));
final result = await conn
.query('UPDATE users SET age = ? WHERE id = ?', [26, 1]);
print('Changed ${result.affectedRows} rows');
await conn.close();
}
在这个示例中,我们更新了一个ID为1的记录的年龄,并输出了更新的行数。
删除一条记录
Future main() async {
final conn = await MySqlConnection.connect(ConnectionSettings(
host: 'localhost',
port: 3306,
user: 'root',
password: 'password',
db: 'mydb',
));
final result = await conn.query('DELETE FROM users WHERE id = ?', [1]);
print('Deleted ${result.affectedRows} rows');
await conn.close();
}
在这个示例中,我们删除了一个ID为1的记录,并输出了删除的行数。
总结
到此为止,我们已经介绍了如何在Dart中连接MySQL数据库,并执行常见的 CRUD 操作。使用mysql1包,我们可以轻松地操作MySQL数据库,并处理其它高级数据操作。希望这篇文章能够对你有所帮助,谢谢收看!