似水无痕

http://www.fushunboy.com, http://www.kunet.cn, http://www.gotdotnet.cn
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

SQL数据库命令讲解

Posted on 2006-04-20 11:09  似水无痕  阅读(3271)  评论(0编辑  收藏  举报
SQL数据库命令讲解  
------------------------------------------------------------------数据库--------部份
--
---------------------对于数据库的原代码,可以试用在后面加   with encryption  进行加密
--
-----注意smalldatetime,text,Ntext,binary<=8KB,varbinary<8KB,image<2GB(.gif,.bmp,.jpeg)
--
-----别名设置:select t.title_id  from authors  AS t -------t 为设置的别名
--
------统计方面
--
-------------------union 操作---把不同的查询结果统一起来,起到 and 的作用
--
-------------------统计函数sum(),avg(),min(),max(),count()-返回记录值,count(*)-----如出现问题,看P书193
--
-------------------group by 分类列名---分类,就是把同一名字的记录统一起来计算,作为一个值,,,P书183
--
-------------------having  统计值><=操作进行进一步筛选----------P书185
--
-------------------all
--
-------------------with cube-----维的概念
--
-------------------rollup--既分类又要总和
--
-------------------compute..[by   类型名-----分类总和]---可计算分类和及总和--------P书188

---------------------exists/not exists/not in---------------P书191

--------约束
--
--sp_helpconstraint 表名----查看表内约束信息
--
--sp_pkeys 表名---------浏览指定表上的主键信息
--
--sp_fkeys 表名---------查看外键信息
--
------主键
--
------[CONSTRAINT 约束名] primary key [IDENTITY]  [,CLUSTERED|NONCLUSTERED]---------P书200
--
------alter table 表名  drop {[CONSTRAINT] 主键名}[,.n]-------删除主键
--
------唯一
--
------UNIQUE
--
------核查
--
------CHECK
--
------外键
--
------FOREIGN KEY (列名) references 表名(列名)

 

--------创建默认值
--
------create default 默认值名
--
------AS 常量
--
------绑定   sp_bindefault  "默认名","表名.列名"
--
------解除绑定 sp_unbindefault "表名.列名"


--

use master

if db_id ('info141')is not null
drop database info141

create database info141  
on primary
(name 
=info141_dat,
filename
='G:\作品库\永远的141\dbfolder\info141.mdf',
size
=2mb,
maxsize
=30mb,
filegrowth
=2mb)

log on 
(name
=info141_log,
filename
='G:\作品库\永远的141\dbfolder\info141.ldf',
size
=1MB,
maxsize
=10mb,
filegrowth
=1mb)

go
use master
go

--------------------------------------------系统存储过程
--
sp_helpdb--检查所有数据库的信息
--
go
--
sp_helpdb 永远的141--检查指定数据库的信息
--
go
--
sp_databases--检查当前所有可以使用的数据库的信息
--
go
--
sp_helpfile--查看当前数据库上所以有文件包括数据文件mdf和日志文件ldf的信息 
--
go
--
sp_helpfile info141_dat--查看当前数据库指定文件的信息
--
go
--
sp_helpfilegroup--查看当前数据库上所有文件组,包括primary和user_defined文件组
--
go
--
use info141
--
sp_helpfilegroup [@filegroup_name]--为一般组名,不能指定系统组--查看指定文件组的信息-------查看之前必须打开数据库
--
go


--"更名"------------------------组数据库"更名"
--
sp_renamedb "pubs","newname"
--
go

--select @@version----返回服务器版本
--
go


--“数据库开关“----------设定数据库的开关
--
-------------------属性:DBO use only--------规定只有数据库的拥有者可以使用该数据库
--
------------------------single-user---------当前只能有一个用户可以使用该数据库
--
------------------------Read-only-----------该数据库在当前只能读取数据不能修改数据
--
方式:sp_dboption[@dbname],[@optname][,@optvalue]
--
----------------------------属性--------开关=true/flase或off/on
--
例:exec  sp_dboption "company","single.user","flase"


-----------------------系统存储过程
--
sp_help news------查看指定系统表中信息
--
go
--
sp_spaceused news-----查看表格的行数以及表格利用的存储空间的信息
--
go
--
sp_depends news-----查看表格的依赖关系
--
go
--
---sp_rename 旧表名,新表名---------------------重命名表名
--
---go

--------------------------修改数据库
--
--增加文件:---
--
--------alter database info141---database_name
--
--------add file
--
--------(name=test_dat,
--
---------filename='G:\作品库\永远的141\dbfolder\info141.ldf',
--
---------size=5MB,
--
---------maxsize=50MB,
--
---------filegrowth=1MB)

----------to filegroup  primary--------------添加增加文件至primary组

----------alter database info141
--
--------modify filegroup primary DEFAULT----设置primary组为--"默认"--组
--
--------go

----修改数据库参数:-----
--
--------alter database info141
--
--------modify file
--
--------(name=info141_dat,
--
---------size=30MB)
--
--------go


---缩小数据库---------减少数据库内过期的内容
--
-------DBCC SHRINKDATABASE---------------数据库的缩小
--
-----------(database_name   [,target_percent]    [,{NOTRUNCATE|TRUNCATEONLY}] )
--
-------------------------数据库缩小后剩下的自由空间-----释放空间保持在数据库文件的范围内--|--交还操作系统回收利用

---------DBCCSHRINKFILE-------------指定数据库文件的缩小
--
-----------(file_name    {[,  targer_size]    |[,"EMPTYFILE|NOTRUNCATE|TRUNCATEONLY}]})
--
--------------------------------缩小到指定的长度-----将指定文件上的数据全部搬运到本文件组内其他文件上

-------------------------删除数据库
--
------drop database database_name   [,   ]

 

-------------------------------------------------------表
use info141

if object_id('userinfo')is not null
drop table userinfo

create table userinfo

(userID 
char(20)not null,----可以通过--DEFAULT  默认值---设置默认值
                             ------------IDENTITY   [(seed,increment)]  [NOT FOR REPLICATION]属性----来设置标识列----
                                      -----------标识列起始值,增量-----来设定""是否复制时""修改标识值
--
---------------------------------------ROWGUIDCOL属性-----设定列有唯一值

-----------------------------------------AS 计算列名-------------将该列设为"计算列"
upassword char(20not null,
question 
char(30)  not null,
answer 
char(15)  not null,
username 
char(9),
years 
char(4),
months 
char(2),
days 
char(2),
email 
varchar(50),
address 
varchar(200),
icq 
char(10),
oicq 
char(10),
telephoto 
char(12),
mobile 
char(12)
primary key (userID)
)
go

if object_id('mdbo')is not null
drop table mdbo

create table mdbo
(manaID 
char(20not null,
mpassword 
char(20)not null,
primary key (manaID)
)
go

insert into mdbo values ('mana1','1')
insert into mdbo values ('mana2','2')
go

if object_id('news')is not null
drop table news

create table news
(titlesID 
smalldatetime default day(getdate()),
titles 
varchar(50not null,
contents 
varchar(1500))
go

if object_id('chat'is not null
drop table chat

create table chat
(chatID 
int IDENTITY(1,1),
chatname 
char(20),
chattitle 
varchar(50),
chatcontent 
varchar(1000))
go

create unique clustered index chat_ind
on chat(chatID)
go


---------------------表的修改----触发器----约束-----列
--
------添加例
--
----alter table table_name 
--
--------alter column 列名   类型(值)----------修改指定列
--
--------DROP {[CONSTRAINT]约束名|COLUMN 列名}  []------删除约束或列
--
--------add 列名 类型(值) ..-----添加新例
--
--------add check (列名 in ())---添加新的例约束
--
--------{CHECK|NOCHECK}CONSTRAINT{ALL|约束名|}--使所有约束或指定约束---有效/无效
--
--------{ENABLE|DISABLE}TRIGGER{ALL|触发器名|}--使所有触发器或指定触发器---有效/无效

 

------------------------------------------------------------------索引
--
创建
--
create [unique][clustered|nonclustered]   index  索引名  on 表名(列名[,.])
--
-----创建唯一索引---簇集索引|非簇集索引---

--删除索引
--
drop index '表名.索引名'[,.]


-------------select 查寻
--
---select [DISTINCT]   [ALL]       [TOP integer|TOP interger PERCENT]  列名  [,n]
--
---------过滤重复数据--全部显示---返回最前面的integer行----用百分数表示的行

----from 表名


--********-like  模糊查询******************************************************************like 模糊查询***
--
--列名   like  "查询条件(%,_,[],[^]内的条件)"   [escape "t"]
--
----------------注意使用通配符---------------转意字符t后面的任意第一个通配符都是实际字符
--
---P书124


---------排序-------------主要是对输出结果排序
--
------[oredr by{要被排序的列名[ASC|DESC]}     [,..n]
--
------------------------------升序|降序

 

------------------------------------------------------------------数据的-------添加--删除--更新--清除
--
---添加
--
---insert [into] 表名(列名)[,.n]
--
----------values (值)[,..n]

-----更新
--
---update 表名
--
------set 列名={值|default|null}[,n]
--
------[from 表名[,n]
--
------where 查找条件

-----删除
--
---delete [from] 表名
--
---where 查找条件

-----清除表内内容
--
---truncate 表名

 


-------------------------------------------------------------------视图---------创建--删除--修改定义---
--
--创建
--
--create view 视图名
--
--------[被显示的列名,]  AS  SELECT 列名  [,.n]  [WITH CHECK OPTION]   [WITH ENCRYPTION]--对数据原码加密
--
--------from 表名                           ----------------查数据是否与更新或是添加时的--{""数据约束条件""}--一致
--
--------go

----删除视图中的数据
--
--delete 视图名
--
--where 条件

----删除
--
--drop view 视图名

----修改
--
--alter view 视图名
--
--------[被显示的列名,]  AS  SELECT 列名  [,.n]  [WITH CHECK OPTION]


---sp_help 视图名-------浏览视图信息
--
-sp_depends  视图名---------显示依赖性
--
-sp_helpText 视图名-------------------------------查看创建视图时的语句