在微软官方,有一篇介绍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. 完全使用接口方式调用WCF 服务

    客户端调用WCF服务可以通过添加服务引用的方式添加,这种方式使用起来比较简单,适合小项目使用.服务端与服务端的耦合较深,而且添加服务引用的方式生成一大堆臃肿的文件.本例探讨一种使用接口的方式使用WCF ...

  2. OC ---- 字典集合 iOS学习-----细碎知识点总结

    实例方法的创建 NSDictionary *wukong = [[NSDictionary alloc] initWithObjectsAndKeys:", @"age" ...

  3. ASP.NET TextBox 当鼠标点击后清空默认提示文字[转]

    前台文本框里添加下面2个事件属性: OnFocus="javascript:if(this.value=='提示文字') {this.value=''}" OnBlur=" ...

  4. Windows Server 2008 R2域控组策略设置禁用USB

    问题: Windows Server 2008 R2域控服务器如何禁用客户端使用USB移动存储(客户端操作系统需要 Windows Vista以上的操作系统,XP以下的操作系统不能禁用USB移动存储) ...

  5. lkx开发日志2-第一次团队讨论

    遇到的问题 冰球与击球手碰撞的形式有两种.第一种:击球手的速度不指向冰球圆心,这样碰撞后冰球会旋转.第二种:击球手的速度指向冰球圆心,直接科运用动量定理计算两者速度的变化.考虑到时间限制,团队假设冰球 ...

  6. html radio check

    {% if classes|count > 1 %} <div class="class_checkbox" id="class_checkbox" ...

  7. (转)如何将本地git仓库上传到GitHub中托管+实践心得

    Git——新手入门与上传项目到远程仓库GitHub(转) - Chen_s - 博客园http://www.cnblogs.com/Chenshuai7/p/5486278.html 注意的问题: 1 ...

  8. PeopleSoft Rich Text Boxes上定制Tool Bars

      在使用PT8.50或在8.51时,你可能遇到过Rich-text编辑框.该插件使你能够格式化文本,添加颜色.链接.图片等等.下面是效果图: 如果页面中只有这么一个字段,该文本框就会有足够的空间来容 ...

  9. 在macbook上搭建ubuntu工作环境

    工作环境需要:ubuntu12.04.gcc 4.4.7.vim.source insight.git. 1. 制作启动盘 首先需要制作一个能从苹果电脑启动的ubuntu启动盘: 在苹果电脑的终端中输 ...

  10. 【C#】时间戳转换

    今天有时间戳转换的需求,网上找了半天才找到相关代码,经测试有效,特作此笔记和大家分享! 1.时间戳转为C#格式时间 /// <summary> /// 时间戳转为C#格式时间 /// &l ...