T-SQL语句简易入门(第一课)
在微软官方,有一篇介绍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语句简易入门(第一课)的更多相关文章
- Asp.Net Web API 2(入门)第一课
Asp.Net Web API 2(入门)第一课 前言 Http不仅仅服务于Web Pages.它也是一个创建展示服务和数据的API的强大平台.Http是简单的.灵活的.无处不在的.你能想象到几乎 ...
- 用一条SQL语句查出每门课都大于80分的学生的姓名
用一条SQL语句查出每门课都大于80分的学生的姓名,数据表结构如下: 建表SQL如下: ; -- ---------------------------- -- Table structure for ...
- [转帖]PG语法解剖--基本sql语句用法入门
PG语法解剖--基本sql语句用法入门 https://www.toutiao.com/i6710897833953722894/ COPY 命令挺好的 需要学习一下. 原创 波波说运维 2019-0 ...
- emacs 入门第一课:Emacs里的基本概念
Table of Contents 无聊的开场白 buffer(缓冲区) window(窗口)与frame Emacs的mode Emacs Lisp 函数function.命令command.键绑定 ...
- Android入门第一课之Java基础
通知:由于本周六场地申请没通过,所以本周的培训临时取消. 今天给大家带来的是Android入门的第一课,由于教室申请的不确定性,因此,每次培训的内容都会在博客先提前释放出来.首先Android的APP ...
- SQL语句练习手册--第一篇
表架构 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师 ...
- Kotlin入门第一课:从对比Java开始
1. 介绍 今年初,甲骨文再次对谷歌所谓的安卓侵权使用Java提起诉讼,要求后者赔偿高达90亿美元.随后便传出谷歌因此计划将主力语言切换到苹果主导的Swift,不过这事后来没了跟进. 但谷歌在这两天的 ...
- JavaScrip 入门第一课
一.代码引入的三种方式 1.直接在head中书写 在head标签里面可以写,在body标签里面也可以写,放到head标签里面和放到body标签里面到底有什么区别,我们后续在讲~ <head> ...
- Docker入门 第一课 --.Net Core 使用Docker全程记录
微服务架构无疑是当前最火热的开发架构,而Docker作为微服务架构的首选工具,是我们必须要了解掌握的. 我通过一天的时间,网上查文档,了解基础概念,安装Docker,试验Docker命令,通过Dock ...
随机推荐
- 修改XCode的Product的输出目录(有时不生效需看)
通常在情一般都不建议使用绝对路径,因为写死之后,换环境,换平台,又要重新修改路径,因此常常使用相对路径,哪么相对路径通常使用的就是环境变量了. 在Mac 中,xcode 中build settings ...
- Mongodb在windows下的安装和启动
在windows下安装的参考官方地址:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/ Mongodb的安装与启 ...
- 配置Openfire的eclipse项目
官方文档在这里 Install JDK Download JDK and install them. The least version should be 1.5. I use 1.6. Sorry ...
- js数组方法扩展
/** * Created by Administrator on 2016/9/1. */ //数组去重 Array.prototype.unique = function(){ this.sort ...
- PRML读书笔记——3 Linear Models for Regression
Linear Basis Function Models 线性模型的一个关键属性是它是参数的一个线性函数,形式如下: w是参数,x可以是原始的数据,也可以是关于原始数据的一个函数值,这个函数就叫bas ...
- 一个DNS统计,RCFs,工具站点
RCFs http://www.statdns.com/rfc/ DNS resources A collection of DNS related resources DNS Servers Nam ...
- linux centos service 参数详解
Service文件 开门见山,直接来看两个实际的服务配置文件吧. 第一个配置是 CoreOS 系统中 Docker 服务的 Unit 文件,路径是 /usr/lib/systemd/system/do ...
- let和const命令//////////////////////z
let和const命令 let命令 块级作用域 const命令 全局对象的属性 let命令 基本用法 ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的 ...
- Android 回调接口是啥,回调机制详解(zhuan)
回调函数http://blog.csdn.net/a78270528/article/details/46918601 Android框架 android frame work: http://blo ...
- swift基础:第一部分:基本数据类型及结构
首先谈点开心的:今天是周二,广州的天气格外明朗,早上上班的心情也不一样,最值得高兴事,很快到五一劳动节了,说到劳动节,放假是吧.你懂的.再来谈谈我上周的工作总结,上周可以说是黑轮压城城欲摧,甲光向日金 ...