当前位置: 首页 > news >正文

幼儿网站模板温州专业手机网站制作哪家便宜

幼儿网站模板,温州专业手机网站制作哪家便宜,wordpress模板带数据库,软件开发平台简介DuckDB是一个嵌入式SQL数据库引擎。它与众所周知的SQLite非常相似#xff0c;但它是为olap风格的工作负载设计的。DuckDB支持各种数据类型和SQL特性。凭借其在以内存为中心的环境中处理高速分析的能力#xff0c;它迅速受到数据科学家和分析师的欢迎。在这篇博文中#xff0… DuckDB是一个嵌入式SQL数据库引擎。它与众所周知的SQLite非常相似但它是为olap风格的工作负载设计的。DuckDB支持各种数据类型和SQL特性。凭借其在以内存为中心的环境中处理高速分析的能力它迅速受到数据科学家和分析师的欢迎。在这篇博文中我们将探索在Go中使用DuckDB。 DuckDB的主要优点 内存内执行DuckDB主要在内存中操作但也支持内存外执行。这使得它能够非常快速有效地执行计算。完整的SQL支持DuckDB支持广泛的SQL特性这使得它对于各种类型的数据操作非常灵活。事务支持DuckDB支持事务这是在许多应用程序中维护数据完整性和一致性的关键特性。向量化执行DuckDB使用向量化查询执行从而提高CPU利用率和性能。易于集成DuckDB为多种编程语言提供api包括Python、R、c、Rust、Java和Go。这使得将DuckDB集成到现有工作流和系统中变得更加容易。开源DuckDB是开源的这意味着它的源代码可以免费修改或增强。这允许社区驱动的改进和对特定用例的适应性。 环境准备 在开始使用DuckDB和Go之前需要安装DuckDB Go驱动程序。你可以使用Go的包管理器下载。在终端上运行以下命令 github.com/marcboeker/go-duckdb连接数据库 package mainimport (database/sqllog_ github.com/marcboeker/go-duckdb )func main() {// Empty datasource means, that DB will be solely in-memory, otherwise you could specify a filename heredb, err : sql.Open(duckdb, )if err ! nil {log.Fatal(Failed to connect to database:, err)}defer db.Close() }安装了驱动程序后现在可以从Go应用程序建立到DuckDB的连接。sql.Open() 函数用于连接到DuckDB空数据源名称表示我们正在使用内存中的数据库你也可以指定数据库文件名称实现数据持久化相对于当前项目所在目录。 初始化表和数据 现在连接已经建立你可以执行各种数据库操作了。我们首先创建表然后插入初始化数据进行测试 package mainimport (database/sqlfmtlogtime_ github.com/marcboeker/go-duckdb )var db *sql.DB var err errorfunc main() {// Empty datasource means, that DB will be solely in-memory, otherwise you could specify a filename heredb, err sql.Open(duckdb, data.db)if err ! nil {log.Fatal(Failed to connect to database:, err)}defer db.Close()init_data() }func init_data() {// Create table_, err : db.Exec(CREATE TABLE employee (id INTEGER,name VARCHAR(20),start_dt TIMESTAMP,is_remote BOOLEAN))if err ! nil {log.Fatal(err)}// Insert some data in table_, err db.Exec(INSERT INTO employee (id, name, start_dt, is_remote)VALUES(1, John Doe, 2022-01-01 09:00:00, true),(2, Jane Smith, 2023-03-15 10:00:00, false))if err ! nil {log.Fatal(err)} }在处理较大的数据集时考虑使用事务和预处理语句以提高效率和安全性。记住总是处理错误并在完成后关闭连接。 查询单行或多行 要获取数据可以使用QueryRow() 函数来选择单行 func query_one() {// Variables to store query resultvar id intvar name stringvar startDt time.Timevar isRemote bool// Query single rowif err : db.QueryRow(SELECT id, name, start_dt, is_remote FROM employee WHERE id ?, 1).Scan(id, name, startDt, isRemote); err ! nil {if err sql.ErrNoRows {log.Println(No rows found.)} else {log.Fatalf(unable to execute query: %v, err)}} else {fmt.Println(Select 1 row result:\nID:, id, Name:, name, Start Datetime:, startDt, Is Remote:, isRemote)} }不要忘记处理任何错误并正确关闭连接和结果集如上所示。 要选择多行可以使用Query() 函数 func query_all() {// Variables to store query resultvar id intvar name stringvar startDt time.Timevar isRemote bool// Query multiple rowsrows, err : db.Query(SELECT id, name, start_dt, is_remote FROM employee)if err ! nil {log.Fatal(err)}defer rows.Close()// Print the resultsfmt.Println(Results:)for rows.Next() {err rows.Scan(id, name, startDt, isRemote)if err ! nil {log.Fatal(err)}fmt.Println(ID:, id, Name:, name, Start Datetime:, startDt, Is Remote:, isRemote)}err rows.Err()if err ! nil {log.Fatal(err)} } 我们用SQL命令调用Query()函数从employee表中选择所有记录。 然后使用rows.Next()进入循环该循环遍历查询返回的每一行。在循环中我们使用Scan()函数将当前行的列复制到id、name、startDt和isRemote变量中。然后使用fmt.Println()函数打印这些变量。循环结束后使用rows.Err()检查迭代过程中的错误。如果有错误我们使用log.Fatalerr打印它。 错误处理和事务 在现实世界中Go代码必须准备好处理错误和处理事务。SQL包提供了所有必要的工具 func trans_insert() {// Error handling and transactionstx, err : db.Begin()if err ! nil {log.Fatal(err)}defer tx.Rollback()_, err tx.Exec(INSERT INTO employee (id, name, start_dt, is_remote)VALUES(3000000000, id int64 instead of int32, 2022-06-17 11:00:00, true))if err ! nil {log.Printf(ERROR: %s\n, err.Error()) // Do not fail, just print the error in output}err tx.Commit()if err ! nil {log.Fatal(err)} }此代码开始事务尝试执行插入语句然后提交事务。如果在执行期间发生错误它将回滚在该事务中所做的任何更改。 完整代码 package mainimport (database/sqlfmtlogtime_ github.com/marcboeker/go-duckdb )var db *sql.DB var err errorfunc main() {// Empty datasource means, that DB will be solely in-memory, otherwise you could specify a filename heredb, err sql.Open(duckdb, data.db)if err ! nil {log.Fatal(Failed to connect to database:, err)}defer db.Close()// init_data()query_one()// trans_insert()query_all() }func init_data() {// Create table_, err db.Exec(CREATE TABLE employee (id INTEGER,name VARCHAR(20),start_dt TIMESTAMP,is_remote BOOLEAN))if err ! nil {log.Fatal(err)}// Insert some data in table_, err db.Exec(INSERT INTO employee (id, name, start_dt, is_remote)VALUES(1, John Doe, 2022-01-01 09:00:00, true),(2, Jane Smith, 2023-03-15 10:00:00, false))if err ! nil {log.Fatal(err)} }func trans_insert() {// Error handling and transactionstx, err : db.Begin()if err ! nil {log.Fatal(err)}defer tx.Rollback()_, err tx.Exec(INSERT INTO employee (id, name, start_dt, is_remote)VALUES(3000000000, id int64 instead of int32, 2022-06-17 11:00:00, true))if err ! nil {log.Printf(ERROR: %s\n, err.Error()) // Do not fail, just print the error in output}err tx.Commit()if err ! nil {log.Fatal(err)} }func query_one() {// Variables to store query resultvar id intvar name stringvar startDt time.Timevar isRemote bool// Query single rowif err : db.QueryRow(SELECT id, name, start_dt, is_remote FROM employee WHERE id ?, 1).Scan(id, name, startDt, isRemote); err ! nil {if err sql.ErrNoRows {log.Println(No rows found.)} else {log.Fatalf(unable to execute query: %v, err)}} else {fmt.Println(Select 1 row result:\nID:, id, Name:, name, Start Datetime:, startDt, Is Remote:, isRemote)} }func query_all() {// Variables to store query resultvar id intvar name stringvar startDt time.Timevar isRemote bool// Query multiple rowsrows, err : db.Query(SELECT id, name, start_dt, is_remote FROM employee)if err ! nil {log.Fatal(err)}defer rows.Close()// Print the resultsfmt.Println(Results:)for rows.Next() {err rows.Scan(id, name, startDt, isRemote)if err ! nil {log.Fatal(err)}fmt.Println(ID:, id, Name:, name, Start Datetime:, startDt, Is Remote:, isRemote)}err rows.Err()if err ! nil {log.Fatal(err)} } 最后总结 DuckDB对Go的支持允许开发人员直接从他们的Go应用程序中执行强大的数据分析操作。强大的数据管理系统和通用高效的编程语言之间的这种集成为更先进的数据处理应用打开了大门。有了本文提供的基础知识你就可以开始探索这些可能性了。
http://www.hkea.cn/news/14355926/

相关文章:

  • 深圳 网站建设设计九口袋网站建设
  • 温州 网站建设公司网站没有备案是不是违法的
  • 校内 实训网站 建设网站类网站开发
  • 佛山网站建设找千界如何避免网站被耍流量
  • 网站分享做描点链接wordpress 跨站调用
  • 自己建设网站不会咋办呀杭州清风室内设计培训学校
  • 新网互联 网站上传修改 wordpress footer
  • 旅游网站开发研究背景国外做直播网站
  • 阿里巴巴网站国际站建设网架公司的螺丝是不是公司安好
  • 做关于时尚网站的目的学生建设网站
  • 佛山网站建设公司哪个性比价好些wordpress可以接广告吗
  • 南宁seo建站廊坊手机模板建站
  • 微信团购网站怎么做广州做企业网站找哪家公司好
  • 宁波网站建站推广哪个网站做海报好
  • 网站手机版怎么做的wordpress密码阅读
  • 金华专业网站制作公司wordpress 淘宝 采集插件
  • 内江网站建设公司正规的教育机构有哪些
  • 现在网站一般都是什么语言做的基于wordpress开发教程
  • 山东网站定制设计网络营销策划书应该怎么写
  • 网站移动端和手机端分开做广告公司seo是什么职位
  • 徐州模板开发建站购物网站开发的难点
  • 公司怎么做网站平台黄冈论坛东湖社区
  • 网站制作详细过程百度网页版入口链接
  • 可以申请免费的个人网站吗wordpress 文章分类
  • 怎么能创建自己的网站小程序账号申请
  • 网站制作与app开发哪个要难一点网站云优化
  • 网站全屏广告百度快速排名软件下载
  • 营销型网站手机端聋哑工作设计做网站
  • 网站建设主体设计要求网站怎么营销推广
  • 四大门户网站做网站需要学习什么知识