管志鹏的计算机主页

C# ASP.NET Java J2EE SSH SQL Server Oracle
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2008年3月27日

Posted on 2008-08-29 20:54  管志鹏  阅读(139)  评论(0编辑  收藏  举报
2008-03-27  
1
 今天写的创建数据库的语句,主要有是一些有关如何往已经存在的表中添加新的列,如何删除已经存在的列有一些知识,如何创建登录,创建数据库用户,给数据库用户赋予权限,以及如何删除登录,删除数据库用户,今天刚自己学到的,在这里记录一下今天的劳动成果.
  2 
  3  
  4 
  5 use master 
  6 
  7 go 
  8 /*判断stuDB是否存在,如果存在,则删除,然后再创建数据库*/
  9 if exists(select * from sysdatabases where name = 'stuDB')
 10 
 11 drop database stuDB
 12 exec xp_cmdshell 'mkdir F:\Sql\stuDB'
 13 create database stuDB
 14 
 15 on primary --主文件组,可省略
 16 (
 17 name = 'stuDB_data',--主数据库文件的逻辑名 
 18 filename = 'F:\Sql\stuDB\stuDB_data.mdf',--主数据库文件的物理名
 19 size = 5mb,
 20 maxsize = 100mb,
 21 filegrowth = 15%
 22 )
 23 log on(
 24 
 25 name = 'stuDB_log',
 26 filename = 'F:\Sql\stuDB\stuDB_log.ldf',
 27 size = 2mb,
 28 filegrowth = 1mb
 29 )
 30 go
 31 
 32 
 33 use stuDB
 34 
 35 --创建表stuInfo
 36 create table stuInfo
 37 (
 38 stuName varchar(20not null--姓名
 39 stuNo char(6not null,--学号
 40 stuSex char(2not null,--性别
 41 stuAge int not null,--年龄
 42 stuSeat smallint identity(1,1),--座位号,自动标识列
 43 stuAddress text --住址
 44 
 45 )
 46 
 47 
 48 --添加主键约束
 49 alter table stuInfo
 50 add constraint PK_stuNo primary key(stuNo)
 51 alter table stuInfo
 52  add constraint CK_stuNo check (stuNo like 's253__')
 53 --删除约束条件
 54 --alter table stuInfo drop constraint ck_stuNo
 55 
 56 --添加默认约束(地址为"地址不祥")
 57 alter table stuInfo
 58 add constraint DF_stuAddress default('地址不祥')for stuAddress
 59 
 60 --添加Check约束(年龄在15到40之间)
 61 alter table stuInfo
 62 add constraint CK_stuAge check(stuAge between 15 and 40)
 63 
 64 go
 65 
 66 --创建表stuMarks
 67 create table stuMarks
 68 (
 69 ExamNo char(7not null,--考试号
 70 stuNo char(6not null,--学号
 71 labExam int not null--机试成绩
 72 )
 73 go
 74 
 75  
 76 
 77 --添加外键约束
 78 alter table stuMarks
 79 add constraint FK_stuNo
 80 foreign key (stuNo) references stuInfo(stuNo)
 81 
 82 --添加ckeck约束
 83 alter table stuMarks
 84 add constraint CK_labExam check(labExam between 0 and 100)
 85 
 86 go
 87 
 88 --创建登录帐户
 89 
 90 --创建Windows登录帐户(如果创建的域用户,则用'域名\用户名',如果是Window本地用户,则用'计算机名\用户名')
 91  exec sp_grantlogin 'HP-Gzp\administrator'
 92 
 93 --创建SQL登录帐户
 94  exec sp_addlogin 'gzp','1234'
 95  go
 96 
 97 
 98 --删除用户登录
 99  drop login gzp
100 
101 --创建数据库用户
102 
103  exec sp_grantdbaccess 'HP-Gzp\administrator','gzpAdmin'
104     /*'HP-Gzp\administrator':为登录帐户,'gzp'为添加的数据库登录帐户*/
105  go
106 
107  exec sp_grantdbaccess 'gzp' ,'gzp1'
108  go
109 --从当前数据库中删除数据库用户
110  exec sp_dropuser 'gzp1';
111  go
112 --从当前数据库中删除用户
113  --drop user gzp1
114 
115 --删除数据库用户时,依赖于该用户的权限和别名也会删除。
116 
117  exec sp_revokedbaccess 'gzp1';
118  go
119 
120 --使用 sp_helpuser 将显示一个可从当前数据库中删除的用户名的列表
121  exec sp_helpuser
122  go
123 
124  
125 
126 --向数据库用户授权
127 
128 --grant 权限 [on 表名] to 数据库用户
129 
130 grant select,insert  on stuInfo to gzp1
131 
132 --添加SQL帐户
133 
134   use studb
135   go
136  --添加班主任帐户
137   exec sp_addlogin 'banzhuren' ,'111111'
138   go
139 
140   exec sp_grantdbaccess 'banzhuren'
141   go
142   grant select ,insert ,update,delete on stuInfo to banzhuren
143  --添加教员帐户
144   exec sp_addlogin 'jiaoyuan','123456'
145   go
146 
147   exec sp_grantdbaccess 'jiaoyuan'
148   go
149 
150   grant select on stuInfo to jiaoyuan
151   go
152 
153 
154 --用语句添加删除表中的列(当然要先有一个数据库了用create database dataName创建数据库)
155  --先创建一个用于测试的表
156  create table test
157  (
158   column1 char(20)
159  )
160 
161  go
162  --添加一个列column2
163  alter table test 
164   add  column2 varchar(20null
165  go
166 
167  --添加约束条件
168  alter table test 
169   add constraint df_column2 default('aa'for column2
170  go
171  --要删除列,应该先删除该列的约束条件
172  alter table test
173   drop constraint df_column2
174  go
175 
176  --删除列
177  alter table test
178   drop column column2
179  go
180 
181  --修改表中列的类型
182   --先插入一行测试数据
183  insert into test (column1)  values ('fd')
184   /*修改列的类型(注意:修改类型时,已经存在的数据应该
185    与要修改成的数据类型一致或者能够转换成要修改为的类型,否则会轮换失败)*/
186  alter table test alter column column1 varchar(20)
187  --删除表
188  drop table test
189  
190 
191  
192 
193 
194  
195