MySqlSwiftNative 1.0.10

MySqlSwiftNative 1.0.10

测试已测试
Lang语言 SwiftSwift
许可证 自定义
发布最新发布2016年1月
SPM支持 SPM

Marius Corega 维护。



  • Marius Corega

什么是 MySQLDriver for Swift?

你是否曾想要从 Swift 中连接到 MySQL 数据库而不使用 C 客户端?现在你可以做到了。MySQLDriver for Swift 是用 Swift 编程语言编写的原生驱动程序。使用此驱动程序,您可以直接从 Swift 代码连接到 MySQL 数据库服务器。您可以在 Mac、iOS 设备和 Linux 上使用它。

如何开始?

//create the connection object
let con = MySQL.Connection()
let db_name = "swift_test"

do{
  // open a new connection
  try con.open("localhost", user: "test", passwd: "test")

  // create a new database for tests, use exec since we don't expect any results
  try con.exec("DROP DATABASE IF EXISTS " + db_name)
  try con.exec("CREATE DATABASE IF NOT EXISTS " + db_name)

  // select the database
  try con.use(db_name)

  // create a table for our tests
  try con.exec("CREATE TABLE test (id INT NOT NULL AUTO_INCREMENT, age INT, cash FLOAT, name VARCHAR(30), PRIMARY KEY (id))")

  // prepare a new statement for insert
  let ins_stmt = try con.prepare("INSERT INTO test(age, cash, name) VALUES(?,?,?)")

  // prepare a new statement for select
  let select_stmt = try con.prepare("SELECT * FROM test WHERE Id=?")

  // insert 300 rows
  for i in 1...300 {
    // use a int, float and a string
    try ins_stmt.exec([10+i, Float(i)/3.0, "name for \(i)"])
  }

  // read rows 30 to 60
  for i in 30...60 {
    do {
      // send query
      let res = try select_stmt.query([i])

      //read all rows from the resultset
      let rows = try res.readAllRows()

      // print the rows
      print(rows)
    }
    catch (let err) {
      // if we get a error print it out
      print(err)
    }
  }
  try con.close()
}
catch (let e) {
  print(e)
}

许可证

版权所有 © 2015, Marius Corega,保留所有权利。

任何人都可以出于任何目的使用此软件,包括商业应用,并自由修改和重新分发。在满足以下条件的情况下,允许以源代码形式或二进制形式重新分发和使用,无论是否有修改:

  • 源代码重新分发必须保留上述版权声明、本条件列表和以下免责声明。

  • 二进制形式的重新分发必须复制上述版权声明、本条件列表和以下免责声明到提供的文档或其他材料中。

  • 未经事先书面许可,不得使用 {组织} 的名称或其贡献者的姓名来认可或推广由此软件派生的产品。

  • 如果您使用此软件制作产品,必须在产品文档中提出认可。修改后的源代码版本必须明确标记为修改版本,并且不得错误地代表为原始软件。此声明不得从任何源代码或二进制分发作删除或修改。

本软件由版权所有者和贡献者提供“现状”和任何明示或暗示的保证,包括但不限于对适销性和针对特定目的的适用性的暗示保证均予以否认。在任何情况下,版权所有者或贡献者不对因使用此软件而产生的任何直接、间接、偶然、特殊、示范性或后果性的损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,无论此类损害是因何种原因引起的,并且在任何理论责任(包括疏忽或不作为)中,即使被告知此类损害的可能性。