shutterstock_190893782Transact SQL(或T-SQL)是数据库的编程。T-SQL特定于Microsoft SQL Server数据库平台。这意味着本文特定于MSSQL,但大多数SQL语言都是彼此的味道。这意味着每种语言都是相似的,所以学习一个人会更容易学习另一个。

SQL Server新建?了解如何在UDEMY.com上编程MSSQL T-SQL。

您可以通过多种方式连接到数据库。大多数SQL Server Administrators更喜欢SQL Server Management Studio。Management Studio是您数据库的可视化表示,因此管理对象更容易。数据库的每个部分都被视为一个对象。对象包括数据库本身,表,用户,触发器,索引和视图。您可以使用Transact SQL创建,编辑和删除每个对象中的每个对象。

创建数据库

在您执行任何操作之前,您需要创建一个数据库。数据库是包含数据库的所有部分的主要对象,包括实际数据。以下代码是您使用T-SQL创建数据库的代码:

创建数据库MyDatabase Go

数据库名称是上面的例子是“mydatabase。”注意“Go”声明。此语句告诉编译器运行该语句。从技术上讲,您可以运行多行的SQL语句,并指定何时运行它们。通常,在存储过程中,Go语句在存储过程的末尾设置,以便该代码一次运行。在这种情况下,在没有第一次编译的任何其他语句的情况下,会立即计算创建数据库语句并立即运行。

深入了解Udemy.com上的SQL Server和数据库。

创建表

创建数据库后,您需要使用表填充它。表是存储数据的组织单位。例如,如果您有客户数据库,则您将拥有一个名为“客户”的表以及任何相关信息,如“销售”和“ContactInformation”。

例如,以下代码创建一个名为“客户”的表:

创建表客户(ID INT主键不是NULL,名称varchar(25)不是null,lastname varchar(25)null)go

上面创建语句中的第一列设置了表的ID。这是一个主要键,它对唯一性具有自动要求。虽然MSSQL不需要您为每个表设置主键,但对于每个表都需要一个主键。主键是群集索引,它会非常迅速查询。主键不能包含空值,因此请注意,ID列也被设置为“not null”。

接下来,创建两列更多列。此表不仅包含客户的ID,而且还将客户的名字和姓氏载有单独的列。一个新人可能希望在同一列中存储名字和姓氏,但这是糟糕的设计。有时候您想在姓氏的只是搜索并根据该搜索进行某种操作。

将记录添加到表

使用表创建的表,您现在需要将数据添加到表中。以下代码向您展示了如何将客户记录插入以前创建的表:

插入客户(ID,FirstName,LastName)值(1,'John','Smith')Go

每当您需要插入数据时,您都会运行T-SQL“插入”语句。第一组括号包含要使用的列,第二组用于数据。插入的值必须匹配指定的列。替代形式的插入表达声明,但上面是您需要用于每个添加记录的主要格式。

更新记录

插入数据后,您可能希望更新或编辑数据。这是使用更新语句完成的。例如,假设您意识到您输入的姓氏拼写错误。然后,您希望更改客户的姓氏。由于您只想更改一个客户,您可以使用客户的ID,因为它是一个客户是独一无二的。以下代码是您在数据库中编辑表的方式:

更新客户Set LastName ='Smiths'其中ID = 1 Go

在上面的声明中,您将编辑客户的姓氏至“史密斯”。您总是希望记住Update语句中的Where子句,否则您将意外地编辑整个表中的数据。

从您的表中读取和选择数据

存储数据不够。您还需要阅读您的数据。您可以使用MSSQL SELECT语句执行此操作。以下代码是SELECT语句的示例:

从客户完成*

运行上述语句后,您可以看到表中的所有列和记录。您通常希望限制您看到的数据。当您的表格达到数百万条记录时,返回所有这些记录会导致严重的性能问题。了解所有这些记录首次需要时间返回和第二个应用程序需要存储的内存来存储这些记录。

要打击此问题,请选择一个集合记录块。例如,您可以返回一组100个记录,而不是检索百万条记录。在客户表的情况下,只有一个记录,但假设您希望查看与该客户有关的信息。然后,您将在SELECT语句中使用WHERE子句。

以下代码是使用where子句编写select语句的示例:

选择*来自ID = 1 Go的客户

Just like the UPDATE statement’s WHERE clause, this WHERE clause specifies that you want to see only the customer with an ID of 1. The WHERE clause has several options, and you use these options depending on the number of records you want to see as well as the specific records. The WHERE clause lets you filter records using any column in the table, but you can also use subqueries to view records that match another table in your database.

例如,以下代码仅选择订单表中也存在的客户记录:

从客户中选择*(从订单中选择CustomerId)

创建登录帐户以访问数据

您有数据,表和数据库,但您需要为帐户提供登录权限。此帐户需要安全性以访问您的表。通常,您要为SQL Server中的每个数据库创建登录名。原因是避免在黑客收益访问一个数据库时冒着对整个数据库服务器的未经授权访问的风险。SQL Server允许您使用数据库权限获得非常粒度,因此您可以设置对特定表,记录和列的访问权限。但是,在大多数情况下,您只需创建访问数据库和没有其他数据库的登录名。这可以保护您的整个服务器并限制访问一个数据库。

以下代码为具有密码的SQL创建一个登录帐户:

使用密码创建登录MyLogin ='Mypass'Go

上面的代码用密码“mypass”创建登录“MyLogin”。

T-SQL语言是巨大的,不仅仅是一个要了解它的小文章。如果您有其他编程语言的经验,它可能会帮助您了解Transact SQL,但SQL有点不同于其他语言。处理学习SQL的最佳方法是参加一个在线课程,如在Udemy.com上学习Microsoft SQL 101。随着时间和实践,您可以像Pro一样操纵您的表格的数据。

特色课程

Oracle SQL Developer:掌握其功能+提示和技巧

最后更新于3月2021日

畅销书
  • 3.5总计
  • 45讲座
  • 各级
4.5 (4,463)

使用Oracle SQL Developer,如Pro:了解将帮助您成为最高效的SQL开发人员的功能和技巧来自山顶开发学院的Carlos

探索课程

数据库开发者工具学生也会学习

赋予你的团队。引领行业。

通过Udemy为Business获取组织的在线课程和数字学习工具库的订阅。

请求演示