转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> SyBase >> 正文
Sybase入门         ★★★★

Sybase入门

作者:闵涛 文章来源:闵涛的学习笔记 点击数:3505 更新时间:2009/4/22 23:09:48
>sysroles dbo system table 
syssegments dbo system table 
sysservers dbo system table 
syssrvroles dbo system table 
systestlog dbo system table 
systhresholds dbo system table 
systypes dbo system table 
sysusages dbo system table 
sysusermessages dbo system table 
sysusers dbo system table 
sp_configure dbo stored procedure 
sp_dboption dbo stored procedure 
sp_getmessage dbo stored procedure 
sp_procxmode dbo stored procedure 
sp_prtsybsysmsgs dbo stored procedure 
sp_validlang dbo stored procedure 

说明见附录表1 

(2)视图(Views) 
视图是查看一张或几张表中的数据的一种方式。通过将一张或几张表中的一部分数据进行组合得到视图。视图看上去与表非常相象,但与表还是有着本质的区别。通过视图看到的数据实际上都是存放在表中的,在数据库中仅存在视图的定义。 
使用视图的好处是: 
● 操作方便 
● 安全性 

(3)索引(Index) 
索引是对字段生成的,用于加快数据的检索。在Sybase数据库中,索引是由系统自动管理的,也就是说,Sybase的索引操作对用户是透明的。表的索引一旦建立,系统会自动对其进行更新维护以使它与相应表对应一致;操作时,用户无须指定索引,系统会自动确定是否使用索引进行操作。 
Sybase支持三种不同类型的索引,一是复合索引,即包含几个列的索引;二是唯一性索引,即任意两行中的索引列不能有相同的取值;三是簇类索引(Clustered indexes)和非簇类索引(Nonclustered indexs),簇类索引使SQL服务器不断重排表行的物理顺序以使其与逻辑索引顺序相一致,非簇类索引则不需要表行的物理顺序与逻辑顺序一致。每个表最多只能建立一个簇类索引,非簇类索引则可建立多个。与非簇类索引相比,簇类索引的检索速度要快。应当在建立任何非簇类索引以前建立簇类索引。 

(4)存储过程(Stored procedures) 
存储过程是用T-SQL语言编写成的SQL子例程,它存储于SQL服务器上供用户调用执行。与一般的SQL语句和批处理语句不同的是,存储过程是经过预编译的。当首次运行一个存储过程时,SQL Server的查询处理器将对其分析,并产生最终的执行方案。由于查询处理的大部分工作已经完成,所以以后执行存储过程时速度将会很快。执行存储过程时可带参数并可调用其他存储过程,执行完毕后返回信息以指示是否成功完成相应操作。存储过程有两种:一种是SQL服务器安装时自动建立的系统存储过程(系统过程),另一种是用户自己创建的存储过程。 
系统过程是用于系统管理,并且为用户提供了从事数据库管理的一种途径。这些系统过程都是以sp_开头的,它们都放在master数据库中且隶属于sa(系统管理员) 。也有很多可以在任一个数据库中运行的系统过程。 
常见的系统过程有: 
Sp_addgroup 在当前数据库中建立一个数据库用户组 
Sp_addlogin 建立一个SQL服务器用户 
Sp_adduser 在当前数据库中增加一个用户 
sp_changegroup 改变数据库用户组 
Sp_dboption 查询或改变数据库系统设置 
Sp_dropdevice 删除设备 
Sp_dropgroup 删除组 
Sp_droplogin 删除帐号 
Sp_help 查询数据库对象及所有数据库信息 
Sp_helpdb 查询数据库信息 
Sp_helpdevice 查询设备信息 
Sp_helpgroup 查询组信息 
Sp_helpindex 查询给定表信息 
Sp_helpuser 查询用户信息 
Sp_lock 查询当前加锁信息 
Sp_monitor 查询SQL服务器统计信息 
Sp_password 改变登录帐号口令 
Sp_spaceused 查询表中的行数、数据页数及空间大小 
Sp_who 查询当前用户及过程信息 
Sp_syntax 查询操作语法 
Sp_configure 配置系统参数 

例: 
1> sp_helpdb 
2> go 
name db_size owner dbid created status 
-------------------------------------------------------------------------- 
master 3.0 MB sa 1 Jan 01, 1900 no options set 
model 2.0 MB sa 3 Jan 01, 1900 no options set 
sybsystemprocs 10.0 MB sa 4 Oct 24, 1997 trunc log on chkpt 
tele114 370.0 MB sa 5 Oct 24, 1997 select into/bulkcopy, trunc log on chkpt 
tempdb 22.0 MB sa 2 May 05, 1998 select into/bulkcopy 
(0 rows affected, return status = 0) 
例: 
1> sp_monitor 
2> go 
last_run current_run seconds 
-------------------------- -------------------------- ----------- 
May 5 1998 4:09PM May 5 1998 4:13PM 224 

(0 rows affected) 
cpu_busy io_busy idle 
------------------------- ------------------------- ------------------------- 
17(1)-0% 5(0)-0% 923(223)-99% 

(0 rows affected) 
packets_received packets_sent packet_errors 
------------------------- ------------------------- ------------------------- 
21(9) 51(23) 0(0) 

(0 rows affected) 
total_read total_write total_errors connections 
------------------- ------------------- ------------------- ------------------ 
947(1) 595(113) 0(0) 3(1) 

(0 rows affected, return status = 0) 


(5)触发器(Triggers) 
触发器是一种特殊的存储过程,用来维护不同表中的相关数据的一致性。当在一张表中插入、删除和修改数据时,触发器就会触发另一个存储过程,从而保持数据的一致性。 

(6)缺省与规则(Defaults and rules) 
缺省是在数据录入时,若用户没有输入数据,SQL Server自动输入的值。 
规则是可以理解为对数据库、某一列、某用户数据类型的限制。 


三、SQL 查询语言 


SQL不仅包括查询数据的有关命令,还包括创建数据库及其对象,增、删、改数据等功能。分别定义为数据查询语言,数据定义语言及数据操作语言。这里先介绍数据查询语言。其基本句法为: 
Select select_list from table_list where search_conditions 
1、简单查询 
A、选择若干列 
Select expression [,expression]... From table_list 
B、选择若干行 
查出电话号码以415到头的记录 
Select * from code_1th where tel like '415%' 
查询中消除值重复的行 
Select distinct tel from code_1th 
对Text 和 char 可用 like ,其中可用通配符‘%’及‘-’,分别代表多个字符和单个字符。 
其他常用查询条件有:(出text类型除外) 
大小比较 =、>、<、>=、<=、!=、!>、!< 
范围确定 between exp1 and exp2 /net between exp1 and exp2 
列表或集合 in (exp1[,exp2,[...]]) not in (...) 
谓词 like 
多重条件 and or not 
2、连接查询 
A、等值连接和不等值连接:通过‘=’来比较两个表之间的数据时,称为等值连接;而通过其他比较符时,称为不等值连接 
等值连接: 
Select * from publishers, authors where publishers.city=authors.city 
不等值连接: 

B、自然连接: 在连接的目标列中相同名的列只保留一个 
Select publishers.pub_id publishers.pub_name, publishers.state, authors.* 
From publishers, authors where publishers.city=authors.city 

3、子查询 
A、表达式子查询 
Select au_lname, au_fname from authors where city= 
(select city from publishers where pub_name="abcde") 
可以使用一切大小比较操作符;在操作符和子查询之间可以使用All 或any。 
B、限定谓词子查询 
Select pub_name from publishers from publishers 
Where pub_id in 
(select pub_id from titles where type='abcde') 
C、相关查询 
相关查询即嵌套查询依赖于外部父查询的值,嵌套查询要重复执行若干次。 
Select distinct t1.type from titles t1 
Where t1.type in ( select t2.type from titles t2 where t1.pub_id!=t2.pub_id) 
4、集函数、分组与排序 
A、对查询结果进行聚集处理 
聚集函数: Sum([all|distinct] expression),avg([all|distinct] exoression) , 
Count([all|distinct]expression), count(*), max(expression), min(expression) 
Select count(*) from titles 
B、用Group by 和 having 子句对查询结果分组 
Select type ,avg(advance), sum(total_sales) from titles group by type 
Select type from titles group by type having count(*) >1 
Having 类似于where , 但where 不能用聚集函数。 
C、用Order by 对查询结果进行排序 
Select type ,avg(price) from titles group by type order by avg(price) 
D、Compute 子句 
完成基于每一组中的值的聚集运算,聚集值作为一个新行出现在查询结果中。 
Select type ,price advance from titles order by type compute sum(price), sum(advance) by type 

四、数据库、数据库对象的增、删、改 
1、数据库 
x 打开数据库 
Use tele114 
x 创建数据库。拥有创建数据库权利的用户可以创建自己的数据库。 
CREATE DATABASE tele114 
ON tele114_def01=10,tele114_run01=200,tele114_idx01=200 
LOG ON tele114_log01=80 
x 删除数据库 
Drop database tele114 
x 修改数据库 
Alter database tele114 on tele114_run02=100, tele114_idx02=100 


2、表 
x 建表 
create table spec_code 

No tinyint not null, /*特编号(0--99)*/ 
Name varchar(50) null, /*名称*/ 
Addr varchar(50) null, /*地址*/ 
Tel varchar(8) null, /*电话号码*/ 
StaffNo varchar(4) not null /*录入员工号*/ 

on segrun /*将表放在segrun段上*/ 
x 删除表 
Drop tabel tele114_1th 
x 修改表,在表中增加新的列(用这个命令增加的列必须允许null值) 
Alter table friends_etc add country varchar(20 ) null 
x 表级或列级约束 
Create table my_publishers 
(pub_id char(4), 
Pub_name carchar(40). 
Constraint my_chk_constraint 
Check (pub_id in ('1389','0736','0877')) 
Or (pub_name not like 'bad news books')) 
x 指定默认值 
Create table ny_titles 
(title_id char(6t), 
Title varchar(80), 
Price money default null, 
Total_sales int default (0)) 
x 指定Unique 和primary key 约束 
Primary&nb

上一页  [1] [2] [3] [4] [5] [6]  下一页


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台