(火炬)MS SQL Server数据库案例教程

(火炬)MS SQL Server数据库案例教程 创建数据库: CREATE DATABASE TDB //数据库名称 ON ( NAME=TDB_dat,//逻辑文件名 在创建数据库完成之后语句中引用的文件名 数据库必须唯一 FILENAME=’D:mydbTDB_dat.mdf’,//操作系统在创建文件时使用的路径和文件名 SI

(火炬)ms sql server数据库案例教程

创建数据库:

CREATE DATABASE TDB //数据库名称

ON

(

NAME=TDB_dat,//逻辑文件名 在创建数据库完成之后语句中引用的文件名 数据库必须唯一

FILENAME=’D:mydbTDB_dat.mdf’,//操作系统在创建文件时使用的路径和文件名

SIZE=10,//指定数据文件或日志文件的初始大小(默认单位为MB)

MAXSIZE=50,// 指定数据文件或日志文件的最大大小,如果没有指定大小那么文件将磁盘曾满为止(UNLIMITED关键字指定文件大小不受限制—只受磁盘大小空间限制)

FILEGROWTH=5 //指定文件的增长曾量,文件值不能超过MAXSIZE值的设置,0表示不增长,如果没有指定该参数,则默认值为10%;数据文件增长方式growth [ɡruθ] n. 增长;发展;生长;种植

)

LOG ON

(

NAME=TDB_log,

FILENAME=’D:mydbTDB_log.ldf’,

SIZE=10MB,

MAXSIZE=50MB,

FILEGROWTH=5MB

)

删除数据库日志并收缩数据库:

1.清空日志
DUMP TRANSACTION 库名 WITH NO_LOG

2.截断事务日志:
BACKUP LOG 数据库名 WITH NO_LOG

3.收缩数据库文件(如果不压缩,数据库的文件不会减小
企业管理器–右键你要压缩的数据库–所有任务–收缩数据库–收缩文件
–选择日志文件–在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
–选择数据文件–在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了

也可以用SQL语句来完成
–收缩数据库

 

删除数据库:

DROP DATABASE TESTDB,TDB…

1.查看Products表的结构

EXEC SP_HELP Products

2.插入数据

Insert into products  (name,sex,ages) values(‘xu’,’男’,24)

补充: SQL数据库中把一张表从一个数据库中插入到另外一个数据库的一张表里如果两个表结构完全一样的,用insert into data2.table2 select * from data1.table1

如果结构不一样或者你要指定字段,用insert into data2.table2(字段1,字段2,字段) select 字段j,字段k,字段m from data1.table1

SQl 把数据库中的一张表复制到另一个数据库中:

select * into 北风贸易.dbo.Category from [Northwind].dbo.Category

select * into 北风贸易.Dbo.cat from [Northwind].dbo.Category

3.更新数据

Update products set productprice= productprice- productprice*0.5  where 或

Update products set productprice= productprice- productprice*0.5  where id=1

1、update 联合select批量修改sql语句:

update b set b.TagValue=a.TagValue from [Nx_TagData] as b,(select * from [Nx_TagData] where TagCode=205911

 and CollectTime>=’2012-11-22 00:00:00.000′ and CollectTime

where b.TagCode in (205915,205920,205922,206539,205908,205913,205917,205918,205809,205910,206285,206060)

and b.CollectTime=a.CollectTime

4.删除数据

Delete from Products where productname=’v8’

5.全部删除表中的数据

Delete from products 或

Truncate table products

6.给products表添加一个字段

Alter table products

Add column producttype varchar(10)

7.修改products 表 producttype字段的长度

Alter table products

Alter column producttype varchar(50)

8.将products 表删除

Drop table products

注释:drop table name[,…] 可以删除多个表

9.注释标示符

–(双连字符) /*…*/(正斜线—星号字符对)

10.创建表及primary key约束(一个表只能有一个 PRIMARY KEY 约束)

Create table t_p/*学生*/

(

P_id char(5) not null,

P_name char(8) not null,

Constraint pk_tp_id primary key (p_id)–创建主键约束 pk_tp_id为约束名

)

Create table rec/*教师*/

(

R_id char(5) not null,

R_name char(8) not null,

R_DATE datetime not null,

Constraint pk_rec_id_name primary key(R_id,name) –R_id与R_name组合约束

)

或者

Alter table rec—(增加约束)

Add Constraint pk_rec_id_name primary key(R_id,name) –R_id与R_name组合约束

提示:

(1)组合主键也可以像rec信息表那样在创建表时创建表约束,但是不能像创建t_p信息表那样创建成列级约束。

(2)以修改表的方式添加primary key 约束时,要求相应的列在创建表时必须有非空约束。

ALTER TABLE product

 ADD  CONSTRAINT pk_id PRIMARY KEY NONCLUSTERED ([id] ASC)

注释:NONCLUSTERED 非聚集索引 (在CLUSTERED聚集索引前面加上NON 就变为非聚集索引)

11.default 约束

Create table rec

(

R_id char(5) not null,

R_name char(8) not null default getdate(),–该列的默认值取系统的当前的日期

R_date datetime not null

)

Alter table rec

Add constraint df_date defaut getdate() for R_date

12.check 约束

Create table rec

(

R_id char(5) not null,

R_name char(8) not null,

R_sex char(2) check(sex=’男’ or sex=’女’),–check 约束 值必须是 男或女 这两个任意一个值

R_DATE datetime not null

Rid char(18),

Constraint ck_rec_rid check (len(Rid)=18 or len(Rid)=15)—check约束 身份证值的长度只能为18或15这两个任意一个长度

)

或 添加check约束

Alter table rec

Add Constraint ck_rec_rid check (len(Rid)=18 or len(Rid)=15)

Alter table rec

Add Constraint ck_rec_sex check (sex=’男’ or sex=’女’)

13.unique 唯一约束

Create table rec

(

R_id char(5) not null,

R_name char(8) not null,

R_sex char(2) check(sex=’男’ or sex=’女’),–check 约束 值必须是 男或女 这两个任意一个值

R_DATE datetime not null

Rid char(18) unique,

)

Alter table rec

Add constrater un_Rid unique(pid)—限定身份证号码唯一,不会重复出现

14.foreign key 外键约束

作用是 学生表与教师表人的信息相关联 ,t_id列与R_id列定义foreign ke 约束

Create table courses

(

t_id char(5) not null foreign key references t_p(t_id),–与t_p表相关联 列级约束

R_id char(5) not null,

Grade char(16),

Class char(10),

Constraint fk_course_rec_R_id foreign key(R_id) references Rec(R_id)—与rec表相关联 表级约束

)

Alter table course

Add Constraint fk_course_rec_R_id foreign key(R_id) references Rec(R_id) —与rec表相关联

Alter table course

Add constraint fk_course_t_p_t_id foreign key(t_id) references t_p(t_id) –与t_p表相关联

知识点:

(1)与外键列t_id和r_id 列相对应的相关表中的列(学生表中t_id列和老师表中r_id列)必须定义为primary key约束或unique约束

(2)在建立外键时,外键列t_id和r_id列的数据类型及长度必须与相对应的相关表中的主键列(学生表中t_id列和老师表中r_id列)的数据类型及长度一致或者可以由SQL Server自动转换。

15.删除约束

删除R_id 列上名为ck_rec_rid的check约束

Alter table t_p

Drop constraint ck_rec_rid

对于创建时没有指定名称的约束,例如,服务器空间,学生信息表中sex列上创建的check约束,可以先使用如下的命令,查找到约束的名称。

Exec sp_constraint t_p或Exec sp_help constraint t_p

根据上面的语句执行后 找到想要的约束名称

alter table t_p

drop constraint ck_t_p_sex_1367E606

 

16创建索引

(1)非聚集索引—在stud表上创建名为studid_ind的聚集索引

Create clustered index studid_ind on stud(studid)

注释:一个表里只有一个聚集索引。

(2)非聚集索引—在stud表上创建名为studfullname_ind的非聚集索引

Create unique index studfullname_ind on stud(fname desc,lname) 唯一索引

Create nonclustered index studfullname_ind on stud(fname desc,lname)非聚集索引

注释:非聚集唯一索引 desc 降序 (去掉non 为聚集索引)

用“,”号隔开可以进行建立多个列的索引

17.查看stud表的索引

Select sp_helpindex stud

18.使用索引

Select * from stud (index=studid_ind) where id=’2007

19.删除索引

(1)drop index stud.studid_ind

20.修改stud表,设定studid为主键

Alter table stud

Constraint pk_studid primary key clustered(studid)

直接删除主键约束的pk_studid 索引 会报错

21.重建索引

(1)重建pk_studid索引

Dbcc dbreindex (stud,pk_studid)

注释:dbcc 重建索引命令 dbreindex 重建的标示

(2)重建pk_studid 索引,设定其填充因子占50%

Dbcc dbreindex (stud,pk_studid,50)

(3)重建studname_ind 索引

Create index studname_id on stud(fname,lname) with drop_existing

提示:

因为非聚集索引包含聚集索引,所以在去除聚集索引时,必须重建非聚集索引。如果重建聚集索引,则必须重建非聚集索引,以便使用新的索引。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1850248.html

(0)
上一篇 2025年2月22日 02:10:13
下一篇 2025年2月22日 02:10:43

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Photoshop初级教程:揉皱的纸纹特效

     我们在《用Photoshop渲染类滤镜做云彩特效》中详细剖析了渲染类滤镜做特效的方法,今天我们来介绍具体的实例——揉皱的纸纹。  1、Photoshop新建图像,选择渐变工具,设定如下图,注意模式要选择为“差值”。  –   …

    2025年3月12日 编程技术
    200
  • ps新手入门基础教程

    ps新手入门基础教程:1、可以直接拖动需要处理的图片到photoshop中打开;2、可以使用“ctrl+s”快捷键保存图片,保存的图片可以是任意格式;3、可以使用历史记录工具恢复之前的操作。 本教程操作环境:windows7系统,Adobe…

    2025年3月12日 编程技术
    200
  • ps入门教程零基础

    1、点击文件,再点击打开 2、把图片导入到了Ps软件里 3、在PS软件左方,是我们的工具栏。工具栏里有很一些制图的工具 4、点击裁剪工具,我们就可以对图片进行裁剪 5、点击吸管工具,然后再点击图片中我们想要的颜色,在右上方我们就获得了想要的…

    2025年3月12日
    200
  • ps换头像教程详细过程

    1、启动ps,并把两张照片都用ps打开,在顶部属性栏标尺下方会有两个标签,点击【脸部素材】标签,就会切换到我们要抠图的照片。我们先把人物面部抠出来。 2、然后我们在左侧工具栏中选择【套索工具】,慢慢的把人物的脸部圈起来,我们我们选择的边缘就…

    2025年3月12日 编程技术
    200
  • 怎么制作网站教程

      网站(Website)是指在因特网上根据一定的规则,使用HTML(标准通用标记语言下的一个应用)等工具制作的用于展示特定内容相关网页的集合。简单地说,网站是一种沟通工具,人们可以通过网站来发布自己想要公开的资讯,或者利用网站来提供相关的…

    2025年3月12日 编程技术
    200
  • 深入浅析HTML5中的SVG_html5教程技巧

    svg 背景 SVG是Scalable Vector Graphics的缩写,意为可缩放矢量图形。1998年,万维网联盟成立了一个工作组,研发一种通过XML来表现矢量图形的技术——SVG!由于SVG也是一种XML文件,所以SVG也继承了XM…

    编程技术 2025年3月11日
    200
  • HTML5 中的一些有趣的新特性

    html5 是近十年来 web 开发标准最巨大的飞跃。html5 并非仅仅用来表示 web 内容,它将 web 带入一个成熟的应用平台,在 html5 平台上,视频、音频、图象、动画,以及同电脑的交互都被标准化。 本教程将教会大家HTML5…

    编程技术 2025年3月11日
    200
  • 将数据库从服务器移到浏览器–indexedDB基本操作封装

      数据库是属于服务器的,这是天经地义的事,但是有时候数据也许并非需要存储在服务器,但是这些数据也是一条一条的记录,怎么办?今天来带领你领略一下h5的一个新特性–indexeddb的风骚。你会情不自禁的发出感叹–不可…

    2025年3月11日 编程技术
    200
  • svg的案例详解

    svg的几个小案例 最近经常用到svg,闲的无聊的时候做了几个简单的小例子,希望能帮到大家,svg会用了之后做动画和图片都方便了好多,接下来就看看小例子吧!! 1、例子一 css代码 html, body {  width: 100%;  …

    2025年3月11日
    200
  • 分享webpack实例教程

    webpack 是一个前端资源加载/打包工具。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。 安装 Webpack 在安装 Webpack 前,你本地环境需要支持 node.js。 由于 npm 安装速…

    2025年3月11日 编程技术
    200

发表回复

登录后才能评论