sp;key 不允许空值,常用来产生唯一的聚集索引,unique 允许空值,常用来产生唯一的非聚集索引 Create table my_sales (stor_id char(4), Ord_num varchar(20), Date datetime, Unique clustered(stor_id,ord_num)) 3、索引 x 建立索引 create unique clustered index code1thidx1 on code_1th(Code1,Name,UnitNo1,Used) on segrun Unique: 建立唯一性索引 Clustered : 建立聚集索引,使得数据行的逻辑顺序与物理顺序一致,查询速度较快;每个表仅允许建立一个唯一性索引。(非聚集索引nonclustered) On segrun:将索引放在segrun上 x 删除索引: drop index code_1th.code1thidx1
4、 默认:当用户没有显示地为某一列赋值时,SQL SERVER 为该列插入的值 x 创建默认值CA,把默认值CA用到friends_etc表中的State列上 Creat default statedflt Go Sp_bindefault statedflt, "frends_etc.state" go x 断离默认 Sp_unbindefault "frends_etc.state" x 删除默认 Drop default statedflt 5、规则:可以理解为对数据库、某一列、某用户数据类型的限制.规则中的任何变量名必须 冠以@,不能直接引用列或其他数据库对象。 x 创建规则并把他关联到用户定义的数据类型P#上 Create rule phonerule as @phone like 415[0-9][0-9][0-9][0-9] Sp_bindrule phonerule ,"p#" x 断离规则 Sp_unbindrule "p#" x 删除规则 Drop rule phonerule 6视图:视图是从一个或多个基本表或其他视图上导出的表,可以在视图上进行增、删、改 x 创建视图 创建视图的句法为: create view view_name (column_1,...,column_n) as select_statements
例:在authors表和publishers表上定义一个视图如下: Create view cities (authorname, acity, publishername, pcity) As select au_lname,authors.city, pub_name, publishers.city From authors, publishers x 通过使用Drop view 命令来撤消一个视图 Drop view view_name
7、存储过程 x 创建存储过程 CREATE PROCEDURE procedure_name [(para1[,para2, ...])] As sql_statements 存储工程的参数名必须一@开头,包括@最长为30个字符。
1>sp_adduser zhang,zhang1,china 2>go 1> sp_helpuser 2> go
*例:删除别名zhang1,用户组china,登录名zhang 1> use tele114 2> go 3> sp_dropuser zhang1 4> go 5> sp_helpuser 6> go 1>sp_dropgroup china 2>go 1> sp_helpgroup 2> go 3> use master 4> go 5> sp_droplogin zhang 6> go 7> select * from syslogins 8> go
3、数据库操作授权 grant 命令序列 to 用户名 A. 系统管理员可以授予其他用户CREATE DATABASE的权限,使其他用户可以成为数据库所有者。 B. 数据库所有者在他所拥有的数据库中,可以授予其他用户的权限有: l CREATE TABLE ------------------- 建表 lCREATE DEFAULT ------------------ 建缺省 lCREATE RULE ------------------- 建规则 lCREATE PROCedure ------------------ 建存储过程 lCREATE VIEW ------------------- 建视图 lDUMP DATABASE ------------------- 备份数据库 lDUMP TRANsaction ------------------ 备份日志 C. 数据库对象所有者可以授予其他用户的操作权限有: l SELECT l UPDATE l INSERT l EXECute l DELETE l REFERENCE
例:授予zhang1在数据库tele114上建表,建视图,建存储过程;对表students有select,reference权;对name,native字段有update权。 1> use tele114 2> go 3> grant creat table,create procedure ,create view to zhang1 4> go 5> grant select,reference