欢迎光临
我们一直在努力

SQL Server笔记 -- 第1章:Microsoft SQL Server入门

第1.1节:INSERT / SELECT / UPDATE / DELETE:数据操作语言基础

数据操作语言(简称DML)包括INSERT、UPDATE和DELETE等操作: 

— 创建HelloWorld表
 CREATE TABLE HelloWorld ( Id INT IDENTITY, Description VARCHAR(1000) )
 ​
 — DML操作INSERT,向表中插入一行数据
 INSERT INTO HelloWorld (Description) VALUES (\’Hello World\’)
 ​
 — DML操作SELECT,显示表内容
 SELECT * FROM HelloWorld
 ​
 — 从表中选择特定列
 SELECT Description FROM HelloWorld
 ​
 — 显示表中的记录数
 SELECT Count(*) FROM HelloWorld
 ​
 — DML操作UPDATE,更新表中特定行
 UPDATE HelloWorld SET Description = \’Hello, World!\’ WHERE Id = 1
 ​
 — 从表中选择行(查看UPDATE后Description的变化)
 SELECT * FROM HelloWorld
 ​
 — DML操作DELETE,从表中删除一行
 DELETE FROM HelloWorld WHERE Id = 1
 ​
 — 选择表。查看DELETE操作后的表内容
 SELECT * FROM HelloWorld

在此脚本中,我们创建了一个表来演示一些基本查询。

以下示例展示了如何查询表:

USE Northwind;
GO
SELECT TOP 10 * FROM Customers ORDER BY CompanyName

将从Northwind数据库的Customer表中选择前10条记录,按CompanyName列排序(Northwind是Microsoft的示例数据库之一,可从此处下载):

注意,Use Northwind;会更改所有后续查询的默认数据库。您仍然可以使用完全限定语法[Database].[Schema].[Table]来引用数据库:

SELECT TOP 10 * FROM Northwind.dbo.Customers ORDER BY CompanyName
SELECT TOP 10 * FROM Pubs.dbo.Authors ORDER BY City

如果您正在查询来自不同数据库的数据,这将非常有用。请注意,中间指定的dbo称为架构,在使用完全限定语法时需要指定。您可以将其视为数据库中的文件夹。dbo是默认架构。默认架构可以省略。所有其他用户定义的架构都需要指定。

如果数据库表包含的列名类似于保留字,例如Date,则需要将列名括在方括号中,如下所示:

— 降序排列
SELECT TOP 10 [Date] FROM dbo.MyLogTable ORDER BY [Date] DESC

如果列名在其名称中包含空格(不推荐),同样适用此规则。等效的替代语法是使用双引号代替方括号,例如:

— 降序排列
SELECT TOP 10 [Date] FROM dbo.MyLogTable ORDER BY [Date] DESC

等效但不常用。注意双引号和单引号的区别:单引号用于字符串,即

— 降序排列
SELECT top 10 \”Date\” from dbo.MyLogTable where UserId=\’johndoe\’ order by \”Date\” desc

是有效语法。请注意,T-SQL对NChar和NVarchar数据类型有N前缀,例如

SELECT TOP 10 * FROM Northwind.dbo.Customers WHERE CompanyName LIKE N\’AL%\’ ORDER BY CompanyName

返回所有公司名称以AL开头的公司(%是通配符,就像您在DOS命令行中使用星号一样,例如DIR AL*)。对于LIKE,有一些可用的通配符,

赞(0)
未经允许不得转载:171主机测评 » SQL Server笔记 -- 第1章:Microsoft SQL Server入门
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址