热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

(火炬)MSSQLServer数据库案例教程

(火炬)MSSQLServer数据库案例教程创建数据库:CREATEDATABASETDB数据库名称ON(NAMETDB_dat,逻辑文件名在创建数据库完成之后语句中引用的文件名数据库必须唯一FILENAMED:mydbTDB_dat.mdf,操作系统在创建文件时使用的路径和文件名SI

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

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

创建数据库:

CREATE DATABASE TDB //数据库名称

ON

(

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

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

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

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

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

)

LOG ON

(

NAME=TDB_log,

FILENAME='D:\mydb\TDB_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<='2012-11-23 00:00:00.000') as a

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

提示:

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


推荐阅读
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了Python版Protobuf的安装和使用方法,包括版本选择、编译配置、示例代码等内容。通过学习本教程,您将了解如何在Python中使用Protobuf进行数据序列化和反序列化操作,以及相关的注意事项和技巧。 ... [详细]
author-avatar
chenkun
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有