mssql是什么?

mssql是什么?,第1张

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

请问,mssql是用来做什么的? 我知道和数据有关的, 请问,mssql是叫做数据库管理系统吗?是用来管理数据库的对吗?????

解析:

评价楼上几位的回答:

buaa_sheng:虽然简单,但是正确。

dansss:虽然单独解释ms和sql是正确的,但合起来就不正确,因为合起来以后就特指微软的SQL Server数据库服务器,而不是“微软的SQL语言”。

Robin_G:有所偏颇,也可以说是不正确的。它是一个数据库平台,提供数据库的从服务器到终端的完整的解决方案,其中数据库服务器部分,是一个数据库管理系统,用于建立、使用和维护数据库。什么是数据库呢?数据库是其中存储的数据的 *** 。如果把SQL Server刚买来时的所有自带的初始数据都删掉,那它还是个SQL Server,就像你把Word里的内容都删掉,但Word还在那儿。一个SQL Server可以同时开多个数据库服务器,每个数据库服务器又可以拥有多个数据库。

通俗的总结一下:数据库就是一堆数据在那里,数据库管理系统就是一个软件去管那堆东西。

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

怎样压缩MSSQL数据库,我的数据库文件显示占用空间120M,可用空间105M,其实正直有用的也只有几十M,怎样压缩呢?请哪位朋友提供解决方法!

解析:

数据库在使用一段时间后,时常会出现因数据删除而造成数据库中空闲空间太多的情况,这时就需要减少分配给数据库文件和事务日志文件的磁盘空间,以免浪费磁盘空间。当数据库中没有数据时,可以修改数据库文件属性直接改变其占用空间,但当数据库中有数据时,这样做会破坏数据库中的数据,因此需要使用压缩的方式来缩减数据库空间。可以在数据库属性选项中选择“Auto shrink”选项,让系统自动压缩数据库,也可以用人工的方法来压缩。人工压缩数据库有以下两种方式:

1、用Enterprise Manager 压缩数据库

在Enterprise Manager 中在所要压缩的数据库上单击右键,从快捷菜单中的“所有任务(All Tasks)”中选择“Shrink Database(压缩数据库)”选项

、用Transact-SQL 命令压缩数据库

可以使用DBCC SHRINKDATABASE 和DBCC SHRINKFILE 命令来压缩数据库。其中DBCC SHRINKDATABASE 命令对数据库进行压缩,DBCC SHRINKFILE 命令对数据库中指定的文件进行压缩。

(1) DBCC SHRINKDATABASE

DBCC SHRINKDATABASE 命令语法如下:

DBCC SHRINKDATABASE (database_name [, target_percent]

[, {NOTRUNCATE | TRUNCATEONLY}] )

各参数说明如下:

target_percent 指定将数据库压缩后,未使用的空间占数据库大小的百分之几。如果指定的百分比过大,超过了压缩前未使用空间所占的比例,则数据库不会被压缩。并且压缩后的数据库不能比数据库初始设定的容量小。

NOTRUECATE

将数据库缩减后剩余的空间保留在数据库,中不返还给操作系统。如果不选择此选项,则剩余的空间返还给操作系统。

TRUNCATEONLY

将数据库缩减后剩余的空间返还给操作系统。使用此命令时SQL Server 将文件缩减到最后一个文件分配,区域但不移动任何数据文件。选择此项后,target_percent 选项就无效了。

压缩数据库mytest 的未使用空间为数据库大小的20%。

dbcc shrinkdatabase (mytest, 20)

运行结果如下:

DBCC execution pleted. If DBCC printed error messages, contact your system administrator.

(2) DBCC SHRINKFILE

DBCC SHRINKFILE 命令压缩当前数据库中的文件。其语法如下:

DBCC SHRINKFILE ( {file_name | file_id }

{ [, target_size] |

[, {EMPTYFILE | NOTRUNCATE | TRUNCATEONLY}] } )

各参数说明如下:

file_id

指定要压缩的文件的鉴别号(Identification number, 即ID)。文件的ID 号可以通过 FILE_ID()函数或如本章前面所讲述的Sp_helpdb 系统存储过程来得到。

target_size

指定文件压缩后的大小。以MB 为单位。如果不指定此选项,SQL Server 就会尽最大可能地缩减文件。

EMPTYFILE

指明此文件不再使用,将移动所有在此文件中的数据到同一文件组中的其它文件中去。执行带此参数的命令后,此文件就可以用ALTER DATABASE 命令来删除了。

其余参数NOTRUNCATE 和TRUNCATEONLY 与DBCC SHRINKDATABASE 命令中的含义相同。

例6-15: 压缩数据库mydb 中的数据库文件mydb_data2 的大小到1MB。 use mydb dbcc shrinkfile (mydb_data2, 1)

数据操作

SELECT 从数据库表中检索数据行和列

INSERT 向数据库表添加新数据行

DELETE 从数据库表中删除数据行

UPDATE 更新数据库表中的数据

数据定义

CREATE TABLE 创建一个数据库表

DROP TABLE 从数据库中删除表

ALTER TABLE 修改数据库表结构

CREATE VIEW 创建一个视图

DROP VIEW 从数据库中删除视图

CREATE INDEX 为数据库表创建一个索引

DROP INDEX 从数据库中删除索引

CREATE PROCEDURE 创建一个存储过程

DROP PROCEDURE 从数据库中删除存储过程

CREATE TRIGGER 创建一个触发器

DROP TRIGGER 从数据库中删除触发器

CREATE SCHEMA 向数据库添加一个新模式

DROP SCHEMA 从数据库中删除一个模式

CREATE DOMAIN 创建一个数据值域

ALTER DOMAIN 改变域定义

DROP DOMAIN 从数据库中删除一个域

数据控制

GRANT 授予用户访问权限

DENY 拒绝用户访问

REVOKE 解除用户访问权限

事务控制

MIT 结束当前事务

ROLLBACK 中止当前事务

SET TRANSACTION 定义当前事务数据访问特征

程序化SQL

DECLARE 为查询设定游标

EXPLAN 为查询描述数据访问计划

OPEN 检索查询结果打开一个游标

FETCH 检索一行查询结果

CLOSE 关闭游标

PREPARE 为动态执行准备SQL 语句

EXECUTE 动态地执行SQL 语句

DESCRIBE 描述准备好的查询

局部变量

declare @id char( )

set @id =

select @id =

全局变量

必须以@@开头

IF ELSE

declare @x int @y int @z int

select @x = @y = @z=

if @x >@y

print x >y 打印字符串 x >y

else if @y >@z

print y >z

else print z >y

CASE

use pangu

update employee

set e_wage =

case

when job_level = ’ ’ then e_wage*

when job_level = ’ ’ then e_wage*

when job_level = ’ ’ then e_wage*

else e_wage*

end

WHILE CONTINUE BREAK

declare @x int @y int @c int

select @x = @y=

while @x <

begin

print @x 打印变量x 的值

while @y <

begin

select @c = *@x + @y

print @c 打印变量c 的值

select @y = @y +

end

select @x = @x +

select @y =

end

WAITFOR

例 等待 小时 分零 秒后才执行SELECT 语句

waitfor delay ’ : : ’

select * from employee

例 等到晚上 点零 分后才执行SELECT 语句

waitfor time ’ : : ’

select * from employee

***SELECT***

select *(列名) from table_name(表名) where column_name operator value

ex:(宿主)

select * from stock_information where stockid = str(nid)

stockname = str_name

stockname like % find this %

stockname like [a zA Z]% ([]指定值的范围)

stockname like [^F M]% (^排除指定范围)

只能在使用like关键字的where子句中使用通配符)

or stockpath = stock_path

or stocknumber <

and stockindex =

not stock*** = man

stocknumber beeen and

stocknumber in( )

order by stockid desc(asc) 排序 desc 降序 asc 升序

order by by列号

stockname = (select stockname from stock_information where stockid = )

子查询

除非能确保内层select只返回一个行的值

否则应在外层where子句中用一个in限定符

select *from table table

where table id *= table id 左外部连接 table 中有的而table 中没有得以null表示

table id =* table id 右外部连接

select stockname from table

union [all] union合并查询结果集 all 保留重复行

select stockname from table

***insert***

insert into table_name (Stock_name Stock_number) value ("xxx" "xxxx")

value (select Stockname Stocknumber from Stock_table ) value为select语句

***update***

update table_name set Stockname = "xxx" [where Stockid = ]

Stockname = default

Stockname = null

Stocknumber = Stockname +

***delete***

delete from table_name where Stockid =

truncate table_name 删除表中所有行 仍保持表的完整性

drop table table_name 完全删除表

***alter table*** 修改数据库表结构

alter table database owner table_name add column_name char( ) null

sp_help table_name 显示表已有特征

create table table_name (name char( ) age *** allint lname varchar( ))

insert into table_name select 实现删除列的方法(创建新表)

alter table table_name drop constraint Stockname_default 删除Stockname的default约束

统计函数

AVG 求平均值

COUNT 统计数目

MAX 求最大值

MIN 求最小值

SUM 求和

AVG

use pangu

select avg(e_wage) as dept_avgWage

from employee

group by dept_id

MAX

求工资最高的员工姓名

use pangu

select e_name

from employee

where e_wage =

(select max(e_wage)

from employee)

日期函数

DAY() 函数返回date_expression_r 中的日期值

MONTH() 函数返回date_expression_r 中的月份值

YEAR() 函数返回date_expression_r 中的年份值

DATEADD( )

函数返回指定日期date 加上指定的额外日期间隔number 产生的新日期

DATEDIFF( )

函数返回两个指定日期在datepart 方面的不同之处

DATENAME( ) 函数以字符串的形式返回日期的指定部分

DATEPART( ) 函数以整数值的形式返回日期的指定部分

GETDATE() 函数以DATETIME 的缺省格式返回系统当前的日期和时间

系统函数

APP_NAME() 函数返回当前执行的应用程序的名称

COALESCE() 函数返回众多表达式中第一个非NULL 表达式的值

COL_LENGTH(<table_name ><column_name >) 函数返回表中指定字段的长度值

COL_NAME( ) 函数返回表中指定字段的名称即列名

DATALENGTH() 函数返回数据表达式的数据的实际长度

DB_ID([ database_name ]) 函数返回数据库的编号

DB_NAME(database_id) 函数返回数据库的名称

HOST_ID() 函数返回服务器端计算机的名称

HOST_NAME() 函数返回服务器端计算机的名称

IDENTITY([ seed increment]) [AS column_name])

IDENTITY() 函数只在SELECT INTO 语句中使用用于插入一个identity column列到新表中

ISDATE() 函数判断所给定的表达式是否为合理日期

ISNULL( ) 函数将表达式中的NULL 值用指定值替换

ISNUMERIC() 函数判断所给定的表达式是否为合理的数值

NEWID() 函数返回一个UNIQUEIDENTIFIER 类型的数值

NULLIF( )

lishixinzhi/Article/program/SQLServer/201311/22273


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/348996.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-07
下一篇2023-05-07

发表评论

登录后才能评论

评论列表(0条)

    保存