在微软官方,有一篇介绍T-SQL语句的教程,非常好理解,完全可以帮助新手入门,了解常用SQL语句的使用语法,而且又不涉及较为复杂的操作、不用安装示例数据库AdventureWorks。下面是教程里内容的摘录。

T-SQL,也就是Transact-SQL,是微软对SQL标准的实现。(说明:以下的T-SQL语句均在查询编辑器中书写、执行)
 
1. 创建数据库TestData

CREATE DATABASE TestData
GO

鼠标选中“CREATE DATABASE”,按F1,会调出“CREATE DATABASE”语句的在线帮助文档;鼠标选中“CREATE DATABASE TestData”语句,按F5,会执行这条语句。

创建的数据库,其实是model数据库的拷贝、名字换成TestData的结果。

注意:当执行的语句不止一条时,GO用来分隔语句;只有一条语句时,GO可以省略。

2. 创建表Products

表有名字,列有数据类型。创建表时,一般都会有主键,主键的值在表中是唯一的,可以是一列或多列的组合;为每列指定是否可以为null是个好习惯。
数据库引擎默认安装是大小写不敏感的,也就是说“OrderData”与“ORDERDATA”是一样的。

2.1. 创建容纳表的数据库

USE master;

-- Delete the TestData database if it exists.
IF EXISTS(SELECT * FROM sys.databases WHERE name='TestData')
BEGIN
DROP DATABASE TestData;
END -- Create a new database called TestData.
CREATE DATABASE TestData;

按F5执行语句。

2.2. 切换连接的数据库
使用TestData数据库

USE TestData
GO

2.3. 创建表Products

CREATE TABLE dbo.Products
(ProductID int PRIMARY KEY NOT NULL,
ProductName varchar(25) NOT NULL,
Price money NULL,
ProductDescription text NULL)
GO

执行语句。创建了一张名为Products的表,有4列:ProductID、ProductName、Price和ProductDescription,数据类型分别是int、varchar(25)、money和text。Price和ProductDescription列的数据可以为空。这条语句也包含了一个可选元素(dbo.),称为架构,架构指拥有表格的数据库对象。如果你是管理员,默认架构就是dbo,它表示数据库拥有者(Database Owner)。

3. 插入和修改表数据

通过INSERT语句插入数据;通过UPDATE语句修改数据。接下来执行四条插入语句,插入数据在这里

ProductID ProductName Price PrductDescription
1 Clamp 12.48 Workbench clamp
50 Screwdriver 3.17 Flat head
75 Tire Bar   Tool for changing tires.
3000 3mm Bracket .52  

插入语句的基本语法:INSERT、表名、列列表、VALUES、值列表。"--"后面跟着的文字是注释。

3.1. 向表中插入数据

1)执行下面的语句,插入数据

-- 基本的插入语句
INSERT dbo.Products (ProductID, ProductName, Price, ProductDescription)
VALUES (1, 'Clamp', 12.48, 'Workbench clamp')
GO

2)将ProductID和ProductName字段调换位置

-- 改变插入列的顺序
INSERT dbo.Products (ProductName, ProductID, Price, ProductDescription)
VALUES ('Screwdriver', 50, 3.17, 'Flat head')
GO

3)列列表是可选的,但值必须按照正确的顺序列出。

-- 忽略列列表,但值列表必须按照正确的顺序
INSERT dbo.Products
VALUES (75, 'Tire Bar', NULL, 'Tool for changing tires.')
GO

这条语句常见但不推荐,Price列的值指定为NULL,因为还不知道价儿。

4)架构可以省略,因为ProductDescription列的值可以为空,所以插入时可以不指定它

-- 忽略架构名dbo,未指定ProductDescription列
INSERT Products (ProductID, ProductName, Price)
VALUES (3000, '3mm Bracket', .52)
GO

3.2 修改Products表数据
用UPDATE语句修改第二个产品的名字(ProductName),修改为“Flat Head Screwdriver”,原来名字是“Screwdriver”。

UPDATE dbo.Products
SET ProductName = 'Flat Head Screwdriver'
WHERE ProductID = 50
GO

(完)

T-SQL语句简易入门(第一课)的更多相关文章

  1. Asp.Net Web API 2(入门)第一课

    Asp.Net Web API 2(入门)第一课   前言 Http不仅仅服务于Web Pages.它也是一个创建展示服务和数据的API的强大平台.Http是简单的.灵活的.无处不在的.你能想象到几乎 ...

  2. 用一条SQL语句查出每门课都大于80分的学生的姓名

    用一条SQL语句查出每门课都大于80分的学生的姓名,数据表结构如下: 建表SQL如下: ; -- ---------------------------- -- Table structure for ...

  3. [转帖]PG语法解剖--基本sql语句用法入门

    PG语法解剖--基本sql语句用法入门 https://www.toutiao.com/i6710897833953722894/ COPY 命令挺好的 需要学习一下. 原创 波波说运维 2019-0 ...

  4. emacs 入门第一课:Emacs里的基本概念

    Table of Contents 无聊的开场白 buffer(缓冲区) window(窗口)与frame Emacs的mode Emacs Lisp 函数function.命令command.键绑定 ...

  5. Android入门第一课之Java基础

    通知:由于本周六场地申请没通过,所以本周的培训临时取消. 今天给大家带来的是Android入门的第一课,由于教室申请的不确定性,因此,每次培训的内容都会在博客先提前释放出来.首先Android的APP ...

  6. SQL语句练习手册--第一篇

    表架构 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师 ...

  7. Kotlin入门第一课:从对比Java开始

    1. 介绍 今年初,甲骨文再次对谷歌所谓的安卓侵权使用Java提起诉讼,要求后者赔偿高达90亿美元.随后便传出谷歌因此计划将主力语言切换到苹果主导的Swift,不过这事后来没了跟进. 但谷歌在这两天的 ...

  8. JavaScrip 入门第一课

    一.代码引入的三种方式 1.直接在head中书写 在head标签里面可以写,在body标签里面也可以写,放到head标签里面和放到body标签里面到底有什么区别,我们后续在讲~ <head> ...

  9. Docker入门 第一课 --.Net Core 使用Docker全程记录

    微服务架构无疑是当前最火热的开发架构,而Docker作为微服务架构的首选工具,是我们必须要了解掌握的. 我通过一天的时间,网上查文档,了解基础概念,安装Docker,试验Docker命令,通过Dock ...

随机推荐

  1. JSON字符串与JSON对象的区别

    Q:什么是"JSON字符串",什么是"JSON对象",两者的区别? a.JSON对象是直接可以使用JQuery操作的格式,如C#中可以用对象(类名)点出属性(方 ...

  2. Html5三维全景

    先看DEMO:http://think.weiyingjia.cn/liuming/quanjing/out.html 准备: 1.一张或多张全景图片素材    2.pano2VR软件,链接:http ...

  3. Java:批量插入、修改数据到数据库中的用法

    在java中使用JDBC实现批处理的对象一般是使用PrepareStatement对象. 如何使用: Class.forName("Oracle.jdbc.driver.OracleDriv ...

  4. 点餐系统3个sprint的团队贡献分

    第一次冲刺贡献分   团员名字 贡献分 麦锦俊 18分 冯婉莹 21分 李康梅 19分 张鑫相 20分 曹嘉琪 22分     第二次冲刺贡献分   团员名字 贡献分 麦锦俊 19分 冯婉莹 20分 ...

  5. C++之路进阶——poj3461(Oulipo)

    Oulipo Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 35694   Accepted: 14424 Descript ...

  6. hadoop的学习

    http://www.aboutyun.com/thread-6179-1-1.html

  7. sqlserver中DATE类型的数据转化 CONVERT

    主要描述的是SQL Server使用convert取得datetime日期数据的实际操作流程,在实际操作中用SQL Server数据库中用convert来获取datetime日期数据,以下实例包含各种 ...

  8. c#中按键小技巧

    以后会补充其他的内容

  9. NDK开发历程(一):android native code的调试方法

    引用:http://www.cnblogs.com/ychellboy/archive/2013/02/22/2922683.html 使用NDK在android上做开发是一件“痛并快乐着”的差事,之 ...

  10. 最新IP地址数据库Dat格式-高性能高并发版(2017年1月)

    最新IP地址数据库->Dat格式 高性能格式->qqzeng-ip.dat 国内版-20170101-Dat 版                国外版-20170101-Dat 版     ...