如何使用Dart连接MySQL数据库

如何使用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数据库,并处理其它高级数据操作。希望这篇文章能够对你有所帮助,谢谢收看!

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程