创建数据库的一般步骤_第1页
创建数据库的一般步骤_第2页
创建数据库的一般步骤_第3页
创建数据库的一般步骤_第4页
创建数据库的一般步骤_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

创建数据库的一般步骤:(一)、切换系统数据库use mastergo(二)、判断数据库是否已有的同名数据库并将其删除(1)、if exists (select * from sys.sysdatabases where name=数据库名称)drop database 数据库名称go(2)、if (select count(*) from sys.sysdatabases where name=数据库名称) 0drop database 数据库名称go注:sys.sysdatabases :指的是一个系统视图(3)、if db_id(数据库名称) is not nulldrop database 数据库名称注意:db_id : 是SQL Server中的一个系统函数,用于返回数据库标识(id)号db_id函数的使用语法:db_id (数据库名称)若省略数据库名称则返回当前数据库的id,若查询不到,则返回null(三)、创建文件夹的两种方法:(1)、启用外围配置【此方法适用于找不到“sql server 外围应用配置器“的情况】exec sp_configure show advanced options,1reconfigureexec sp_configure xp_cmdshell,1reconfigurego-调用dos命令创建文件夹exec xp_cmdshell md D:sqlS2_sqllibrary,no_outputgo注意:xp_cmdshell:扩展存储过程(函数),用于执行一个DOS命令exec xp_cmdshell md或mkdir D:StuDB(2)、找到”配置工具”-打开”sql server 外围应用配置器”-进入”功能的外围应用配置器”-将”启用xp_cmdshell”打上勾-点击应用即可(四)、创建数据库的语法create database 数据库名称on primary :( name=逻辑名称(管理员用的),.mdf filename=绝对路径(物理名称), size=初始大小(mb), maxsize=限制可增长的最大大小(mb), filegrowth=自动增长量(mb / %)Log on的语法( name=逻辑名称(管理员用的),ldf filename=绝对路径(物理名称), size=初始大小(mb), maxsize=限制可增长的最大大小(mb), filegrowth=自动增长量(mb / %)Go注:创建多个次要文件时,需用”,”隔开,如:Create database 数据库名On primary(Name=.mdf(同上),filegroup a(命名)(Name=.ndf. (同上))。Log on(同上),filegroup((同上))删除数据库drop database 数据库名称(数据库名称1,。,数据库名称n)创建表的一般步骤:(一)、切换所创建的数据库Use 数据库名Go(二)、判断该数据库是否已存在该表检验的方法:(1)、if exists (select * from sysobjects where name=表名 and xtype=U)drop table 表名go(2)、if (select count(*) from sysobjects where name=表名 and xtype=U) 0Drop table 表名Go注:每个数据库都有一个系统视图sysobjects,记录了所在数据库的表、约束、视图、存储过程、触发器等对象name:对象名称xtype:类型S:system table系统表U:user table用户表PK:primary key主键约束CK:check 检查约束FK:foreign key 外键约束UQ:unique 唯一约束SP:stored procedure 存储过程TR:trigger 触发器(3)、if object_ID(对象名,对象类型) is not nullDrop table 表名Go 注:object_ID:系统函数,用于返回数据库对象标识号对象名:可为表名、约束名、存储过程名、视图名。对象类型:U(用户自定义类型)、V(视图)、C(check约束)。(三)、创建表create table 表名(列名 数据类型 约束(非空、标识列),列名 数据类型 约束,.)Go注:在建表时的约束一般只规定非空、标识identity(标识列) 的使用语法:identity(seed,increment)seed : 标识种子或起始值;increment : 递增量添加约束语法:Alter table 表名Add constraint 约束名 约束类型 具体的约束内容,constraint 约束名 约束类型 具体的约束内容,。Go两个较为特殊约束:默认:alter table 表名add constraint 约束名称 default(默认值) for 列名外键:alter table 表名add constraint 约束名称 foreign key(列名) references 主表名(引用的列名)约束名的取名则:主键(Primary Key)约束:PK_约束字段唯一(Unique Key)约束:UK_约束字段默认(Default Key)约束:DK_约束字段检查(Check Key)约束:CK_约束字段外键(Foreign Key)约束:FK_约束字段删除约束Alter table 表名Drop constraint 约束名添加列的语法:Alter table 表名Add 字段1 数据类型 字段特征字段2 数据类型 字段特征注:也可以向现有的表添加列,但相应的列必须允许为null值或是该列创建了default约束删除列语法:Alter table 表名Drop column 字段修改列(列名、数据类型、长度、精度、小数位数、可空性)语法:Alter table 表名Alter column 字段 数据类型 null | not null(1)、修改列的可空性Alter table 表名Alter column 字段 数据类型 null(2)、修改列的名称Sp_rename object_name,new_name,object_type注:Sp_rename : 修改列的名称(表、索引、列、数据库名)Object_name:用户对象或数据类型的当前限定或非限定名称New_name:指定对象的新名称Object_type:可选参数,表要重命名的对象的类型,默认值为null删除表:Use 当前数据库GoDrop table 表名Go第一层验证:登录名:SQL验证:自定义名称第三层验证:使用户针对表具备某种权限Grant 权限名称 on 对象(表) to 用户名Revoke权限名称 on 对象(表) from 用户名Deny权限名称 on 对象(表) from 用户名利用存储过程完成同样目的:第一层:创建登录名Windows登陆账户(一)、创建Windows登录账户的两种方法:(1)、Exec sp_grantlogin 计算机名用户名(2)、create login 登录名称 with password=登录密码(二)、修改登陆账户Alter login 登录名称 with 注: :可为“password=新密码 ” 或“Name=新登录名称”(三)、删除登陆账户Drop login 登录名称SQL登陆账户(一)、创建数据库用户的两种方法:(1)、Exec sp_addlogin 用户名,密码(2)、create user 用户名称for | from login 登录名(二)、修改数据库用户Alter user 用户名称With name=用户新名称(三)、删除数据库用户Drop user 用户名称注:Exec:表调用存储过程,类似Java语言的函数创建数据库用户名Exec sp_grantdbaccess 登陆账户名,数据库用户名(数据库用户名为可选参数,默认为登录名,即数据库用户默认和登陆账户同名)授权:(一)、权限的种类1、数据对象权限(DML)注:DML:数据操作语言,即select、update、insert、delete、execute2、语句权限(DDL)注:DDL:数据定义语言,即create database(创建数据库)、create table(创建表)、create view(创建视图)、create procedure(创建存储过程)、backup database(备份数据库)3、隐含权限(二)、用户权限管理1、授予(grant):对用户授予某种权限2、收回(revoke):对用户收回(即删除)已授予的权限3、禁用(deny):禁止用户拥有某种权限grant | revoke | deny 权限on 表名字段 to 数据库用户如:Grant 权限 on 表名 to 用户名当分配所有权限给某个用户时,可以使用all语法:Grant all on 表名 to 用户名T-SQL编程与高级查询一、局部变量1、局部变量:以“”开头定义局部变量的语法:Declare 局部变量名 数据类型,局部变量名 数据类型。(1)set 变量名 = 值值:可为一个常量、任何有效的表达式、一个返回单值的查询语句(2)select 变量名 = 值区别:A、set一次只能对一个变量赋值,select可以多个B、set不能用于SQL查询语句中,select可以C、select会产生结果集,效率比set要低3、局部变量的作用域:从声明变量的地方开始到声明变量的批处理或存储过程的结尾。4、局部变量的应用:(1)作为计数器计算循环执行的次数或控制循环执行的次数;(2)保存数据值以控制流语句测试;(3)保存存储过程要返回的数据值或函数返回值二、全局变量1、全局变量应注意的地方:(1)全局变量不是由用户的程序定义的,是在服务器级定义的;(2)用户只能使用预先定义的全局变量;(3)引用全局变量时,必须以标识符“”开头2、常用的全局变量:connections 返回SQL Server 自上次启动以来尝试的连接数,无论连接是成功还是失败。error 返回执行上一个T-SQL语句的错误代码。identity 返回上次插入的标识值。language 返回当前所用语言的名称。max_connections 返回SQL Server实例允许同时进行的最大用户连接数,返回的数值不一定是当前配置的数值rowcount 返回受上一语句影响的行数。servername 返回运行SQL Server的本地服务器的名称。servicename 返回SQL Server正在其下运行的注册表项的名称。(若当前实例为默认实例,则返回mssqlserver;若当前实例是命名实例,则该函数返回该实例名)total_errors 返回SQL Server自上次启动之后所遇到的此磁盘写入错误数。trancount 返回当前连接的活动事务数。version 返回当前的SQL Server 版本、处理器体系结构、生成日期和操作系统三、输出语句Print 语句的语法:Print 字符串 | 变量 | 函数 | 字符串表达式Select 全局变量名 as 新命名的名称,输出的内容区别:A、print是以文本形式输出,select是以表格形式输出B、print一次只能输出一个值,select能够输出多个值C、当用print输出多个值“连接”的结果,需要用convert函数转换为字符串,而select不需要注:print 语句输出的都是文本字符串,并且每一个print语句的输出都占据一行;Select 语句是以网格的形式输出,可将输出的内容用“,”隔开,作为多列输出,并使用as 或空格取列名可通过图形界面设置:在查询窗口中单击右键弹出快捷菜单选择“将结果保存到”“以文本格式显示结果”四、T-SQL的控制流1、ifelse 语句语法:If(条件表达式)语句或语句块Else语句或语句块注:else 子句为可选,若要定义语句块,则使用控制流关键字begin 和end语法:If(条件表达式)Begin语句En

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论