Firebird的SQL语法

一、分页:
SELECT FIRST10 templateid,code,nameFROMtemplate ;
SELECT FIRST10SKIP10 templateid,code,nameFROMtemplate ;
SELECT*FROMshopROWS1TO10;--firebird2.0支持这种写法

二、显示表名和表结构
  SHOW TABLES;
SHOW TABLEtablename;

三、使用ISQL连接数据库
firebird%92bin>isql -u sysdba -p masterkey
SQL>CONNECT'E:companyxmwsoftnewxmwsoftc2dbcts2.fdb';

SQL>CONNECT'E:%92'
CON>USER'sysdba'
CONT>PASSWORD'masterkey';

四、更新字段注释
UPDATERDB$RELATION_FIELDS
SETRDB$DESCRIPTION= '描述信息'
WHERE(RDB$RELATION_NAME= 'SHOP')
AND(RDB$FIELD_NAME= 'CREDIT_BUY')

五、显示字段注释
SELECTRDB$FIELD_NAME,RDB$DESCRIPTION
FROMRDB$RELATION_FIELDS
WHERE(RDB$RELATION_NAME= 'SHOP')
AND(DB$FIELD_NAME= 'CREDIT_BUY')

六、更新表注释
UPDATERDB$RELATIONS
SETRDB$DESCRIPTION= '描述信息'
WHERERDB$RELATION_NAME= 'TABLE_NAME';

七、查询所有的表和视图(包括系统表和系统视图)
SELECTRDB$RELATION_NAME
FROMRDB$RELATIONS;

八、查询所有的用户表和用户视图
SELECTRDB$RELATION_NAME
FROMRDB$RELATIONS
WHERERDB$SYSTEM_FLAG= 0;

九、查询所有的用户表
SELECTRDB$RELATION_NAME
FROMRDB$RELATIONS
WHERERDB$SYSTEM_FLAG= 0
ANDRDB$VIEW_BLRISNULL;

十、查所有用户表、用户视图所有字段及相关定义
SELECT
a.RDB$RELATION_NAME,
b.RDB$FIELD_NAME,
b.RDB$FIELD_ID,
d.RDB$TYPE_NAME,
c.RDB$FIELD_LENGTH,
c.RDB$FIELD_SCALE
FROMRDB$RELATIONSa
INNER JOINRDB$RELATION_FIELDSb
ONa.RDB$RELATION_NAME= b.RDB$RELATION_NAME
INNER JOINRDB$FIELDSc
ONb.RDB$FIELD_SOURCE= c.RDB$FIELD_NAME
INNER JOINRDB$TYPESd
ONc.RDB$FIELD_TYPE= d.RDB$TYPE
WHEREa.RDB$SYSTEM_FLAG= 0
ANDd.RDB$FIELD_NAME= 'RDB$FIELD_TYPE'
ORDER BYa.RDB$RELATION_NAME, b.RDB$FIELD_ID;

十一、查找某表的所有字段及相关定义
SELECT
A.RDB$FIELD_NAME,
B.RDB$FIELD_TYPE,
B.RDB$FIELD_LENGTH,
B.RDB$FIELD_PRECISION,
B.RDB$FIELD_SCALE
FROMRDB$RELATION_FIELDSA,RDB$FIELDSB
WHEREA.RDB$RELATION_NAME= 'tablename'
ANDA.RDB$FIELD_SOURCE= B.RDB$FIELD_NAME
ORDER BYA.RDB$FIELD_POSITION;

十二、查找某表的主键定义字段
SELECTA.RDB$FIELD_NAME
FROMRDB$INDEX_SEGMENTSA,RDB$RELATION_CONSTRAINTSB
WHEREB.RDB$CONSTRAINT_TYPE= 'PRIMARY KEY'
ANDB.RDB$RELATION_NAME= 'tablename'
ANDA.RDB$INDEX_NAME= B.RDB$INDEX_NAME
ORDER BYA.RDB$FIELD_POSITION;

十三、查找某表的外键定义
SELECT
r1.RDB$CONSTRAINT_NAME,
rind.RDB$FIELD_NAME,
r2.RDB$RELATION_NAME
FROM
RDB$RELATION_CONSTRAINTSr1,
RDB$RELATION_CONSTRAINTSr2,
RDB$REF_CONSTRAINTSref,
RDB$INDEX_SEGMENTSrind
WHEREr1.RDB$RELATION_NAME= 'tablename'
ANDr1.RDB$CONSTRAINT_TYPE= 'FOREIGN KEY'
ANDr1.RDB$CONSTRAINT_NAME= ref.RDB$CONSTRAINT_NAME
ANDref.RDB$CONST_NAME_UQ= r2.RDB$CONSTRAINT_NAME
ANDr1.RDB$INDEX_NAME= rind.RDB$INDEX_NAME;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值