问题描述:
请问,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
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)