sql server2008笔记

系统表和临时表

在sqlserver2008中数据表分为普通表,分区表,系统表和临时表

(1)系统表

在创建好的每个数据库中,系统都会自动添加一张系统表,该表存储了与系统有关的各种信息

例如sql server2008服务器配置,数据库设置,用户和表对象的描述信息

通常只有DBO权限的用户才能对该表进行操作

(2)临时表

临时表就是临时创建,不能永久保存,临时表分为两种,本地临时表和全局临时表

本地临时表的表名通常带有#标识符,它只对当前用户可见,当用户断开sql server2008

实例连接时,将自动删除该临时表,全局临时表的表名通常带有##标识符,全局临时表对于

当前sql server2008实例的所有用户都可见,当所有的引用该表的用户都断开与sql server2008

实例连接时,将自动删除该临时表,并且所有用户都可以创建临时表

//创建主键列

use 学生成绩管理系统

create table 学生信息

(

学号 nvarchar(50) not null primary key,

姓名 nchar(10) not null,

性别 nchar(10) not null,

出生日期 date null,

名族 nchar(10) null,

所属班级 nchar(10) null,

家庭住址 ntext null

)

//创建外键

use 学生成绩管理系统

create  table 班级信息(

班级编号 nchar(10) not null primary key,

班级名 nchar(10) not null,

班级人数 int null,

所属班级 nchar(10) null,

所属系别 nchar(10) not null,

辅导员 nchar(10) not null

foreign key 所属班级 references 系别信息(系别编号)

foreign key 所属系别 references 辅导员信息(辅导员编号)

)

//创建默认值

分数 int null default(0)

//创建check约束

use 学生成绩管理系统

create table 教师信息

(

教师编号 nchar(10) not null primary key,

姓名 nchar(10) not null,

性别 nchar(10) not null check(性别 in (‘男‘,‘女‘)),

年龄 nchar(10) not null,

名族 nchar(10) not null,

籍贯 ntext null,

联系电话 nvarchar(30) null

)

//创建自动编号列

在sql server2008系统中,使用indentity关键字定义的字段叫做标识字段,标识字段体现了

数据的唯一性,当某个字段设置为标识字段时,则该字段中不允许存在重复的数据值,当一个新

记录添加到这个表中时,这个字段就被自动赋给一个新值,默认情况下是按照加递增

每个表只能有一个标识字段,若使用tinyint则只能想表中添加255个记录

inentity(seed,increment)

use 学生成绩管理系统

go

create table 系别信息

(

系别编号 nchar(10) indentity(0,1) primary key not null,

系别名称 nvarchar(50) null

)

//创建唯一列

姓名 nchar(10) not null unique,

使用Transact-SQL语句

使用存储过程sp_rename语句可以对数据表进行重命名

use 学生成绩管理系统

go

exec sp_rename ‘学生信息‘,‘Students‘

使用drop table语句可以删除数据表

use 学生成绩管理系统

go

drop table 学生信息

在删除表时,如果使用cascade,那么除删除表及其数据外,所有引用该表的视图,约束,例程或者触发器

也会被删除,也就是级联操作,如果使用restrict,那么只有当不存在依赖性时才能被删除

使用drop table删除的时表本身,即将表和表中的数据全部删除,如果只想删除表中的数据,而保留表本省

那么使用delete语句

use 学生成绩管理系统

go

delete 学生信息

//

时间: 12-01

sql server2008笔记的相关文章

SQL Server2008 程序设计 汇总 GROUP BY,WITH ROLLUP,WITH CUBE,GROUPING SETS(..)

--SQL Server2008 程序设计 汇总 GROUP BY ,WITH ROLLUP  WITH CUBE  GROUPING SET(..) /******************************************************************************** *主题:SQL Server2008 程序设计 汇总 group by ,WITH ROLLUP  WITH CUBE *说明:本文是个人学习的一些笔记和个人愚见 *      有很多

SQL SERVER2008数据库常识

连接数据库的方式: 1 .SQL SERVER 身份验证法:需要输入用户名和密码验证才能连接到数据库. 2 .Windows 身份验证法,点击连接,直接访问到数据库. 2.怎么在Microsoft SQL SERVER2008数据库上修改用户名和密码: 打开数据库--------点开安全性文件夹: 点开登录名的文件夹------找到自己数据库里面的所有数据库的用户名(在我本机使用的是sa),然后鼠标右击-----属性,在弹出页面修改用户名和密码即可. 3.Microsoft SQL SERVER

SQL SERVER2008历史日志查询

有需要找个工具能够查询sql server历史操作日志,比如误删除,误操作等,网上搜了好多,没有一个靠谱的.当然排除自己写sql记录操作日志,俺不懂sql语言.有可用的工具求推荐,感谢. log explorer for sql server 支持到SQL2005,以上不支持. sql server自带的管理--sql server日志 记录的登录和错误日志 强大的sql server profiler 主要作为实时分析进程或排错来用,不能查询历史日志,除非一直开着 查询transaction

php5.3.x连接MS SQL server2008

开篇 因为毕设老师需求的原因,虚拟旅游网站要求的数据库必须使用MS SQL server. 我最擅长的web编程语言是PHP,但是在PHP中链接MS SQL server是一件非常麻烦的事,我个人分析造成这种麻烦的原因:是因为使用PHP的一大优点就是免费,然而MS SQL server虽然图形化界面操作起来简单,但是其昂贵的授权费让人望而却步:加之MySQL不俗的性能和强大的社区支持,使得真正企业环境里,使用PHP + MS SQL server的人越来越少. 其实纵观网上的文章,之所以有人选择

不能连接MS Sql Server2008数据库的问题

前几天在计算机上安装了Win8企业版,又安装了MS Sql Server2008,本地开发比较顺畅,可是别的计算机的客户端却不能访问数据库. 先Ping一下,不通,可是它却能ping通别的计算机,可能是设置问题: 1.在运行里输入gpedit.msc,或者进入管理工具,找到计算机设置->windows设置->安全设置->本地策略->用户权限分配->拒绝从网络访问此计算机->删除guest用户,确定.(没有解决问题) 2.打开控制面板,进入管理工具,打开guest账户,G

Java连接Sql Server2008

参考:http://weistar.iteye.com/blog/1744871 准备工作: 1.下载JDBC驱动包:http://www.microsoft.com/zh-cn/download/details.aspx?id=21599 2.下载 完成后,点击运行,会提示你选择解压目录. 3.解压完成后,进入 <你解压到得目录>\sqljdbc_3.0\chs,有sqljdbc.jar和sqljdbc4.jar,这里使用sqljdbc4.jar 4.配置Sql Server2008端口:

sql server2008的游标

sql server2008中的游标包括游标结果集和游标位置,游标结果集由定义select语句返回的行的集合,游标位置 则是指向这个结果集的某一行的指针 在使用游标之前要先声明游标,定义Transact-SQL服务器的属性,例如游标的滚动行为用于生成游标所操作的结果 集的查询 例如在学生成绩管理系统数据库中为学生信息表定义一个游标 Declare cursor1 cursor for select * from 学生信息 1.打开游标 open cursor1 2.检索游标 fetch next

Oracle之PL/SQL学习笔记

自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家批评指正. PL/SQL定义:PL/SQL是由Oracle开发,专门用于Oracle的程序设计语言. PL---Procedural Language. SQL—Structure QueryLanguage.PL/SQL包括过程化语句和SQL语句     PL/SQL的单位:块. 一个块中可以嵌套

使用设置sa用户登录sql server2008

今天在net项目中添加数据库过程中出现了小问题,就是使用sql server身份验证没登录成功,经过一番调试,终于解决问题. 使用sa账户登录sql server 2008 的方法步骤如下: 1.首先打开电脑,打开SQL server 2008,使用windows身份验证. 2.成功登陆SQL server2008,找到安全性-登录名,"sa"右击选择"属性",先设置sa 的密码,将"强制密码实施策略"勾上. 3.然后再选择属性页下的"