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

Adaptive Server Anywhere 7.0网上培训教材

作者:闵涛 文章来源:闵涛的学习笔记 点击数:7844 更新时间:2009/4/22 23:09:43
列 
4. 点击 Advanced Table Properties 
5. 选择 Global temporary table 
6. 点击 OK 建立临时表 


建立主键 
通常在建表时完成 
如果现有的数据都是唯一的,也可以在以后补加 
分别使用以下命令:
CREATE TABLE...PRIMARY KEY 
ALTER TABLE…ADD PRIMARY KEY 


实例: 
CREATE TABLE department 
(dept_id   INTEGER NOT NULL,
dept_name   CHAR(20),
dept_id_head  INTEGER,
PRIMARY KEY   (dept_id)); 
ALTER TABLE department  ADD PRIMARY KEY (dept_id);


声明参照完整性 :


利用建立外键来强制参照完整性被称之为“声明参照完整性” 

参照完整性在如下情况下要起作用: 
 
     插入一个含有外键的行
   主键值被更新
   主表中删去一行,其中含有其它表所参照的外键 

参照完整性能起以下作用 :

1〉拒绝 
不允许对主键进行 UPDATE 或 DELETE 
这是缺省动作
2〉设定为空值 
把外键设定为空值
3〉设定为缺省值 
把外键设定为其缺省值
4〉级联(CASCADE)
使外键行作出级联改变 

建立外键 :

举例: 
CREATE TABLE department 
 (dept_id INTEGER NOT NULL, 
  dept_name CHAR ( 20 ), 
  dept_id_head INTEGER, 
  FOREIGN KEY id_fkey(dept_id_head) 
 REFERENCES employee (emp_id) 
 ON UPDATE CASCADE ON DELETE SET NULL);

修改和删去外键 :

利用 ALTER TABLE 删去原来的外键,然后再增加新的外键 

ALTER TABLE department 
DELETE FOREIGN KEY id_fkey; 

ALTER TABLE department 
ADD FOREIGN KEY id_fkey (dept_id_head) 
REFERENCES employee (emp_id) 
ON UPDATE CASCADE 
ON DELETE CASCADE); 


建立索引 :

Adaptive Server Anywhere 在以下情况能自动建立索引:

1〉主键列 

2〉唯一性约束


建立索引可能耗费许多的时间和资源 ,表正在使用时不允许建立索引,表中所含数据量越大,则建索引就越费时. 

实例
CREATE INDEX lastname ON employee (emp_lname DESC) IN mydata2;

删去索引 :
利用 DROP INDEX 

当表正在使用时,禁止删去索引。 

如:
DROP INDEX employee.lastname;


建立视图 :

视图一定是针对数据库中的表进行 SELECT操作来实现 
例如:
CREATE VIEW deptmgr AS
SELECT emp_fname, emp_lname, dept_name
FROM employee, department
WHERE dept_head_id = emp_id; 

修改视图 :

要先删除它,然后再重建。但要注意保留对该视图的访问权
ALTER VIEW 语句与 CREATE VIEW相似


例如:
 ALTER VIEW deptmgr AS SELECT emp_fname, emp_lname, dept_name, salary  FROM employee, department  WHERE dept_head_id = emp_id;

删除视图 :
DROP VIEW deptmgr;


小 结:

1、关系模型.是把数据库看成一个独立于应用和文件系统的实体和结构.
2、主键保证数据库表中的每一行是唯一的。而外键是用来定义表之间的联系.
3、索引的作用是加快对表数据的检索速度.
4、空值代表“未知”,它不同于零和空格.
5、视图是个逻辑的(虚的)表,它的数据派生于一个或多个基表或其它的视图. 
6、表,索引和视图都是利用 SQL 数据定义语言 (DDL)来建立的。 
7、实体完整性强制实现表中没有两行包含全同的值.
8、参照完整性强制在主键与外键之间保持着合理的连接.

 jazy 回复于:2003-02-23 16:16:15 操纵数据:

目      标

1、构造基本的 SELECT, INSERT, UPDATE 和 DELETE 语句。 
2、熟悉 Adaptive Server Anywhere支持的主要内置函数。
3、解释连接( join)操作的内涵 
4、解释连接操作如何完成
5、解释Adaptive Server Anywhere中所支持的 KEY 及 NATURAL JOIN (自然连接)
6、说明外连接( outer join)所产生的结果 
7、解释合并(union)操作的内涵 
8、解释子查询的内涵
9、利用批量 INPUT 及OUTPUT函数对表数据进行装入和卸出 
10、利用 LOAD 和 UNLOAD 对整个数据库进行装入和卸出 

内      容
1、SQL 数据操纵语言(DML)
2、基本的数据操纵语句 
3、内置函数 
4、对多表数据进行操纵 
5、输入和输出表数据 
6、卸载和重新装入数据库


SQL 数据操纵语言 :

用于读出,增加,删去或修改数据。
它们大多是在前端应用中被使用,或是独立地执行或是嵌在基于Web的应用中。
缺省情况下,Adaptive Server Anywhere 使用 Watcom SQL方言 
在版本 6.0 及 7.0中还支持 Sybase T-SQL语法 

基本的数据操纵语句 :

SELECT— 由数据库检索数据
INSERT —向数据库增加数据
UPDATE —对数据库中数据进行修改 
DELETE —从数据库中删除数据 
利用附加的动词,子句和函数能使功能更完善。 

SELECT:
操纵对象可以是表或视图 
要求读取满足特定条件的数据 
用户必须具有SELECT 权限 
基本语法 
SELECT [DISTINCT] select-list FROM table-list WHERE search-conditions ORDER BY column-list [DESC]

INSERT:

向表中插入数据 ,一次插入一行,对某几列或所有列插入数据 
用户必须具有对该表的 INSERT 权限 
基本语法 
INSERT [INTO] table-name 
[column-name,…]  VALUES (expression | DEFAULT, …)

INSERT NULL 和 DEFAULT 值 :

 — 插入NULL 值:
INSERT INTO department
VALUES (123, 'Accounting', NULL);

— 插入 DEFAULT 值 

INSERT INTO sales_order 
(id, cust_id, order_date, fin_code_id, region, sales_rep) 
VALUES (987, 65432, DEFAULT, 
'ax', 'SEUSA', 196); 


注: 在插入时必须使用 NULL 或 DEFAULT 
对任何给出名的列都不能忽略其值 
对于并未明确给出列名的列无须指定其值

多行插入:

把一个 SELECT 语句的结果集插入到表中
语法 
 INSERT [INTO] table-name [column-list]  SELECT…; 

实例 
 INSERT INTO  former_employees
SELECT * FROM employee
WHERE termination_date IS NOT NULL;


UPDATE:

对表中的数据进行更新 ,用 SET子句指定新的值 ,用 WHERE 子句确定要被修改的老的值
用户必须具有对该表的 UPDATE权限
基本语法 
UPDATE table-list SET column-name = expression, … [WHERE search-condition]

DELETE:

从表中删去数据 ,仅删去数据本身,而不是表结构。利用 WHERE 子句确定要被删去的行 
用户应具有对表的DELETE 权限 
基本语法 
DELETE [FROM] table-name [WHERE search-condition]

TRUNCATE(截断) :

它不会使触发器被激发 
最小化写日志(基本上不写日志) 
比 DELETE减少开销 ,不被复制 ,在6.0.3 版中引入选项Truncate_with_auto_commit 它能改善系统性能 ,在 8.0版针对含外键的表提供了快速截断功能 

语法 
TRUNCATE TABLE table-name;

实例 TRUNCATE TABLE employee; 

内置函数:

用于增强 SELECT动词的功能 
能够获得不是存储在用户表中的信息,类似于日期这样的系统信息,数据值的统计 

函数分类 :

聚合型 
数值型 
字串型 
日期和时间 
数据类型转换 
系统函数 
其它类型 

内置函数实例 :
获得在职的女雇员的总数,以及她们参加工作的最早及最晚日期。 
SELECT COUNT(*), min(start_date), 
   max(start_date)
FROM employee
WHERE sex = 'F'
AND termination_date IS NULL;


GROUP BY:

与聚集函数一起使用以指定计算总计时所处的层次 
为出现在该 GROUP BY 列名中每个值获得一行结果 

数据分组 :

例 1 — 不分组 (在表一级求和)
SELECT COUNT(*) FROM employee;

例 2 — 列出销售代表名单及分派给他们的定单数量 

SELECT sales_rep, COUNT(*) FROM sales_order GROUP BY sales_rep;

限制 GROUP BY:

利用 HAVIN子句来限制特定分组的结果集
例3 — 仅列出其定单数量多于50个的那些销售代表的信息 
SELECT sales_rep, COUNT(*) FROM sales_order GROUP BY sales_rep HAVING count(*) > 50;

对列名加限制性修饰 :

如果在一个语句中要涉及到不同的表中两个同名列时,应当在列名前加上表名进行限制。

SELECT employee.id, emp_fname, emp_lname FROM employee, manager WHERE employee.id = manager.id 

UNION ALL:

UNION ALL 能把两张表中的所有行(包括重复的)全部显示出来 ,它不使用临时表 


实例 — 列出客户及联系人的姓名及地址清单:
SELECT fname, lname, address, city, state, zip FROM customer UNION ALL SELECT first_name, last_name, address, city, state, zip FROM contact;

子查询 :

在另一个DML 语句中含有一个或多个 SELECT语句
当一个查询需利用另一个查询的结果才能继续往下处理时,则用到子查询。
结果集中仅可包含一个列
为提高性能所有的子查询都被放入高速缓存 

实例 — 列出在 1/1/94以后签单的客户
SELECT * FROM customer WHERE id IN
(SELECT cust_id
FROM sales_order
WHERE order_date > '1994/01/01') ORDER BY customer.company_name;

输入和输出数据 :
利用 INPUT 和 OUTPUT 或 LOAD 和 UNLOAD语句
快速地批量装载
一个文件 <--         --> 一个表
文件格式 :
ASCII, dBASE, dBASEII, dBASEIII, DIF, FIXED, FoxPro, Lotus, WATFILE


INPUT:

把数据从文件读出然后输入到指定的表中
基本语法 :

INPUT INTO table-name [FROM file-name | PROMPT] [BY ORDER | BY NAME] [DELIMITED BY string]
实例 
INPUT INTO employee
FROM employee.imp

OUTPUT:

基本语法 
SELECT…; OUTPUT TO file-name [FORMAT output-format] [DELIMITED BY string] 
实例&n

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  下一页


[聊天工具]企业邮件系统的利器----FoxMail Server  [系统软件]OPEN SERVER 5.0.5安装EXP300阵列柜
[系统软件]关于Windows2000Server的灾难恢复  [常用软件][网络]下载服务革命性风暴Poco Server评测
[C语言系列]动态创建SQL Server数据库、表、存储过程等架构信…  [C语言系列]SQL Server到DB2连接服务器的实现
[C语言系列]SQL Server到SYBASE连接服务器的实现  [C语言系列]SQL Server到SQLBASE连接服务器的实现
[C语言系列]SQL Server连接VFP数据库的实现  [C语言系列]ASP+SQL Server之图象数据处理
教程录入: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……
    咸宁网络警察报警平台