GO-0008
原文
Accessing databases
Tutorial: Accessing a relational database¶
Introduces the basics of accessing a relational database using Go and the database/sql package in the standard library.
Accessing relational databases¶
An overview of Go's data access features.
Opening a database handle¶
You use the Go database handle to execute database operations. Once you open a handle with database connection properties, the handle represents a connection pool it manages on your behalf.
Executing SQL statements that don't return data¶
For SQL operations that might change the database, including SQL INSERT, UPDATE, and DELETE, you use Exec methods.
Querying for data¶
For SELECT statements that return data from a query, using the Query or QueryRow method.
Using prepared statements¶
Defining a prepared statement for repeated use can help your code run a bit faster by avoiding the overhead of re-creating the statement each time your code performs the database operation.
Executing transactions¶
sql.Tx exports methods representing transaction-specific semantics, including Commit and Rollback, as well as methods you use to perform common database operations.
Canceling in-progress database operations¶
Using context.Context, you can have your application's function calls and services stop working early and return an error when their processing is no longer needed.
Managing connections¶
For some advanced programs, you might need to tune connection pool parameters or work with connections explicitly.
Avoiding SQL injection risk¶
You can avoid an SQL injection risk by providing SQL parameter values as sql package function arguments
Wiki
The Go Wiki, maintained by the Go community, includes articles about the Go language, tools, and other resources.
See the Learn page at the Wiki for more Go learning resources.
Non-English Documentation
See the NonEnglish page at the Wiki for localized documentation.
1. 全文专业翻译(英译汉)
访问数据库
教程:访问关系型数据库
介绍如何使用 Go 和标准库中的 database/sql 包来访问关系型数据库的基础知识。
访问关系型数据库
概述 Go 的数据访问特性。
打开数据库句柄
您使用 Go 数据库句柄执行数据库操作。一旦用数据库连接属性打开一个句柄后,该句柄代表了一个由 Go 管理的连接池。
执行不返回数据的 SQL 语句
对于可能更改数据库的 SQL 操作,包括 SQL INSERT、UPDATE 和 DELETE,您应使用 Exec 方法。
查询数据
对于从查询中返回数据的 SELECT 语句,应该使用 Query 或 QueryRow 方法。
使用预处理语句
为重复使用定义预处理语句可以帮助您的代码运行得更快,因为它避免了每次执行数据库操作时重新创建语句的开销。
执行事务
sql.Tx 导出了表示事务特定语义的方法,包括 Commit 和 Rollback,以及用于执行常见数据库操作的方法。
取消正在进行的数据库操作
通过使用 context.Context,您可以使应用程序的功能调用和服务在不再需要处理时提前停止工作并返回错误。
管理连接
对于一些高级程序,您可能需要调整连接池参数或显式地与连接进行工作。
避免 SQL 注入风险
通过将 SQL 参数值作为 sql 包函数参数提供,可以避免 SQL 注入风险。
维基
由 Go 社区维护的 Go 维基包含了关于 Go 语言、工具及其他资源的文章。
请参阅维基上的学习页面获取更多 Go 学习资源。
非英语文档
请参阅维基上的非英语页面以获取本地化文档。
2. 词汇表梳理
本次共收获单词:36 个
| 序号 | 单词 | 词性 | 音标 | 拼读 | 释义 |
|---|---|---|---|---|---|
| 1 | Accessing | 动词(现在分词) | /ˈæksesɪŋ/ | Ac·cess·ing 艾-克-塞-辛 | 访问;存取。指对数据库或其他资源的读写操作。 |
| 2 | Databases | 名词(复数) | /ˈdeɪtəˌbeɪsɪz/ | Data·bases 戴-特-贝-斯 | 数据库。存储和组织数据的集合。 |
| 3 | Relational | 形容词 | /rɪˈleɪʃənl/ | Re·la·tion·al 瑞-雷-申-内-欧 | 关系型的。指基于关系模型设计的数据库系统。 |
| 4 | Introduces | 动词(第三人称单数) | /ˈɪntrəˌdjuːs/ | In·tro·duces 因-特-瑞-杜-斯 | 介绍。引导读者了解新概念或技术。 |
| 5 | Basics | 名词(复数) | /ˈbeɪsɪks/ | Bas·ics 贝-西-克斯 | 基础。指某一领域中最基本的知识点。 |
| 6 | Features | 名词(复数) | /ˈfiːtʃərz/ | Fea·tures 菲-车-兹 | 特性;功能。指软件或语言提供的具体能力。 |
| 7 | Handle | 名词 / 动词 | /ˈhændl/ | Han·dle 汉-兜 | 句柄;句柄。指用于引用资源的对象。 |
| 8 | Properties | 名词(复数) | /ˈprɒpərtiz/ | Prop·er·ties 普-罗-帕-提-兹 | 属性;特性。指对象或资源的具体特征。 |
| 9 | Represents | 动词(第三人称单数) | /ˌreprɪˈzentz/ | Rep·re·sents 瑞-普-瑞-曾-茨 | 代表;表示。指某个实体作为另一实体的代理。 |
| 10 | Executing | 动词(现在分词) | /ˈɛksəˌkjuːtɪŋ/ | Ex·e·cut·ing 艾-克-赛-求-丁 | 执行。指运行或处理一段代码或命令。 |
| 11 | Statements | 名词(复数) | /ˈsteɪtmənts/ | State·ments 斯-特-特-门-特-兹 | 语句。SQL 或其他编程语言中完成特定任务的指令。 |
| 12 | Change | 名词 / 动词 | /tʃeɪndʒ/ | Chan·ge 切-安-吉 | 变更;改变。指修改数据库状态的行为。 |
| 13 | Methods | 名词(复数) | /ˈmeθədz/ | Meth·ods 梅-瑟-兹 | 方法。面向对象编程中对象的行为定义。 |
| 14 | Transactions | 名词(复数) | /trænˈzækʃənz/ | Trans·ac·tions 特-兰-扎-克-申-兹 | 事务。确保一组数据库操作要么全部成功,要么全部失败的机制。 |
| 15 | Commit | 动词 / 名词 | /kəˈmɪt/ | Com·mit 科-米-特 | 提交。确认事务的所有更改并使其永久生效。 |
| 16 | Rollback | 动词 / 名词 | /ˈroʊlbæk/ | Roll·back 柔-尔-巴-克 | 回滚。撤销事务所做的所有更改。 |
| 17 | Context | 名词 | /ˈkɑːntekst/ | Con·text 康-特-斯特 | 上下文。在 Go 中指控制超时和取消的环境。 |
| 18 | Canceling | 动词(现在分词) | /ˈkænsəlɪŋ/ | Can·cel·ing 坎-赛-林 | 取消。指中断正在进行的操作。 |
| 19 | Tuning | 动词(现在分词) | /ˈtuːnɪŋ/ | Tun·ing 图-宁 | 调优。优化系统性能的过程。 |
| 20 | Parameters | 名词(复数) | /pəˈræmɪtərz/ | Pa·ra·me·ters 珀-拉-米-特-兹 | 参数。函数或方法接受的输入值。 |
| 21 | Explicitly | 副词 | /ɪkˈsplɪsɪtli/ | Ex·pli·cit·ly 伊-克-利-斯-特-里 | 明确地。指清晰且不含糊的方式。 |
| 22 | Avoiding | 动词(现在分词) | /əˈvɔɪdɪŋ/ | A·void·ing 额-沃-伊-丁 | 避免。采取措施防止不利情况的发生。 |
| 23 | Injection | 名词 | /ɪnˈdʒɛkʃən/ | In·jec·tion 因-杰-克-申 | 注入。指未经授权的数据插入攻击。 |
| 24 | Risk | 名词 | /rɪsk/ | Risk 瑞-斯克 | 风险。潜在的负面后果或威胁。 |
| 25 | Providing | 动词(现在分词) | /prəˈvaɪdɪŋ/ | Pro·vid·ing 普-瑞-维-丁 | 提供。向系统或用户提供所需的信息或服务。 |
| 26 | Arguments | 名词(复数) | /ˈɑːrɡjumənts/ | Ar·gu·ments 阿-格-尤-蒙-特-兹 | 参数。函数调用时传递的实际值。 |
| 27 | Community | 名词 | /kəˈmjunɪti/ | Com·mu·ni·ty 科-谬-尼-提 | 社区。共享共同兴趣或目标的人群集合。 |
| 28 | Includes | 动词(第三人称单数) | /ɪnˈkluːdz/ | In·cludes 因-克-鲁-兹 | 包含。指某集合中含有某些元素。 |
| 29 | Resources | 名词(复数) | /rɪˈsɔrsɪz/ | Re·sources 瑞-索-斯-兹 | 资源。可供利用的信息、工具或支持。 |
| 30 | Localized | 形容词 | /ˈloʊkəˌlaɪzd/ | Lo·cal·ized 洛-克-赖-兹-德 | 本地化的。指针对特定地区或语言进行适配的内容。 |
| 31 | Learning | 动词(现在分词) / 名词 | /ˈlɜːrnɪŋ/ | Learn·ing 勒-尔-宁 | 学习。获取新知识或技能的过程。 |
| 32 | Non-English | 形容词 | /ˌnɒnˈɪŋɡlɪʃ/ | Non-Eng·lish 诺-恩 英-吉-什 | 非英语的。指除英语外的语言或资源。 |
| 33 | Page | 名词 | /peɪdʒ/ | Page 佩-吉 | 页面。网站或文档中的一个独立部分。 |
| 34 | Behalf | 名词 | /bɪˈhɑːf/ | Be·half 比-哈-夫 | 利益,方面;代表。在正式或技术协作语境中,几乎仅用于固定短语 "on behalf of",表示"代表某人或某组织行事"。 |
| 35 | Tune | 动词 / 名词 | /tuːn/ | Tune 图-恩 | 作动词时,意为"调整,调优"。在计算机和系统工程领域,特指对程序、数据库、网络或算法的参数进行精细调节,以优化性能、资源利用率或响应速度。 |
| 36 | Semantics | 名词(通常作不可数名词,但形式为复数) | /sɪˈmæntɪks/ | Se·man·tics 西-曼-提-克斯 | 语义;语义学。在计算机科学中,指编程语言、协议或系统中语法结构所表达的实际含义和行为规则,而非其表面形式。 |

浙公网安备 33010602011771号