控件中国网现已改版,您看到的是老版本网站的镜像,系统正在为您跳转到新网站首页,请稍候.......
中国最专业的商业控件资讯网产品咨询电话:023-67870900 023-67871946
产品咨询EMAIL:SALES@COMPONENTCN.COM

SQL SERVER 2 数据库实现

作者:未知 出处:cnblog 2013年05月03日 阅读:

 1、创建数据库的语法

create database 数据库名称
 
on[primary]
 
 (
 
  <数据文件参数> [,…n]  [<文件组参数>]
 
 )
 
 [LOG ON]
 
 (
 
  <日志文件参数> [,…n]
 
 )
 
注意:
 
其中"[ ]"表示可选部分,而"{ }"表示需要部分
 
创建数据库实例:create database NetBarDB
 
on primary  --默认就属于primary主文件组,可省略
 
(
 
 name='NetBar_data',  --主数据文件的逻辑名
 
 filename='e:\NetBar_mdf.mdf',  --主数据文件的物理名
 
 size=3mb,  --主数据文件初始大小
 
 maxsize=100mb,  --主数据文件增长的最大值
 
 filegrowth=15%   --主数据文件的增长率
 
)
 
创建数据库数据文件和日志文件的语法:CREATE     DATABASE   数据库名
 
on
 
{
 
  NAME=逻辑名称,
 
  FILENAME=物理文件名称,
 
  SIZE=文件大小,
 
  MAXSIZE=文件可长的最大大小,
 
  FILEGROWTH=自动增长量
 
}
 
log on
 
{
 
  ………………………
 
}
 
2、删除数据库语法:
drop database 数据库名称;
 
删除多个数据库:
 
 drop database 数据库名称1,数据库名称2,...数据库名称n;
 
注意:
 
使用drop语句删除数据库将会删除
 
磁盘中与将要删除的数据库相关的
 
文件,如数据文件和日志文件
 
删除数据库示例:if  exists (select * from sysdatabases where name='NetBarDB')
 
    drop database NetBarDB
 
go 
 
或者:
 
if DB_ID('NetBarDB') is not null
 
  drop database NetBarDB
 
go 
 
3、创建表语法:
     create table 表名
 
     (
 
         字段1  数据类型  字段特征,
 
         字段2  数据类型  字段特征,
 
          ... ...
 
         字段n  数据类型  字段特征,
 
    )   
 
4、修改表语法:
添加列:
 
    alter table 表名
 
         add { 字段  数据类型  字段特征} [,...n]
 
删除列:
 
    alter table 表名
 
         drop column {字段} [,...n]
 
修改列:
 
    alter table 表名
 
         alter column 字段 数据类型 [null|not null]
 
5、删除表的语法:
DROP TABLE 表名
 
6、SQL Server的约束:
约束的目的:确保表中数据的完整型。
常用的约束类型:
 
主键约束(Primary Key Constraint):要求主键列数据唯一,并且不允许为空
 
唯一约束(Unique Constraint):要求该列唯一,允许为空,但只能出现一个空值。
 
检查约束(Check Constraint):某列取值范围限制、格式限制等,如有关年龄的约束
 
默认约束(Default Constraint):某列的默认值,如我们的男性学员较多,性别默认为“男”
 
外键约束(Foreign Key Constraint):用于两表间建立关系,需要指定引用主表的那列
添加约束语法:
 
alter table 表名
 
    add constraint 约束名称  约束类型  约束内容
 
约束名的取名规则推荐采用:约束类型_约束字段
 
主键(Primary Key)约束:如 PK_stuNo
 
唯一(Unique Key)约束:如 UQ_stuID
 
默认(Default Key)约束:如 DF_stuAddress
 
检查(Check Key)约束:如 CK_stuAge
 
外键(Foreign Key)约束:如 FK_stuNo
 
删除约束:
 
ALTER TABLE 表名 
 
      DROP CONSTRAINT 约束名
 
7、实例:
启动外围配置项:
 
exec sp_configure 'show advanced options',1
 
reconfigure
 
exec sp_configure 'xp_cmdshell',1
 
reconfigure
 
go
 
调用dos命令创建文件夹:
 
exec xp_cmdshell 'md E:\user',no_output
 
go
 
判断数据库是否存在,若存在,则执行删除数据库操作
 
if DB_ID('UserDB') is not null
 
  drop database UserDB
 
go
 
创建数据库
 
create database UserDB
 
on
 
(
 
 name = userdb,
 
 filename = 'E:\user\userdb.mdf',
 
 size = 10MB,  -- KB  MB GB TB  
 
maxsize = unlimited,
 
 filegrowth = 1MB 
 
  )
 
log on
 
(
 
 name = userdb_log,
 
 filename = 'E:\user\userdb_log.ldf',
 
 size = 3MB,
 
 maxsize = 10MB,
 
 filegrowth = 10%
 
)
 
go
 
use UserDB
 
go
 
判断对象是否存在  对象:
 
table trigger view proc
 
if OBJECT_ID('Student','table') is not null  
 
  drop table Student go
 
create table Student
 
(
 
 StuNo int identity(1,1) primary key,
 
 StuName varchar(20) not null,
 
 ClaNo int not null
 
)
 
go
 
if OBJECT_ID('Class','table') is not null
 
  drop table Class go
 
create table Class
 
(
 
 ClaNo int identity(1,1) primary key,
 
 ClaName varchar(20) not null,
 
)
 
新增一列
 
alter table Student  
 
  add StuSex bit null
 
go
 
删除一列
 
alter table Student
 
   drop column StuSex
 
go
 
修改一列
 
alter table Student
 
  alter column StuSex int null
 
go
 
主键约束
 
alter table Student
 
   add constraint PK_Student_StuNo primary key(StuNo)
 
go
 
 唯一约束
 
alter table Student  
 
  add constraint UQ_Student_StuName unique(StuName)
 
go
 
检查约束
 
alter table Student
 
  add constraint CK_Student_StuName check(len(StuName) > 10)
 
go
 
 默认值约束
 
alter table Student
 
   add constraint DF_Student_StuName default 'zs' for StuName
 
go
 
 外键约束
 
alter table Student
 
  add constraint FK_Student_Class_ClaNo foreign key(ClaNo) references Class(ClaNo)
 
go
 
主键约束(Primary Key Constraint) PK  :要求主键列数据唯一,并且不允许为空 唯一约束(Unique Constraint) UQ :要求该列唯一,允许为空,但只能出现一个空值。 检查约束(Check Constraint)  CK :某列取值范围限制、格式限制等,如有关年龄的约束 默认约束(Default Constraint)DF :某列的默认值,如我们的男性学员较多,性别默认为“男” 外键约束(Foreign Key Constraint) FK  :用于两表间建立关系,需要指定引用主表的那列
 
select * from Student insert into Student values('张三',0)
 
权限
 
create login zhangsan with password = '123456'
 
create user zhangsan for login zhangsan
 
grant revoke deny
 
deny select on Student to zhangsan
 
create role username grant select on Student to username
 
 
 
SQLServer 添加用户 添加角色 分配权限
 
--创建一个简单的登录,登录名为:newlogin;登录密码:123456;默认数据库:master,默认数据库也可以不指定。
 
EXEC sp_addlogin 'newlogin','123456','master'
 
--创建用户 --创建一个简单的用户,如果不指定用户名,则添加到当前数据库登录名中,如果不指定角色,则该用户默认属于public角色。下为添加newlogin登录名。
 
EXEC sp_adduser 'newlogin'
 
--创建一个带用户名的用户,用户可以与登录名相同(同上一种类似),也可以不同,但要设定当前登录名,用户角色可选,默认为public。下为将用户newuser添加到newlogin登录名中。
 
EXEC sp_adduser 'newlogin','newuser'
 
--创建角色 EXEC sp_addrole 'newrole' --下为将用户下为将用户newuser添加到newlogin登录名中。并指定newrole角色。
 
EXEC sp_adduser 'newlogin','newuser','newrole'
 
--为角色newrole赋予jobs表的所有权限
 
GRANT ALL ON jobs TO newrole
 
--为角色newrole赋予sales表的查、改权限
 
GRANT SELECT,UPDATE ON sales TO newrole
 
--禁止角色newrole使用employees表的插入权限
 
DENY INSERT ON employees TO newrole
 
  另一种创建用户和赋予角色的方式 --为登录newlogin在数据库中添加安全账户newuser
 
EXEC sp_grantdbaccess 'newlogin','newuser'
 
--添加newuser为角色newrole的成员 EXEC sp_addrolemember 'newrole','newuser'  
 
--数据库用户、角色、登录的删除操作 --删除当前数据库用户
 
EXEC sp_revokedbaccess 'newuser';
 
--删除数据库登录
 
EXEC sp_droplogin 'newlogin'
 
--删除数据库角色
 
EXEC sp_droprole 'newrole'
 
--从数据库角色(newrole)中删除用户(newuser)
 
EXEC sp_droprolemember 'newrole', 'newuser'
 
--用SQL代码新建登录、用户 --创建带密码的mylogin登录名,MUST_CHANGE 选项需要用户首次连接服务器时更改此密码。
 
CREATE LOGIN mylogin WITH PASSWORD = '123456' MUST_CHANGE;
 
--创建映射到凭据的登录名。 --以下示例将创建mylogin登录名。此登录名将映射到mycredential凭据。
 
CREATE LOGIN mylogin WITH PASSWORD = '123456', CREDENTIAL = mycredential;
 
--从Windows 域帐户创建登录名 --如果从Windows 域帐户映射登录名,则登录名必须用方括号([ ]) 括起来。
 
CREATE LOGIN [jack\xiangzhao] FROM WINDOWS;
 
--如果指定用户名,则不使用默认登录名作为该数据库用户
 
CREATE USER myuser FOR LOGIN mylogin
 
--以下示例将创建用户myuser拥有的数据库角色myrole
 
CREATE ROLE myrole AUTHORIZATION myuser;
 
--以下示例将创建db_role固定数据库角色拥有的数据库角色myrole
 
CREATE ROLE myrole AUTHORIZATION db_role
 

热推产品

  • ActiveReport... 强大的.NET报表设计、浏览、打印、转换控件,可以同时用于WindowsForms谀坔攀戀Forms平台下......
  • AnyChart AnyChart使你可以创建出绚丽的交互式的Flash和HTML5的图表和仪表控件。可以用于仪表盘的创......
首页 | 新闻中心 | 产品中心 | 技术文档 | 友情连接 | 关于磐岩 | 技术支持中心 | 联系我们 | 帮助中心 Copyright-2006 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 电话:023 - 67870900 传真:023 - 67870270 产品咨询:sales@componentcn.com 渝ICP备12000264号 法律顾问:元炳律师事务所 重庆市江北区塔坪36号维丰创意绿苑A座28-5 邮编:400020
在线客服
在线客服系统
在线客服
在线客服系统