SQL Server 数据库

来源:互联网 发布:lua5.3.4 for windows 编辑:程序博客网 时间:2024/06/06 02:08

Microsoft  SQL  Server提供了以下4个系统数据库

 

1、Master 数据库

   记录SQL Server系统的所有系统级别信息,包括以下三点:

   a、所有的登录账户和系统配置设置。

   b、所有其他的数据库及数据库文件的位置。

   c、SQL Sever的初始化信息。

 

2、Tempdb 数据库

   Tempdb数据库保存所有的临时表和临时存储过程,以及临时生成的工作表。

   Tempdb数据库在SQL Server 每次启动时都重新创建。

 

3、Model 数据库

   Model数据库用作在系统上创建的所有数据库的模板,例如,使用SQL语句创建一个新的空白数据库时,将使用模板中规定的默认值来创建。

 

4、Msdb 数据库

   Msdb 数据库提供SQLServer代理程序调度警报、作业以及记录操作时使用。

 

 

sql语句

 

1、  按照旧表的结构创建新表,并把旧表中的数据添加到新表.

Select * into <新表> from<旧表>

2、  按照旧表的结构创建新表,但不传递数据。

Select * into <新表> from<旧表>  where1<>1

3、  将Student 表中年龄大于30岁的记录填充到S2表中,其中S2表已经存在。

Insert  into S2 

Select stuName , stuAge , stuSex , stuAddress

From Student

Where stuAge > 30

注意:Student表中有标识列时不能用*号代替列

4、  创建新表并添加新列,用Student表的结构。

Select  identity stuName  into<新表> from student

--用delete和truncate删除数据的区别

delete fromstudent  --可以按条件删,且计数.有外键关系也能删除

truncate tablestudent  --清空所有记录,不计数,也不验证条件。

--删除表结构

drop table student

--删除数据库

drop database student

 

--注意:只有该条没有外键时,才能删除数据。

--聚合函数

count() --计数

avg() --求平均值

sum() --求和

max()  --求最大值

min()  --求最小值

--注意:avg()和count()不计算值

 

--判断数据库是否存在

if exists(select * from sysdatabases wherename='数据库名')

--判断表是否存在

if exists(select * from sysobjects wherename='表明')

--修改姓名列

alter table student

alter column stuName varchar(100) not null

go

--添加主键约束

alter table student

add constraint PK_student primary key(列名)

go

--添加唯一约束;允许有null值

alter table student

add constraint UQ_stuName unique(列名)

go

--添加默认值

alter table student

add constraint DF_stuAge_student default(18) for<列名>

go

--添加检查约束

alter table student

add constraint CK_stuSex check(stuSex like'[男女]')

go

--添加外键约束

alter table 外键表

add constraint FK_stuAge foreign key (外键列)

references 主键表(主键列)

go

--删除约束

alter table student

drop constraint 约束名

go

--连接

--内连接

select 列名 from 表名 where 公共字段

--或

select <列名> from<表名> insert join<表名> on<公共字段>

--外连接

--1、左外连接查询

select <列名> from<表名> left [outer] join<右表> on<公共字段>

--2、右外连接查询

select <列名> from<右表> right [outer] join<左表> on<公共字段>

 

--创建视图

create view view_name

as

 sql语句

go

--打开视图

select * from 视图名

--创建事务

begin transaction --开始事务

commit transaction --提交事务

rollback transaction --回滚事务

go

--打开隐式事务

--与显示打开事务的区别(一个事务的结束作为下一个事务的开始) 

 

--查询临时表是否存在

if OBJECT_ID('TEMPDB.abo.#TEMPDB') is not null

drop table #TEMPDB

go

 

--创建函数

create function SubStuName

(@stuName varchar(20)) --姓名

returns varchar(10)

as

declare @m = varchar(20)

set @m = @stuName

set @m = LEFT(@stuName,2)

return @m

go

 

--调用函数

select abo.SubStuName(stuName) from<表>

 

                     

0 0
原创粉丝点击