sql server 关键字一
从今天开始我们就讲讲SQL Server里面的一些关键字。这一部分我们分为9章,有的关键字会有详细的内容,有的就是很简单的说一下,因为那些真的太简单了。
1.add
用在alter tabel的时候,添加一个新字段, 如果这个字段已经添加,再次添加的时候,就会报错:Msg 2705, Level 16, State 4, Line 1 Column names in each table must be unique. Column name 'bookname' in table 'dbo.book' is specified more than once.
实例
alter table dbo.book
add bookname varchar(20) not null
go
2.all
select 语句的一个选项, 用于select 列表中,和union 操作符和group 不用语句一起使用,all 选项指定重复值可以出现在结果集中。 在group 语句中,最好不要用 group by all。比较少见的是select * from table1 where c < all(select c from table2),也就是把表2查询的c作为一个集合,表1要查询值必须满足2的所有条件。
这是一个bool 操作符,用and连接的条件必须都是true的时候,这个检索条件才是真,多用于 join on,where后。
实例
select * from table where 字段1=? and 字段2=?
select * from table1 t1 join table2 t2 on t1.c=t2.c and t1.c2=?
4. any
有all的类似用法,用于select的比较操作符,如果在条件中,有一个满足查询要求的就返回真,可以用上面的列子,把all 换成any。可以自己动手试试。
5.as
主要用来给字段或者表 取别名用。 别名的用处1:结果集的字段名称更加易读,2:同一张表在连接的时候,不同的别名,sql server读取表的时候不会混淆,3:使sql 语句更简洁。
6.asc
用在 order by后,按照某个字段进行升序排列 order by c asc
7.avg
取平均值,avg(c),c必须是数字型的字段名
8.backup
主要是用来备份数据库,事务日志或者文件组中的一个或多个文件。
BACKUP
计算机在操作过程中难免出现意外,为了保证用户数据的安全性,防止数据库中的数据意外丢失,应对数据库即时进行备份。BACKUP命令用于将数据库内容或其事务处理日志备份到存储介质上(软盘、硬盘或磁带等)。数据库备份语法:
Backup Database database_name
To < backup_device >
[ With [ Differential ] [ [ , ] Format | Noformat ] [ [ , ] { Init | Noinit } ]
< backup_device > ::=
{ { Disk | Tape } = 'physical_backup_device_name' }
参数说明:
Backup Database:关键字。
database_name:备份的数据库名称。
To:关键字,用于指定备份设备。
<backup_device>:是一个备份设备,用于存储备份数据,其中Disk表示在磁盘上存储备份数据,Tape表示在磁带设备上存储备份数据。physical_backup_device_name表示磁盘或磁带上的物理路径,通常用于指定一个备份文件。
Differential:指定数据库备份或文件备份应该与上一次完整备份后改变的数据库或文件部分保持一致。
Format:表示重写媒体头。
Noformat:表示指定媒体头不应写入所有用于该备份操作的卷中,并且不要重写该备份数据。
Init:表示重写所有备份集,但保留媒体头。
Noinit:表示备份集将追加到指定的磁盘或磁带设备上,以保留现有的备份集,该选项是默认设置。
示例:
把“student”数据库备份到名称是“backup.bak”的备份文件。
SQL语句如下:
backup DATABASE student TO disk='backup.bak'
9.begin
在transaction sql 语句中,形如{}, 有begin 就有end。
10.between
多用于where 条件中,between and 相当于>= and <=。
11.break
多用于while中,和c# 或者JAVA中的break同意。
12.bulk
主要用于批量插入
14.by
和group ,order 等连用,group by,order by
15.cascade
cascade 子句和deny一起使用,指定权限从一个用户账号决绝,以及由第一个用户账号授予权限的所有其他账户都被拒绝
16.case
多用于 select 和update。 case when then else end