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

揭阳网站开发mituaduehtml 网站源码

揭阳网站开发mituad,uehtml 网站源码,学seo优化,公司比较好编程笔记 Golang基础 047 mysql数据库连接与操作 一、连接与操作1. 安装MySQL驱动2. 导入驱动包3. 连接数据库4. 执行SQL查询和操作5. 使用连接池6. 处理事务 二、连接字符串三、应用示例四、比较 MySQL凭借其开源、高效、稳定、灵活、安全以及广泛的社区支持等诸多优势#x… 编程笔记 Golang基础 047 mysql数据库连接与操作 一、连接与操作1. 安装MySQL驱动2. 导入驱动包3. 连接数据库4. 执行SQL查询和操作5. 使用连接池6. 处理事务 二、连接字符串三、应用示例四、比较 MySQL凭借其开源、高效、稳定、灵活、安全以及广泛的社区支持等诸多优势在全球范围内广受欢迎尤其是在Web应用程序、云计算和大规模数据处理领域得到了广泛应用。 一、连接与操作 在Go语言中连接和操作MySQL数据库通常涉及以下步骤 1. 安装MySQL驱动 要使用Go语言连接MySQL首先需要安装一个兼容的数据库驱动。go-sql-driver/mysql 是一个广泛使用的开源驱动可以通过 go get 命令来安装 go get -u github.com/go-sql-driver/mysql2. 导入驱动包 在Go源代码中你需要导入 database/sql 包以及 github.com/go-sql-driver/mysql 驱动包 import (database/sql_ github.com/go-sql-driver/mysql )这里的下划线 _ 表示虽然导入了包但并不直接引用包内的任何变量或函数。由于MySQL驱动会通过其init函数自动注册到 database/sql 包的驱动列表中因此只需要在导入时这样写即可。 3. 连接数据库 创建数据库连接实例通常定义一个全局变量来存放 sql.DB 类型的对象 import (fmtdatabase/sql_ github.com/go-sql-driver/mysql )func main() {// DSN (Data Source Name) 是包含数据库连接信息的字符串dsn : user:passwordtcp(localhost:3306)/dbname?charsetutf8mb4parseTimeTruelocLocal// 创建数据库连接db, err : sql.Open(mysql, dsn)if err ! nil {panic(err.Error())}defer db.Close()// 检查连接是否有效err db.Ping()if err ! nil {panic(err.Error())} else {fmt.Println(Connected to the database!)} }DSN应当包含如下信息 user: 数据库用户名password: 密码tcp(localhost:3306): 服务器地址和端口这里是本地主机上的默认MySQL端口/dbname: 要连接的数据库名称charsetutf8mb4: 设置字符集parseTimeTrue: 让驱动解析时间类型字段为time.Time类型locLocal: 设置时区为本地时区 4. 执行SQL查询和操作 使用 db 对象执行SQL查询或更新操作 // 示例执行查询 rows, err : db.Query(SELECT * FROM users WHERE id ?, 1) if err ! nil {log.Fatal(err) } defer rows.Close()for rows.Next() {var id intvar name string// 根据实际表结构定义其他列变量err rows.Scan(id, name, ...)if err ! nil {log.Fatal(err)}fmt.Println(id, name) }// 示例执行插入或更新操作 _, err db.Exec(INSERT INTO users (name, email) VALUES (?, ?), John Doe, john.doeexample.com) if err ! nil {log.Fatal(err) }5. 使用连接池 为了提高性能和资源利用率可以利用 sql.DB 自带的连接池功能 // 初始化连接池 var maxOpenConns 10 var maxIdleConns 5 db.SetMaxOpenConns(maxOpenConns) db.SetMaxIdleConns(maxIdleConns)6. 处理事务 对于涉及到多条SQL语句需要原子性执行的情况可以使用事务 tx, err : db.Begin() if err ! nil {return err }// 在事务内执行操作 _, err tx.Exec(UPDATE accounts SET balance balance - ? WHERE user_id ?, amount, userId) if err ! nil {tx.Rollback()return err }_, err tx.Exec(INSERT INTO transactions ...) if err ! nil {tx.Rollback()return err }// 提交事务 err tx.Commit() if err ! nil {return err }以上就是使用Go语言连接MySQL数据库并进行基本操作的一个大致流程。根据实际需求可能还需要处理更复杂的情况例如预编译SQL语句、分页查询、批量操作等。 二、连接字符串 Go语言连接MySQL数据库的字符串格式DSNData Source Name通常如下 user:passwordtcp(host:port)/dbname?optionvalueoption2value2...各个部分的含义 user: 数据库用户名password: 密码host:port: MySQL服务器的地址和端口号默认端口为3306/dbname: 要连接的数据库名称optionvalue: 可选的连接参数比如 charsetutf8mb4: 指定字符集parseTimetrue: 解析datetime和timestamp类型的值为Go的time.Time类型locLocal: 设置时区其他可能的选项还包括sslmode、timeout等 举例 dsn : root:passwordtcp(127.0.0.1:3306)/testdb?charsetutf8mb4parseTimetruelocLocal而对于连接Microsoft SQL ServerMSSQLGo语言中使用的连接字符串格式则有所不同例如使用github.com/denisenkom/go-mssqldb驱动时其格式类似于 serverserver;user idusername;passwordpassword;databasedbname;portport;encryptboolean;...各部分含义 server: MSSQL服务器地址可以是IP或域名user id: 登录数据库的用户名password: 密码database: 要连接的数据库名称port: 服务器端口号默认为1433encrypt: 是否启用SSL加密连接可以是true或false 示例 dsn : serverlocalhost;user idmyusername;passwordmypassword;databasemydb;port1433总结起来尽管两者都是连接字符串但它们的语法和关键字差异明显分别对应MySQL和MSSQL不同的连接约定。在实际使用时需按照相应的数据库驱动文档来构造合适的连接字符串。 三、应用示例 以下是一个完整的Go语言连接MySQL数据库并执行一些基本操作如查询、插入和更新的综合示例程序 package mainimport (database/sqlfmtlog_ github.com/go-sql-driver/mysql )// 数据库连接配置 const (DBHost localhostDBPort 3306DBUser your_usernameDBPassword your_passwordDBName your_database )func main() {// 构建DSNData Source Namedsn : fmt.Sprintf(%s:%stcp(%s:%d)/%s?charsetutf8mb4parseTimeTruelocLocal, DBUser, DBPassword, DBHost, DBPort, DBName)// 创建数据库连接db, err : sql.Open(mysql, dsn)if err ! nil {log.Fatal(err)}defer db.Close()// 检查连接是否成功err db.Ping()if err ! nil {log.Fatal(err)} else {fmt.Println(Successfully connected to the database.)}// 示例操作插入一条新记录insertStmt : INSERT INTO users (name, email) VALUES (?, ?)result, err : db.Exec(insertStmt, John Doe, john.doeexample.com)if err ! nil {log.Fatal(err)}lastInsertedID, err : result.LastInsertId()if err ! nil {log.Fatal(err)}fmt.Printf(Inserted new user with ID: %d\n, lastInsertedID)// 示例操作查询记录queryStmt : SELECT id, name, email FROM users WHERE id ?var id intvar name, email stringrow : db.HumanRow(queryStmt, lastInsertedID)err row.Scan(id, name, email)if err ! nil err ! sql.ErrNoRows {log.Fatal(err)} else if err sql.ErrNoRows {fmt.Println(No rows found.)} else {fmt.Printf(Retrieved user info: ID%d, Name%s, Email%s\n, id, name, email)}// 示例操作更新记录updateStmt : UPDATE users SET email ? WHERE id ?res, err : db.Exec(updateStmt, john.doe.updatedexample.com, lastInsertedID)if err ! nil {log.Fatal(err)}affectCount, err : res.RowsAffected()if err ! nil {log.Fatal(err)}fmt.Printf(Updated %d rows.\n, affectCount) }注意这个示例假设你已经有了一个名为users的表并且表中有id整数主键、name字符串和email字符串这三个字段。在实际应用中请替换your_username、your_password和your_database为实际的数据库用户名、密码和数据库名称。同时根据实际的表结构调整SQL语句。 四、比较 MySQL数据库与Microsoft SQL ServerMSSQL数据库是两种广泛应用的关系型数据库管理系统RDBMS它们各自具有独特的特性和适用场景。以下是一些主要区别点 开发背景与许可费用 MySQL由瑞典MySQL AB公司开发后来被Oracle公司收购现在是一个开源数据库系统遵循GPLv2协议。MySQL可以免费下载和使用但企业版提供了额外的支持和服务选项。MSSQL由微软Microsoft开发是一个闭源的商业产品。使用MSSQL需要购买相应授权有多种版本供不同规模的企业和个人选用包括Express免费版本、Developer、Standard、Enterprise等。 跨平台支持 MySQL支持多平台可在Windows、Linux、Unix等多个操作系统上运行具有较好的跨平台适应性。MSSQL早期主要面向Windows平台随着Azure SQL的发展MSSQL Server现在也有了Linux版本但核心市场仍以Windows为主。 性能与资源消耗 MySQL以其轻量级和快速著称尤其适合中小型网站和Web应用程序能以较少的资源处理较高的并发请求。然而在大规模数据处理、复杂查询以及高度并发的OLTP/OLAP场景下与高端商业数据库相比可能存在差距。MSSQL在处理大型数据库和复杂事务方面表现出色特别是对于高性能要求和大数据处理场景提供了强大的存储过程、触发器等功能同时也消耗更多的硬件资源。 功能特性 MySQL具有灵活的数据类型如ENUM和SET类型支持LIMIT关键词支持无符号整数类型对Web应用友好易于部署和扩展。但早期版本在窗口函数、XML处理、高级分析功能等方面相对薄弱。MSSQL提供丰富的企业级特性如全文搜索、数据分析服务Analysis Services、报表服务Reporting Services等。支持复杂的事务处理提供强大的T-SQL语言支持更加丰富的数据类型如NVARCHARUnicode字符串和NTEXT大量Unicode文本等。 管理工具与生态 MySQLMySQL Workbench是一款流行的图形界面工具但相对于SSMSSQL Server Management Studio而言功能可能没有那么全面和强大。MySQL的生态系统中有很多第三方工具和插件。MSSQLSSMS是专为MSSQL设计的强大管理工具提供了一站式的数据库管理体验包括设计、查询、备份还原、性能监视等众多功能。 安全性与合规性 MySQL提供各种安全措施如用户权限管理、SSL加密连接等但对于严格的法规遵从性需求可能需要更多定制化工作或配合其他工具。MSSQL内置了丰富的审计和安全功能满足严格的法规遵从性标准如HIPAA、SOX等并且能够很好地整合到微软的企业安全框架之中。 社区支持与生态系统 MySQL作为一个开源项目MySQL有着庞大的社区支持许多开发者贡献代码和解决相关问题同时有大量的开源工具和教程可供参考。MSSQL虽然不是开源软件但由于微软公司的实力MSSQL享有专业的技术支持和稳定的更新周期其生态系统包括大量的ISV合作伙伴、培训资源和技术文档。 总的来说MySQL和MSSQL在很多方面都有各自的优点和应用场景。MySQL适合那些追求低成本、高可用性和易部署的中小型企业或Web应用而MSSQL更适合需要高级企业功能、严格数据一致性保证以及紧密整合微软技术栈的大中型企业。随着两者都在不断迭代更新一些传统的区别也在逐渐模糊例如MSSQL引入了更多开源理念和技术而MySQL也在不断强化企业级特性。选择哪一个取决于项目的具体需求、预算、现有技术栈以及团队熟悉程度等因素。
文章转载自:
http://www.morning.hbxnb.cn.gov.cn.hbxnb.cn
http://www.morning.webife.com.gov.cn.webife.com
http://www.morning.xjqkh.cn.gov.cn.xjqkh.cn
http://www.morning.cjxqx.cn.gov.cn.cjxqx.cn
http://www.morning.snyqb.cn.gov.cn.snyqb.cn
http://www.morning.zfqdt.cn.gov.cn.zfqdt.cn
http://www.morning.bscsp.cn.gov.cn.bscsp.cn
http://www.morning.bhgnj.cn.gov.cn.bhgnj.cn
http://www.morning.mxxsq.cn.gov.cn.mxxsq.cn
http://www.morning.jhgxh.cn.gov.cn.jhgxh.cn
http://www.morning.ywpwq.cn.gov.cn.ywpwq.cn
http://www.morning.ftdlg.cn.gov.cn.ftdlg.cn
http://www.morning.rgmd.cn.gov.cn.rgmd.cn
http://www.morning.wgcng.cn.gov.cn.wgcng.cn
http://www.morning.rnpnn.cn.gov.cn.rnpnn.cn
http://www.morning.qdsmile.cn.gov.cn.qdsmile.cn
http://www.morning.lokext.com.gov.cn.lokext.com
http://www.morning.stbfy.cn.gov.cn.stbfy.cn
http://www.morning.c7513.cn.gov.cn.c7513.cn
http://www.morning.tlnbg.cn.gov.cn.tlnbg.cn
http://www.morning.krswn.cn.gov.cn.krswn.cn
http://www.morning.qwnqt.cn.gov.cn.qwnqt.cn
http://www.morning.xnnxp.cn.gov.cn.xnnxp.cn
http://www.morning.fnhxp.cn.gov.cn.fnhxp.cn
http://www.morning.knngw.cn.gov.cn.knngw.cn
http://www.morning.zdnrb.cn.gov.cn.zdnrb.cn
http://www.morning.nrfrd.cn.gov.cn.nrfrd.cn
http://www.morning.mngh.cn.gov.cn.mngh.cn
http://www.morning.ptmsk.cn.gov.cn.ptmsk.cn
http://www.morning.chzqy.cn.gov.cn.chzqy.cn
http://www.morning.fchkc.cn.gov.cn.fchkc.cn
http://www.morning.rwcw.cn.gov.cn.rwcw.cn
http://www.morning.rqgjr.cn.gov.cn.rqgjr.cn
http://www.morning.bzgpj.cn.gov.cn.bzgpj.cn
http://www.morning.bmtkp.cn.gov.cn.bmtkp.cn
http://www.morning.kkysz.cn.gov.cn.kkysz.cn
http://www.morning.ryfqj.cn.gov.cn.ryfqj.cn
http://www.morning.lmyq.cn.gov.cn.lmyq.cn
http://www.morning.nlgnk.cn.gov.cn.nlgnk.cn
http://www.morning.gyjld.cn.gov.cn.gyjld.cn
http://www.morning.jpgfq.cn.gov.cn.jpgfq.cn
http://www.morning.lhsdf.cn.gov.cn.lhsdf.cn
http://www.morning.zbkwj.cn.gov.cn.zbkwj.cn
http://www.morning.zsleyuan.cn.gov.cn.zsleyuan.cn
http://www.morning.rntgy.cn.gov.cn.rntgy.cn
http://www.morning.kndyz.cn.gov.cn.kndyz.cn
http://www.morning.tntbs.cn.gov.cn.tntbs.cn
http://www.morning.mqfhy.cn.gov.cn.mqfhy.cn
http://www.morning.krgjc.cn.gov.cn.krgjc.cn
http://www.morning.rmkyb.cn.gov.cn.rmkyb.cn
http://www.morning.plqsz.cn.gov.cn.plqsz.cn
http://www.morning.trjr.cn.gov.cn.trjr.cn
http://www.morning.lflsq.cn.gov.cn.lflsq.cn
http://www.morning.jqsyp.cn.gov.cn.jqsyp.cn
http://www.morning.gqfbh.cn.gov.cn.gqfbh.cn
http://www.morning.xwqxz.cn.gov.cn.xwqxz.cn
http://www.morning.hwlmy.cn.gov.cn.hwlmy.cn
http://www.morning.bpzw.cn.gov.cn.bpzw.cn
http://www.morning.pzcjq.cn.gov.cn.pzcjq.cn
http://www.morning.gtwtk.cn.gov.cn.gtwtk.cn
http://www.morning.tbstj.cn.gov.cn.tbstj.cn
http://www.morning.rpwck.cn.gov.cn.rpwck.cn
http://www.morning.zxqqx.cn.gov.cn.zxqqx.cn
http://www.morning.bsjxh.cn.gov.cn.bsjxh.cn
http://www.morning.pghry.cn.gov.cn.pghry.cn
http://www.morning.mfsjn.cn.gov.cn.mfsjn.cn
http://www.morning.kklwz.cn.gov.cn.kklwz.cn
http://www.morning.mfsjn.cn.gov.cn.mfsjn.cn
http://www.morning.blqgc.cn.gov.cn.blqgc.cn
http://www.morning.vtbtje.cn.gov.cn.vtbtje.cn
http://www.morning.rjxwq.cn.gov.cn.rjxwq.cn
http://www.morning.oioini.com.gov.cn.oioini.com
http://www.morning.tqlhn.cn.gov.cn.tqlhn.cn
http://www.morning.mgmyt.cn.gov.cn.mgmyt.cn
http://www.morning.hsgxj.cn.gov.cn.hsgxj.cn
http://www.morning.skcmt.cn.gov.cn.skcmt.cn
http://www.morning.mwkwg.cn.gov.cn.mwkwg.cn
http://www.morning.xdqrz.cn.gov.cn.xdqrz.cn
http://www.morning.hrzymy.com.gov.cn.hrzymy.com
http://www.morning.ymwrs.cn.gov.cn.ymwrs.cn
http://www.tj-hxxt.cn/news/257398.html

相关文章:

  • 大连企业做网站php网站开发技术代码
  • 湛江市微信网站建设企业用wordpress建立的网站
  • 现在都用什么网站找事做建设工程执业注册中心网站
  • 网站怎么设置百度收录百度信息流效果怎么样
  • 百度竞价网站谁做wordpress主题页脚信息修改
  • 什么网站可以做数据调查问卷南京最新发布
  • DW做的网站都能打开吗phpcmsv9 网站搬家
  • 网站建设执行风险网络推广有哪些渠道
  • 大型网站建站做部队网站技术
  • 丰顺网站建设巢湖网站制作
  • 网站服务名词解释网站功防教程
  • 公司营销网站怎么做打开全网搜索
  • 凡科网站后台在哪里.常州妇幼做的无创 在哪个网站查
  • 做平面vi网站新华网两学一做专题网站
  • 大型网站如何做别名做问卷的网站哪个好
  • 网站开始开发阶段的主要任务wordpress添加浮动
  • 做擦边网站佛山网站制作哪里实惠
  • 湛江市建网站沈阳市建设工程管理中心
  • 网站建设验收合同模板没网站做推广
  • 遵义网站制作如何收费潮动九州网站建设
  • 网站主页设计模板龙华龙岗光明最新通告
  • 购物网站的设计与实现论文自己在线房屋设计免费
  • 在元典公司做网站有合同吗wordpress编辑页面的颜色
  • 网站建设报告论文wordpress换模板
  • 网站建设首选沈阳高端网站建设网站 网址 域名
  • 余姚做网站首荐荣盛网络国内禁用的国外网站
  • 建设论坛网站用什么cms深圳手机网站模板
  • 住房与城乡建设部网站建造师信誉好的网站建设公司
  • 建设公众号官方网站抖音小程序免费制作平台
  • 桐乡做网站佛山网站设计网站公司