已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文对Informix SQL 语句进行全面详细讲解1. CREATE DATABASE database_name WITH LOG IN “pathname” 创建数据库。 database_name:数据库名称。 “pathname”:事务处理日志文件。 创建一database_name.dbs目录,存取权限由GRANT设定,无日志文件就不能使用 BEGIN WORK等事务语句(可用START DATABASE语句来改变)。 可选定当前数据库的日志文件。 如:select dirpath form systables where tabtype = “L”; 例:create databse customerdb with log in “/usr/john/log/customer.log”; 2. DATABASE databse-name EXCLUSIVE选择数据库。 database_name:数据库名称。 EXCLUSIVE:独占状态。 存取当前目录和DBPATH中指定的目录下的数据库,事务中处理过程中不要使用此语句。 例:dtabase customerdb; 3.CLOSE DATABASE 关闭当前数据库。 database_name:数据库名称。 此语句之后,只有下列语句合法: CREATE DATABASE; DATABASE; DROP DATABSE; ROLLFORWARD DATABASE; 删除数据库前必须使用此语句。 例:close database; 4.DROP DATABASE database_name 删除指定数据库。 database_name:数据库名称。 用户是DBA或所有表的拥有者;删除所有文件,但不包括数据库目录;不允许删除当前数据库(须先关闭当前数据库);事务中处理过程中不能使用此语句,通过ROLLBACK WORK 也不可将数据库恢复。 例:drop databse customerdb; 5.CREATE TEMP TABLE table-name (column_name datatype NOT NULL, ) IN “pathname” 创建表或临时表。 table-name :表名称。 column_name:字段名称。 data-type:字段数据类型。 path-name:指定表的存放位置 TEMP用于指定建立临时表;表名要唯一,字段要唯一;有CONNECT权限的用户可建立临时表;创建的表缺省允许CONNECT用户存取,但不可以ALTER。 例:create table user ( c0 serial not null, c1 char (10), c2 char(2), c3 smallint, c4 decimal(6,3), c5 date ) in “usr/john/customer.dbs/user; 6. ALTER TABLEALTER TABLE table-name ADD (newcol_name newcol_type BEFORE oldcol_name, ) | DROP (oldcol_name, ) | MODIFY (oldcol_name newcol_type NOT NULL, ), 修改表结构。 table-name:表名称。 newcol_name:新字段名称 newcol_type:新字段类型 oldcol_name:老字段名称 可以使用单个或多个ADD子句、DROP子句、MODIFY子句,但某个字句失败,操作即中止;原字段是NULL,不允许MODIFY为NOT NULL,除非所有NULL字段中均非空,反之可以;ALTER使用者是表的拥有者或拥有DBA权限,或被授权;事务中处理过程中不要使用此语句。 例:alter table user add ( c6 char(20) before c5); 7. RENAME TABLE oldname TO newname修改表名。 oldname:原名称。 newname:新名称。 RENAME使用者是表的拥有者或拥有DBA权限,或被授权;事务中处理过程中不要使用此语句。 例:rename user to bbb; 8.DROP TABLE table-name 删除表。 table-name:表名称。 删除表意味着删除其中所有数据、各字段上的索引及对表的赋权、视图等;用户不能删除任何系统目录表;语句使用者是表拥有者或拥有DBA权限,事务中处理过程中不要使用此语句。 9. RENAME COLUMN table.oldcolumn, TO newcolumn修改字段名。 table.oldcolumn:表名及原字段名称 newcolumn:新字段名称。 语句使用者是表的拥有者或拥有DBA权限或有ALTER权限的用户,事务中处理过程中不要使用此语句。 例:rename column user.c6 to c7; 10. CREATE VIEW view-name column-listCREATE VIEW view-name column-list AS select_statement WITH CHECK OPTION 创建视图。 view-name:视图名称。 column-list:字段列表。 select_statement:SELECT语句。 以下语句不使用视图:ALTER TABLE,DROP INDEX,ALTER INDEX,LOCK TABLE,CREATE INDEX, RENAME TABLE;视图将延用基表的字段名,对表达式等虚字段和多表间字段重名必须指明标识其字段名;若对视图中某些字段命名,则所有字段都必须命名;视图中数据类型延用基表中的数据类型,虚字段起诀于表达式;不能使用ORDER BY和UNION子句;对视图中所有的字段要有SELECT权限;事务中处理过程中使用此语句,即使事务回滚,视图也将建立,不能恢复。 例:create view v_user as select * from user where c1 = “B1”; 11. DROP VIEW view-name 删除视图。 view-name:视图名称。 用户可删除自己建立的视图;视图的后代视图也被删除;事务中处理中不要使用此语句。 例:drop view v_user; 12. CREATE INDEX CREATE UNIQUE/DISTINCT CLUSTER INDEX index_name ON table_name (column_name ASC/DESC,) 创建索引。 index_name:索引名称。 table_name:表名称。 column_name:字段名称。 UNIQUE/DISTINCT:唯一索引。 CLUSTER:使表的物理存放顺序按索引排列。 ASC/DESC:升序或降序,缺省升序。 语句执行时,将表的状态置为EXCLUSIVE;复合索引最多包含8个字段,所有字段长度和不得大于120字节;事务中处理过程中使用此语句,即使事务回滚,索引将建立,不能恢复。 例:create cluster index ix_user on user(c5); 13. ALTER INDEX index-name TO NOT CLUSTER 修改索引性质。 index-name:索引名称。 TO NOT CLUSTER:去掉或加上CLUSTER属性。 语句执行时,将表的状态置为EXCLUSIVE;事务中处理过程中使用此语句,即使事务回滚,索引性质将改变,不能恢复。 例:alter index ix_user to not cluster; 14. DROP INDEX index-name删除索引。 index-name:索引名称。 语句使用者是索引的拥有者或拥有DBA权限,事务中处理过程中不要使用此语句,否则事务无法恢复。 例:drop index ix_user; 15. CREATE SYNONYM synonym FOR table-name创建同义名。 synonym:同义名 table-name:表名称 数据库的创建者可以使用同义名;没有赋予同义名权限的用户不能使用同义名;同义名不能和表名相同;事务中处理过程中不要使用此语句。 例:create synonym user_alias for user; 16. DROP SYNONYM synonym 删除同义名。 synonym:同义名 可以删除自己建立的同义名;事务中处理过程中不要使用此语句,否则无法恢复。 例:drop synonym user_alias; 17. UPDATE STATISTICS FOR TABLE table-name更新数据库的统计数字。 table-name:表名称 此语句仅作用于当前数据库;可提高查询效率;只有执行此语句,才改变统计数据。 例:update statistics for table user;18. GRANT DBA|RESOURCE|CONNECT TO PUBLIC|user-list授权命令。PUBLIC|user-list:全部或指定的用户。三种权限居且仅居其一,事务处理过程中不要执行GRANT语句。例:grant resource to pulbic;GRANT tab-privilege ON table-name TO PUBLIC|user-list WITH GRANT OPTION授表级权限。tab-privilege:表级权限。table-name:表名称。PUBLIC|user-list:全部或指定的用户。WITH GRANT OPTION:表示被授权用户有否权限进行二次授权。用户可以在自己建立表达式或被WITH GRANT OPTION准许的表中进行赋权;限定越多的权限优先级越高。例:grant update(c1,c6) on user to dick with grant option;附(INFORMIX的权限)(1) 数据库的权限(控制对数据库的访问以及数据库中表的创建和删除)DBA权限:全部权利,修改系统表,建立和删除表与索引、增加和恢复表数据,以及授予其他用户数据库权限等;RESOURCE权限:允许对数据库表中的数据进行存取,建立永久性表以及索引。CONNECT权限:只允许对数据库表中的数据进行存取,建立和删除视图与临时表。(2)表级权限(对表的建立、修改、检索和更新等权限)ALTER:更改权限DELETE:删除权限INDEX:索引权限INSERT:插入权限SELECT (cols):指定字段或所有字段上的查询权限,不指明字段缺省为所有字段。UPDATE (cols) :指定字段或所有字段上的更新权限,不指明字段缺省为所有字段。ALL PRIVILEGES:以上所有表级权限19. REVOKE DBA|RESOURCE|CONNECT FROM PUBLIC|user-list收权命令。PUBLIC|user-list:全部或指定的用户。三种权限居且仅居其一,事务处理过程中不要执行GRANT语句。例:revoke resource from john;REVOKE tab-privilege ON table-name FROM PUBLIC|user-list收表级权限。tab-privilege:表级权限。table-name:表名称。PUBLIC|user-list:全部或指定的用户。WITH GRANT OPTION:表示被授权用户有否权限进行二次授权。用户只能取消由其本人赋予其他用户的表级存取权限;不能取消自己的权限,对SELECT和UPDATE作取消时,将取消 所有表中字段的SELECT 和UPDATE权限。例;revoke update on user from dick;20.LOCK TABLE table-name IN SHARE|EXCLUSIVE MODE记录级加锁和表级加锁或文件加锁。table-name:表名称。SHARE:允许读表中数据,但不允许作任何修改EXCLUSIVE:禁止其他任何形式访问表每次只能对表琐定一次;事务处理过程中,BEGIN WORK后立即执行LOCK TABLE以取代记录级加锁,COMMIT WORK和 ROLLBACK WORK语句取消所有对表的加锁;若没有事务处理,锁将保持到用户退出或执行UNLOCK为止。例:lock table user in exclusive mode;21. UNLOCK TABLE table-name取消记录级加锁和表级加锁或文件加锁。table-name:表名称。例:unlock user;22. SET LOCK MODE TO NOT WAIT改变锁定状态。TO NOT:等待解锁,有可能被死锁或不等待并提示错误信息,表示此记录被锁,缺省值。访问一个EXCLUSIVE状态下的记录,将返回一个错误。23. START DATABSE db_name WITH LOG IN “pathname”启动事务处理。“pathname”:事务处理日志文件。执行该语句前,需要先关闭当前数据库。例;clost database;start databse customer with log in “/usr/john/log/customer.log”;24.BEGIN WORK开始事务。例:begin work;25. COMMIT WORK提交(正常结束)事务。例:commit work;26. ROLLBACK WORK回滚(非正常结束)事务。例:rollback work;SELECTSELECT select_list FROM tab_name|view_nameWHERE conditionGROUP BY column_nameHAVING conditionORDER BY column_list27. INTO TEMP table_name查询语句。select_list:选择表或*tab_name:表名称view_name:视图名称。condition:查询条件,可使用BETWEEN、IN、LIKE、IS NULL、LIKE、MATCHES、NOT、AND、OR、=、!=或、= 、=、ALL、ANY、SOMEcolumn_name:分组字段名称condition:群聚条件column_list:排序字段列表,缺省ASC,可指定DSC;排序时,NULL值小于非零值。table_name:临时表名称例:略附(常用函数)(1)集合函数:count(*)、sum(数据项/表达式)、avg(数据项/表达式)、max(数据项/表达式)、min(数据项/表达式)count(distinct 数据项/表达式)、sum(distinct数据项/表达式)、avg(distinct数据项/表达式)(2)代数函数和三角函数HEX(数据项/表达式)、ROUND(数据项/表达式)、TRUNC(数据项/表达式)、TAN(数据项/表达式)、ABS(数据项/表达式)、MOD(被除数,除数)(3)统计函数标准差,stdev()、方差,variance()、范围,rang()(4)时间函数DAY(日期/时间表达式):返回数字型MONTH(日期/时间表达式):返回整数WEEKDAY(日期/时间表达式):06,0星期天,1星期一;返回整数YEAR(日期/时间表达式)、返回整数DATE(非日期表达式):返回日期型EXTEND(日期/时间表达式,第一个至最后一个):返回指定的整数MDY(月,日,年):返回日期型CURRENT:返回日期型(5)时间函数ROUND(),四舍五入。如:ROUND(10.95,position)position进行四舍五入的前一位置TRUNC(),截取。如:TRUNC(10.95,0)position截取的位置INFORMIX临时表在下列情况下自动取消:A.退出数据库访问工具(如DBACCESS)B.SQL通话结束(DISCONNECT)C.发出取消表语句D.退出程序时28. INSERTINSERT INTO view_name|table_name (column_list) VALUES (value_list)或 INSERT INTO view_name|table_name (column_list) select_statement插入数据view_name|table_name:视图名或表名称column_list:数据项列表。value_list:值列表select_statement:查询语句。例:略29. DELETE FROM view_name|table_name WHERE search-conditions删除语句。view_name|table_name:视图名或表名称search-conditions;删除条件例:略3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 具身智能+太空探索行星探测车方案
- 足球竞选负责人演讲稿
- 2026年秋招:上海农商银行面试题及答案
- 2026年秋招:陕西交通控股集团面试题及答案
- 2026年江西乐平市场监管局招聘考试练习试卷(含答案)
- 2026年辽宁国家电网预算核算招聘考试练习试卷(含答案)
- 平安集团入职测试题目
- 期中素养检测卷(1-3单元试卷)2026-2027学年六年级数学上册人教版(含答案)
- 银行遴选历年试题与详尽答案集萃
- 2027届吉林省伊通满族自治县七年级数学第一学期期末质量检测模拟试题含解析
- XF-T 3024-2026 电动自行车充电停放场所消防安全管理新规深度解读
- 湖北省武汉市2027届高三上9月调研考试地理试卷( 含答案)
- 移动智慧家庭工程师(家客L3)等级认证备考试题及答案
- 2025绵阳东辰本部小升初数学考试试题库(含答案)
- 2026 年秋季校园传染病案例警示教育
- 人工智能训练师技能考核内容结构表
- 血糖监测与胰岛素注射
- MOOC 运筹学-中国人民解放军陆军工程大学 中国大学慕课答案
- 护理正高答辩常见问题
- 博物馆、展览馆的消防安全培训课件
- 第10章-液相烧结
评论
0/150
提交评论