Day-00008

原文

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. 词汇表梳理(共收获 33 个单词)

  1. Accessing
    词性:动词(现在分词)
    音标:/ˈæksesɪŋ/(“艾-克-塞-辛”)
    音节划分:Ac·cess·ing
    释义:访问;存取。指对数据库或其他资源的读写操作。
    扩展信息:原形 access;名词 access。
    注意事项:常用于描述对数据库的操作权限或方式。
    例句:The application is accessing the database to fetch user data.
    中文翻译:应用程序正在访问数据库以获取用户数据。
  2. Databases
    词性:名词(复数)
    音标:/ˈdeɪtəˌbeɪsɪz/(“戴-特-贝-斯”)
    音节划分:Data·bases
    释义:数据库。存储和组织数据的集合。
    扩展信息:单数 database;形容词 databased(不常用)。
    注意事项:在 IT 领域,database 是核心术语之一。
    例句:We use relational databases for structured data storage.
    中文翻译:我们使用关系型数据库进行结构化数据存储。
  3. Relational
    词性:形容词
    音标:/rɪˈleɪʃənl/(“瑞-雷-申-内-欧”)
    音节划分:Re·la·tion·al
    释义:关系型的。指基于关系模型设计的数据库系统。
    扩展信息:名词 relation;副词 relationally。
    注意事项:强调表格之间的关联关系。
    例句:Most modern applications use relational databases.
    中文翻译:大多数现代应用程序使用关系型数据库。
  4. Introduces
    词性:动词(第三人称单数)
    音标:/ˈɪntrəˌdjuːs/(“因-特-瑞-杜-斯”)
    音节划分:In·tro·duces
    释义:介绍。引导读者了解新概念或技术。
    扩展信息:原形 introduce;过去式 introduced。
    注意事项:正式文档中常用作标题或开头部分。
    例句:This section introduces the basics of database management.
    中文翻译:本节介绍了数据库管理的基础知识。
  5. Basics
    词性:名词(复数)
    音标:/ˈbeɪsɪks/(“贝-西-克斯”)
    音节划分:Bas·ics
    释义:基础。指某一领域中最基本的知识点。
    扩展信息:单数 basic;形容词 basic。
    注意事项:通常用于入门级内容。
    例句:Understanding the basics is crucial before moving on to advanced topics.
    中文翻译:在进入高级主题之前,理解基础知识至关重要。
  6. Features
    词性:名词(复数)
    音标:/ˈfiːtʃərz/(“菲-车-兹”)
    音节划分:Fea·tures
    释义:特性;功能。指软件或语言提供的具体能力。
    扩展信息:单数 feature;动词 feature。
    注意事项:IT 文档中常列举各项 features。
    例句:The new version adds several important features.
    中文翻译:新版增加了几项重要功能。
  7. Handle
    词性:名词 / 动词
    音标:/ˈhændl/(“汉-兜”)
    音节划分:Han·dle
    释义:句柄;句柄。指用于引用资源的对象。
    扩展信息:动词 handle;形容词 handled。
    注意事项:数据库连接句柄是关键资源管理对象。
    例句:Use the database handle to execute queries.
    中文翻译:使用数据库句柄执行查询。
  8. Properties
    词性:名词(复数)
    音标:/ˈprɒpərtiz/(“普-罗-帕-提-兹”)
    音节划分:Prop·er·ties
    释义:属性;特性。指对象或资源的具体特征。
    扩展信息:单数 property;形容词 proprietary。
    注意事项:如数据库连接属性包括主机名、端口等。
    例句:Set the correct properties when configuring the database connection.
    中文翻译:配置数据库连接时设置正确的属性。
  9. Represents
    词性:动词(第三人称单数)
    音标:/ˌreprɪˈzentz/(“瑞-普-瑞-曾-茨”)
    音节划分:Rep·re·sents
    释义:代表;表示。指某个实体作为另一实体的代理。
    扩展信息:原形 represent;名词 representation。
    注意事项:强调抽象概念到具体实现的映射。
    例句:The object represents a row in the database table.
    中文翻译:该对象表示数据库表中的一行。
  10. Executing
    词性:动词(现在分词)
    音标:/ˈɛksəˌkjuːtɪŋ/
    音节划分:Ex·e·cut·ing
    释义:执行。指运行或处理一段代码或命令。
    扩展信息:原形 execute;名词 execution。
    注意事项:数据库上下文中常指 SQL 执行。
    例句:The program is executing an SQL query.
    中文翻译:程序正在执行一条 SQL 查询。
  11. Statements
    词性:名词(复数)
    音标:/ˈsteɪtmənts/(“斯-特-特-门-特-兹”)
    音节划分:State·ments
    释义:语句。SQL 或其他编程语言中完成特定任务的指令。
    扩展信息:单数 statement;动词 state。
    注意事项:SQL statements 包括 SELECT、INSERT 等。
    例句:Each SQL statement performs a specific action on the database.
    中文翻译:每条 SQL 语句对数据库执行特定操作。
  12. Change
    词性:名词 / 动词
    音标:/tʃeɪndʒ/(“切-安-吉”)
    音节划分:Chan·ge
    释义:变更;改变。指修改数据库状态的行为。
    扩展信息:形容词 changeable;名词 changer(不相关)。
    注意事项:数据库变更语句包括 INSERT、UPDATE 等。
    例句:The UPDATE statement changes existing records in the table.
    中文翻译:UPDATE 语句修改表中的现有记录。
  13. Methods
    词性:名词(复数)
    音标:/ˈmeθədz/(“梅-瑟-兹”)
    音节划分:Meth·ods
    释义:方法。面向对象编程中对象的行为定义。
    扩展信息:单数 method;动词 methodize(不常用)。
    注意事项:API 中的方法通常对应于具体操作。
    例句:The Query method retrieves data from the database.
    中文翻译:Query 方法从数据库中检索数据。
  14. Transactions
    词性:名词(复数)
    音标:/trænˈzækʃənz/(“特-兰-扎-克-申-兹”)
    音节划分:Trans·ac·tions
    释义:事务。确保一组数据库操作要么全部成功,要么全部失败的机制。
    扩展信息:单数 transaction;形容词 transactional。
    注意事项:ACID 属性是事务的核心原则。
    例句:All database operations within a transaction are atomic.
    中文翻译:事务内的所有数据库操作都是原子性的。
  15. Commit
    词性:动词 / 名词
    音标:/kəˈmɪt/(“科-米-特”)
    音节划分:Com·mit
    释义:提交。确认事务的所有更改并使其永久生效。
    扩展信息:名词 commit;形容词 committed。
    注意事项:与 rollback 对立,后者撤销更改。
    例句:After verifying the data, commit the transaction.
    中文翻译:验证数据后,提交事务。
  16. Rollback
    词性:动词 / 名词
    音标:/ˈroʊlbæk/(“柔-尔-巴-克”)
    音节划分:Roll·back
    释义:回滚。撤销事务所做的所有更改。
    扩展信息:无直接派生;与 commit 相对。
    注意事项:用于异常情况下恢复数据库一致性。
    例句:If an error occurs, perform a rollback to undo changes.
    中文翻译:如果发生错误,执行回滚以撤销更改。
  17. Context
    词性:名词
    音标:/ˈkɑːntekst/(“康-特-斯特”)
    音节划分:Con·text
    释义:上下文。在 Go 中指控制超时和取消的环境。
    扩展信息:形容词 contextual;副词 contextually。
    注意事项:context.Context 是并发控制的重要组件。
    例句:Use context.Context to manage timeouts and cancellations.
    中文翻译:使用 context.Context 管理超时和取消操作。
  18. Canceling
    词性:动词(现在分词)
    音标:/ˈkænsəlɪŋ/(“坎-赛-林”)
    音节划分:Can·cel·ing
    释义:取消。指中断正在进行的操作。
    扩展信息:原形 cancel;名词 cancellation。
    注意事项:与超时机制结合使用,提升响应速度。
    例句:You can cancel long-running operations if they exceed the timeout.
    中文翻译:如果长时间运行的操作超过超时时间,您可以取消它们。
  19. Tuning
    词性:动词(现在分词)
    音标:/ˈtuːnɪŋ/(“图-宁”)
    音节划分:Tun·ing
    释义:调优。优化系统性能的过程。
    扩展信息:原形 tune;名词 tuning。
    注意事项:数据库连接池调优是高级主题。
    例句:Advanced users may need to tune connection pool parameters.
    中文翻译:高级用户可能需要调优连接池参数。
  20. Parameters
    词性:名词(复数)
    音标:/pəˈræmɪtərz/(“珀-拉-米-特-兹”)
    音节划分:Pa·ra·me·ters
    释义:参数。函数或方法接受的输入值。
    扩展信息:单数 parameter;形容词 parametric。
    注意事项:数据库连接池的参数影响性能。
    例句:Adjust the parameters to optimize performance.
    中文翻译:调整参数以优化性能。
  21. Explicitly
    词性:副词
    音标:/ɪkˈsplɪsɪtli/(“伊-克-利-斯-特-里”)
    音节划分:Ex·pli·cit·ly
    释义:明确地。指清晰且不含糊的方式。
    扩展信息:形容词 explicit;名词 explicitness。
    注意事项:强调操作的直接性和透明度。
    例句:Work with connections explicitly to control resources.
    中文翻译:明确地处理连接以控制资源。
  22. Avoiding
    词性:动词(现在分词)
    音标:/əˈvɔɪdɪŋ/(“额-沃-伊-丁”)
    音节划分:A·void·ing
    释义:避免。采取措施防止不利情况的发生。
    扩展信息:原形 avoid;名词 avoidance。
    注意事项:常用于安全最佳实践讨论。
    例句:Always avoid hardcoding sensitive information.
    中文翻译:始终避免硬编码敏感信息。
  23. Injection
    词性:名词
    音标:/ɪnˈdʒɛkʃən/(“因-杰-克-申”)
    音节划分:In·jec·tion
    释义:注入。指未经授权的数据插入攻击。
    扩展信息:动词 inject;形容词 injective(不相关)。
    注意事项:SQL 注入是常见的安全漏洞。
    例句:SQL injection attacks exploit vulnerabilities in query construction.
    中文翻译:SQL 注入攻击利用了查询构建中的漏洞。
  24. Risk
    词性:名词
    音标:/rɪsk/(“瑞-斯克”)
    音节划分:Risk
    释义:风险。潜在的负面后果或威胁。
    扩展信息:动词 risk;形容词 risky。
    注意事项:IT 安全领域关注各类风险防范。
    例句:Proper validation reduces the risk of security breaches.
    中文翻译:适当的验证降低了安全漏洞的风险。
  25. Providing
    词性:动词(现在分词)
    音标:/prəˈvaɪdɪŋ/(“普-瑞-维-丁”)
    音节划分:Pro·vid·ing
    释义:提供。向系统或用户提供所需的信息或服务。
    扩展信息:原形 provide;名词 provision。
    注意事项:SQL 参数化查询需正确提供参数值。
    例句:Provide the necessary parameters to prevent SQL injection.
    中文翻译:提供必要的参数以防止 SQL 注入。
  26. Arguments
    词性:名词(复数)
    音标:/ˈɑːrɡjumənts/(“阿-格-尤-蒙-特-兹”)
    音节划分:Ar·gu·ments
    释义:参数。函数调用时传递的实际值。
    扩展信息:单数 argument;形容词 argumentative。
    注意事项:区分形式参数(parameters)与实际参数(arguments)。
    例句:Pass arguments to functions to customize their behavior.
    中文翻译:将参数传递给函数以定制其行为。
  27. Community
    词性:名词
    音标:/kəˈmjunɪti/(“科-谬-尼-提”)
    音节划分:Com·mu·ni·ty
    释义:社区。共享共同兴趣或目标的人群集合。
    扩展信息:形容词 communal;副词 communally。
    注意事项:开源项目依赖活跃的社区支持。
    例句:The Go community actively contributes to the documentation.
    中文翻译:Go 社区积极贡献文档。
  28. Includes
    词性:动词(第三人称单数)
    音标:/ɪnˈkluːdz/(“因-克-鲁-兹”)
    音节划分:In·cludes
    释义:包含。指某集合中含有某些元素。
    扩展信息:原形 include;名词 inclusion。
    注意事项:常用于描述文档或资源的内容范围。
    例句:The article includes examples of best practices.
    中文翻译:本文包含最佳实践的示例。
  29. Resources
    词性:名词(复数)
    音标:/rɪˈsɔrsɪz/(“瑞-索-斯-兹”)
    音节划分:Re·sources
    释义:资源。可供利用的信息、工具或支持。
    扩展信息:单数 resource;形容词 resourced。
    注意事项:IT 文档中常提及各种可用资源。
    例句:Explore additional resources for deeper understanding.
    中文翻译:探索更多资源以深入理解。
  30. Localized
    词性:形容词
    音标:/ˈloʊkəˌlaɪzd/(“洛-克-赖-兹-德”)
    音节划分:Lo·cal·ized
    释义:本地化的。指针对特定地区或语言进行适配的内容。
    扩展信息:动词 localize;名词 localization。
    注意事项:非英语文档需考虑文化差异和法律要求。
    例句:Localized documentation helps reach a global audience.
    中文翻译:本地化文档有助于触及全球受众。
  31. Learning
    词性:动词(现在分词) / 名词
    音标:/ˈlɜːrnɪŋ/(“勒-尔-宁”)
    音节划分:Learn·ing
    释义:学习。获取新知识或技能的过程。
    扩展信息:原形 learn;名词 learner。
    注意事项:IT 领域强调持续学习的重要性。
    例句:Continuous learning is essential in the tech industry.
    中文翻译:持续学习在科技行业中至关重要。
  32. Non-English
    词性:形容词
    音标:/ˌnɒnˈɪŋɡlɪʃ/(“诺-恩 英-吉-什”)
    音节划分:Non-Eng·lish
    释义:非英语的。指除英语外的语言或资源。
    扩展信息:无直接派生;强调语言多样性。
    注意事项:国际化项目需考虑多语言支持。
    例句:Non-English documentation caters to non-native speakers.
    中文翻译:非英语文档服务于非母语使用者。
  33. Page
    词性:名词
    音标:/peɪdʒ/(“佩-吉”)
    音节划分:Page
    释义:页面。网站或文档中的一个独立部分。
    扩展信息:动词 page(翻页);形容词 paginal(不常用)。
    注意事项:常用于 URL 或导航路径描述。
    例句:Visit the Learn page for tutorials and guides.
    中文翻译:访问学习页面获取教程和指南。

3. 短语表梳理(共收获 12 个短语)

  1. Accessing a relational database
    释义:访问关系型数据库。指使用编程语言与关系型数据库交互的过程。
    注意事项:常用于教程标题;accessing 强调动作。
    例句:This guide explains how to start accessing a relational database using Go.
    中文翻译:本指南解释了如何开始使用 Go 访问关系型数据库。
  2. database/sql package
    释义:database/sql 包。Go 标准库中用于与数据库交互的包。
    注意事项:package 名保持原样;database/sql 是固定搭配。
    例句:Use the database/sql package to interact with various databases.
    中文翻译:使用 database/sql 包与各种数据库进行交互。
  3. data access features
    释义:数据访问特性。指编程语言或框架提供的与数据库交互的能力。
    注意事项:features 强调多个方面;data access 是固定术语。
    例句:Go provides robust data access features through its standard library.
    中文翻译:Go 通过其标准库提供了强大的数据访问特性。
  4. open a handle
    释义:打开句柄。指初始化数据库连接以便后续操作。
    注意事项:handle 在数据库上下文中特指连接对象;open 强调动作。
    例句:To begin, open a handle to the database.
    中文翻译:首先,打开一个到数据库的句柄。
  5. connection properties
    释义:连接属性。指定数据库连接所需的信息,如主机名、端口等。
    注意事项:properties 列举多个配置项;connection 特指数据库连接。
    例句:Configure the connection properties correctly to establish a stable connection.
    中文翻译:正确配置连接属性以建立稳定的连接。
  6. Exec methods
    释义:Exec 方法。用于执行不返回结果的 SQL 语句的方法。
    注意事项:methods 强调多种执行方式;Exec 是特定命名。
    例句:Use Exec methods to perform INSERT, UPDATE, or DELETE operations.
    中文翻译:使用 Exec 方法执行 INSERT、UPDATE 或 DELETE 操作。
  7. Query or QueryRow method
    释义:Query 或 QueryRow 方法。用于执行返回数据的 SQL 查询的方法。
    注意事项:两种方法的区别在于返回结果集的数量;method 强调具体实现。
    例句:For retrieving single rows, use the QueryRow method.
    中文翻译:对于检索单行数据,请使用 QueryRow 方法。
  8. prepared statements
    释义:预处理语句。为多次执行而准备的 SQL 语句模板。
    注意事项:prepared statements 提高效率并减少 SQL 注入风险。
    例句:Using prepared statements can enhance performance and security.
    中文翻译:使用预处理语句可以提高性能和安全性。
  9. transaction-specific semantics
    释义:事务特定语义。指与数据库事务相关的操作及其含义。
    注意事项:semantics 强调操作的意义;transaction-specific 指定应用范围。
    例句:sql.Tx exports methods representing transaction-specific semantics.
    中文翻译:sql.Tx 导出了表示事务特定语义的方法。
  10. canceling in-progress operations
    释义:取消正在进行的操作。指在超时或不再需要时终止当前操作。
    注意事项:in-progress 强调正在进行的状态;canceling 强调动作。
    例句:Use context.Context to cancel in-progress operations gracefully.
    中文翻译:使用 context.Context 取消正在进行的操作以优雅退出。
  11. manage connections
    释义:管理连接。指调整连接池参数或手动处理连接的过程。
    注意事项:connections 强调多个连接;manage 强调控制和优化。
    例句:For some applications, managing connections is crucial for performance.
    中文翻译:对于某些应用程序,管理连接对于性能至关重要。
  12. avoid SQL injection risk
    释义:避免 SQL 注入风险。指采取措施防止恶意输入破坏数据库安全。
    注意事项:risk 强调潜在威胁;avoid 强调预防措施。
    例句:Always avoid SQL injection risk by validating input properly.
    中文翻译:始终通过适当验证输入来避免 SQL 注入风险。
posted @ 2026-01-10 21:51  红尘过客2022  阅读(68)  评论(0)    收藏  举报