打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
SQL Server 2012入门图解(二):SQL语句入门

上次介绍了如何在SQL Server中建立数据库和表,并且做备份和还原。这一次将用上次建立的School数据库做演示,学习SQL语句。本文为0基础入门级别,所以介绍的知识非常有限,例子也是最简单的,还是建议大家买本SQL的书学习。

先回顾一下,上次我们建立的数据库和表结构如下:

School数据库里只有一张Student表,其中Id是自增长的主键。下面我们以它为例,来演示SQL语句的基本用法。

在SSMS中编写SQL脚本的方法是:点击工具栏上的“新建查询”,在编辑器中输入SQL脚本,选择一个正确的数据库,检查语法正确后,点击“执行”,最后在消息面板可以看到执行结果。如下图:

一、 使用SQL语句创建表

除了前面一片文章介绍的用图形化界面建表,我们还可以用SQL语句来创建表,创建Student表的SQL脚本如下:

01CREATE TABLE [dbo].[Student](
02         [Id] [int] IDENTITY(1,1) NOT NULL,
03         [SName] [nvarchar](50) NULL,
04         [Phone] [nvarchar](50) NOT NULL,
05         [Address] [nvarchar](max) NOT NULL,
06 CONSTRAINT [PK_Student] PRIMARY KEY CLUSTERED
07(
08         [Id] ASC
09)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
10) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

这段脚本不必去记,可以使用SSMS生成。不过当我们用程序去创建表的时候,就需要手写SQL脚本的能力了。

二、  插入数据

例:向Student表插入一条新记录。

1INSERT INTO [dbo].[Student] ([SName],[Phone],[Address]) VALUES ('Edi','123456','ABCDEF');

执行完成后,右键点击student表,选择“选择前1000行”,来检验我们的执行结果。

在下面的结果面板里,已经显示了Student表现在的数据。

 

三、 查询

在刚才点击“选择前1000行”之后,你可能注意到了SSMS自动为我们编写了查询脚本。这就是现在要介绍的。

刚才的脚本是:

1SELECT TOP 1000 [Id]
2      ,[SName]
3      ,[Phone]
4      ,[Address]
5FROM [School].[dbo].[Student]

其中TOP 1000表示前1000条记录,通常TOP语句都会和ORDER BY 排序一起使用,这在后面会介绍。如果你希望查询所有的数据,就把TOP 1000去掉即可。

另外,SELECT你可以省略后面的字段,用*代替,表示希望查询所有的字段。

1SELECT * FROM Student

这条语句的结果和之前是一样的,因为之前的SELECT语句也是筛选全部的字段,并且我们目前只有一条记录。

为了介绍后面的技巧,我先给在表中插入一些别的数据。最后结果如下:

现在,我们的SELECT语句可以玩更多的花样了。比如:

按Id从大到小排序:

1SELECT * FROM Student ORDER BY Id DESC

按条件查询(匹配Address为AAAAA)的记录:

1SELECT * FROM Student WHERE Address = 'AAAAA'

配合起来也能用:

SELECT * FROM Student WHERE Address = 'AAAAA' ORDER BY ID DESC

四、 修改

如果我们需要修改记录,就要用到UPDATE语句。比如Stone的地址改为BBBBB:

1UPDATE STUDENT SET Address = 'BBBBB' WHERE SName = 'Stone'

当然,你也可以批量UPDATE,这取决于后面的WHERE语句。

五、删除

最后我们来学习如何删除记录。这个非常简单,不过得注意WHERE条件,以免误删。比如我要删除Id为5的记录:

1DELETE FROM Student WHERE Id = 5

最后扯一个小常识。细心的读者可能注意到了,本文所操作的Student表,Id居然不是连续的,读者可能会问了,这个不是自动加1的吗?却是是这样。但数据库的机制必须确保这个Id的唯一性,因为他是主键,数据库也要保证完整性,因为这个Id可能在别的地方被使用。如果因为删除了某条记录而自动更新这个Id的话,那么引用这个Id的地方就会指向错误的位置,毕竟数据库无法知道这个Id到底最后给谁用了。它可能是别的程序,别的表的外键,或者网络上某篇新闻的Id。

其实最后我想说的是,本文只是0基础入门,没有介绍过任何关系型数据库的基本知识,但这些知识非常重要,读者如果想学SQL Server或者其他数据库,一定得去看有关的书籍。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
iOS开发数据库篇
从入门到入土:MySQL完整学习指南,包教包会!
阿里巴巴码农这修炼秘籍:SQL语句书写规约
SQL语句汇总(一)
Mysql :(一)
使用SQL Server Management Studio创建视图
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服