sql server:transact-SQL语言(一)

学新的知识前,我们来复习之前学过的内容。

问题答案
数据库中的数据是放在那里的?数据库的数据文件中
如果数据库崩溃了怎么办利用备份文件进行还原
使用时发现容量满足不了大量数据存储怎么办扩大数据库

SQL

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
SQL从功能上可以分为3部分:数据定义、数据操纵和数据控制。
SQL的核心部分相当于关系代数,但又具有关系代数所没有的许多特点,如聚集、数据库更新等。它是一个综合的、通用的、功能极强的关系数据库语言。(摘自百度百科,侵删)

其特点是:
1、数据描述、操纵、控制等功能一体化。
2、两种使用方式,统一的语法结构。SQL有两种使用方式。一是联机交互使用,这种方式下的SQL实际上是作为自含型语言使用的。另一种方式是嵌入到某种高级程序设计语言(如C语言等)中去使用。前一种方式适合于非计算机专业人员使用,后一种方式适合于专业计算机人员使用。尽管使用方式不向,但所用语言的语法结构基本上是一致的。
3、高度非过程化。SQL是一种第四代语言(4GL),用户只需要提出“干什么”,无须具体指明“怎么干”,像存取路径选择和具体处理操作等均由系统自动完成。
4、语言简洁,易学易用。尽管SQL的功能很强,但语言十分简洁,核心功能只用了9个动词。SQL的语法接近英语口语,所以,用户很容易学习和使用。
(摘自百度百科,侵删)

在SSMS中,我们的操作都是让系统生成对应的操作脚本。但是学会数据库编程语言是十分重要的

数据定义语言

数据库对象只能执行三个操作:创建(create),修改(alter)和删除(drop)。

--创建一张表
USE adventDW
GO
create table books(
ID int primary key,
B_name varchar(100)
)
GO

数据操纵语言

我们对数据可以做以下四种操作:创建记录(create)读取记录(read)更新记录(update)删除操作(delete)
在设计SQL时,设计人员选择不同的词汇来描述这四种操作:insert(插入),select(选择)update(更新)与delete(删除)

数据库控制语言

数据控制语言用于管理用户对数据库对象的访问。
grant用于授予用户权限
deny用于显式的限制权限集合
revoke用于撤销对象上的权限集合

由于本人没有接触到实际的项目,所以日后有需要再进行单独的笔记。

习惯命名

对于表名,常用表示特性的不多于三个单词
对于外键约束类,系统模块/用户模块+主表+从表+约束

局部变量

声明变量使用declare
为变量指定名称,而且名称前必须有一个@符号
必须为变量指定数据类型和长度
默认情况下,变量的值为null
可以在declare中申明多个变量,用逗号隔开
变量赋值的两种方式:set关键字和select检索

--例题
use master
go
declare @number int;
set @number=1;
	while @number<10
	begin
	 set @number=@number+1;
	 print @max;
	end

全局变量是系统定义并且赋值的。自己无法定义。具体的需要查看SQL Server的帮助文档。运算符感觉和C语言差不多,不做赘述。
仅仅列出下表供之后查询。

运算符含义
+ 加法把运算符两边的值相加
- 减法左操作数减去右操作数
* 乘法把运算符两边的值相乘
/ 除法左操作数除以右操作数
% 取模左操作数除以右操作数后得到的余数
==检查两个操作数的值是否相等,如果相等则条件为真
=检查左操作数的值是否不大于右操作数的值,如果是则条件为真
!= 不等于检查两个操作数的值是否相等,如果不相等则条件为真。
<> 不等于检查两个操作数的值是否相等,如果不相等则条件为真
>检查左操作数的值是否大于右操作数的值,如果是则条件为真
<检查左操作数的值是否小于右操作数的值,如果是则条件为真
>=检查左操作数的值是否大于等于右操作数的值,如果是则条件为真
<=检查左操作数的值是否小于等于右操作数的值,如果是则条件为真
! <检查左操作数的值是否不小于右操作数的值,如果是则条件为真
! >检查左操作数的值是否不大于右操作数的值,如果是则条件为真
&位与如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中
~位异或二进制补码运算符是一元运算符,具有"翻转"位效应
I位或位或运算
<<二进制左移运算符。左操作数的值向左移动右操作数指定的位数
>>二进制右移运算符。左操作数的值向右移动右操作数指定的位数
ANDAND 运算符允许在一个 SQL 语句的 WHERE 子句中的多个条件的存在。
BETWEENBETWEEN 运算符用于在给定最小值和最大值范围内的一系列值中搜索值。
EXISTSEXISTS 运算符子查询中条件的真假,真则返回主查询,否则不返回。
ININ运算符用于把某个值与一系列指定列表的值进行比较。
NOT ININ 运算符的对立面,用于把某个值与不在一系列指定列表的值进行比较。
LIKELIKE运算符用于把某个值与使用通配符运算符的相似值进行比较。
GLOBGLOB 运算符用于把某个值与使用通配符运算符的相似值进行比较。GLOB 与 LIKE 不同之处在于,它是大小写敏感的。
NOTNOT运算符是所用的逻辑运算符的对立面。比如 NOT EXISTS、NOT BETWEEN、NOT IN,等等。它是否定运算符。
OROR运算符用于结合一个 SQL 语句的 WHERE 子句中的多个条件。
IS NULLNULL 运算符用于把某个值与 NULL 值进行比较。
ISIS 运算符与 = 相似。
IS NOTIS NOT 运算符与 != 相似。
UNIQUE UNIQUE运算符搜索指定表中的每一行,确保唯一性(无重复)。

注释

由于代码的特殊性,我们写代码需要做详细的注释,以便日后可以容易的知道每个部分的功能
注释分为块注释和行内注释
在每一个脚本之前要写一个完整的文本块,提及功能,日期,设计人员,相关调试信息,相关变更信息等。
行内注释主要说明单独某一行或段的注解,或者在需要更改功能的时候注释掉不用的代码。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值