GBase 8s 基本语法
GBase 8s 基本语法
- DDL
- 数据库
- 表
- 列
- 视图
- 索引
- 存储过程
- 函数
- 同义词
- 触发器
- DML
- insert
- update
- delete
- merge
- DQL
- 数据准备
- 单表查询
- 多表关联查询
- 自连接
- 内连接
- 左连接
- 右连接
- 全连接
- 子查询
- IN
- EXISTS
DDL
数据库
新建数据库
create database [if not exists] <db_name> [in dbs_name] [with [buffered] log | with log mode ansi] [nlscasesensitive | nlscase insensitive];
重命名数据库
rename database <old_db_name> to <new_db_name>;
删除数据库
drop database [if exists] <db_name>;
DEMO
create database demo_db1;rename database demo_db1 to demo_db2; drop database demo_db2;
[gbasedbt@devsvr ~]$ dbaccess - -
Your evaluation license will expire on 2022-06-18 00:00:00
> create database demo_db1;Database created.> rename database demo_db1 to demo_db2; 359: Cannot drop or rename the current database or any open database.
Error in line 1
Near character position 35
> database gbasedb;Database closed.Database selected.> rename database demo_db1 to demo_db2;Database renamed.> drop database demo_db2;Database dropped.>
表
新建表
create [standard | raw] table [if not exists] <table_name> (colname1 data_type1, colname2 data_type2, ...);
重命名表
rename table <old_table_name> to <new_table_name>;
删除表
drop table [if exists] <table_name>;
DEMO
create table t_user1(f_userid int, f_username varchar(20));rename table t_user1 to t_user2;drop table t_user2;
> database gbasedb;Database closed.Database selected.> create table t_user1(f_userid int, f_username varchar(20));Table created.> rename table t_user1 to t_user2;Table renamed.> drop table t_user2;Table dropped.>
列
新增列
alter table <table_name | synonym_name>
add (new_column_name1 data_type1 [before old_column_name1] [, new_column_name2 data_type2 [before old_column_name2], ...]);
删除列
alter table <table_name | synonym_name> drop (old_column_name1[, old_column_name2, ...]);
重命名列
rename column <table_name>.<old_column_name> to <new_column_name>;
DEMO
drop table if exists t_user;create table t_user(f_userid int, f_username varchar(20));insert into t_user values(1, 'gbasedbt');select * from t_user;alter table t_user add (f_nickname varchar(20));select * from t_user;rename column t_user.f_nickname to f_showname;select * from t_user;alter table t_user drop (f_showname);select * from t_user;
[gbasedbt@devsvr train]$ dbaccess gbasedb -
Your evaluation license will expire on 2022-06-18 00:00:00Database selected.> drop table if exists t_user;Table dropped.> create table t_user(f_userid int, f_username varchar(20));Table created.> insert into t_user values(1, 'gbasedbt');1 row(s) inserted.> select * from t_user;f_userid f_username 1 gbasedbt 1 row(s) retrieved.> alter table t_user add (f_nickname varchar(20));Table altered.> select * from t_user;f_userid f_username f_nickname 1 gbasedbt 1 row(s) retrieved.> rename column t_user.f_nickname to f_showname;Column renamed.> select * from t_user;f_userid f_username f_showname 1 gbasedbt 1 row(s) retrieved.> alter table t_user drop (f_showname);Table altered.> select * from t_user;f_userid f_username 1 gbasedbt 1 row(s) retrieved.>
视图
新建视图
create view [if not exists] <view_name> as <query_define>;
删除视图
drop view if exists <view_name>;
DEMO
create view vw_user as select * from t_user;select * from vw_user;drop view vw_user;
> create view vw_user as select * from t_user;View created.> select * from vw_user;f_userid f_username 1 gbasedbt 1 row(s) retrieved.> drop view vw_user;View dropped.>
索引
新建索引
create [unique | distinct | cluster] index [if not exists] <idx_name>
on <table_name | synonym_name> (<column_name | func_name(column_name)> [asc | desc]);
重命名索引
rename index <old_index_name> to <new_index_name>;
删除索引
drop index [if exists] <idx_name>;
DEMO
create unique index idx_user on t_user (f_userid asc);rename index idx_user to idx_user01;drop index idx_user01;
> create unique index idx_user on t_user (f_userid asc);Index created.> rename index idx_user to idx_user01;Index renamed.> drop index idx_user01;Index dropped.>
存储过程
新建存储过程
create procedure [if not exists] <procedure_name>(param1 data_type1, param2 data_type2, ...)
<spl code>
end procedure;
删除存储过程
drop procedure [if exists] <procedure_name> [(data_type1, data_type2, ...)];
DEMO
drop table if exists t_city;create table t_city(f_cityid int, f_cityname varchar(20));create procedure up_city_add(cityid int, cityname varchar(20))insert into t_city(f_cityid, f_cityname) values(cityid, cityname);
end procedure;call up_city_add(1, 'Beijing');
call up_city_add(2, 'Shanghai');
call up_city_add(3, 'Tianjin');
call up_city_add(4, 'Chongqing');select * from t_city;delete from t_city;execute procedure up_city_add(1, 'Beijing');
execute procedure up_city_add(2, 'Shanghai');
execute procedure up_city_add(3, 'Tianjin');
execute procedure up_city_add(4, 'Chongqing');select * from t_city;
> drop table if exists t_city;Table dropped.> create table t_city(f_cityid int, f_cityname varchar(20));Table created.> create procedure up_city_add(cityid int, cityname varchar(20))
>
> insert into t_city(f_cityid, f_cityname) values(cityid, cityname);
> end procedure;Routine created.> call up_city_add(1, 'Beijing');Routine executed.> call up_city_add(2, 'Shanghai');Routine executed.> call up_city_add(3, 'Tianjin');Routine executed.> call up_city_add(4, 'Chongqing');Routine executed.> select * from t_city;f_cityid f_cityname 1 Beijing 2 Shanghai 3 Tianjin 4 Chongqing 4 row(s) retrieved.> delete from t_city;4 row(s) deleted.> execute procedure up_city_add(1, 'Beijing');Routine executed.> execute procedure up_city_add(2, 'Shanghai');Routine executed.> execute procedure up_city_add(3, 'Tianjin');Routine executed.> execute procedure up_city_add(4, 'Chongqing');Routine executed.> select * from t_city;f_cityid f_cityname 1 Beijing 2 Shanghai 3 Tianjin 4 Chongqing 4 row(s) retrieved.> drop procedure up_city_add;Routine dropped.>
函数
新建函数
create function [if not exists] <function_name>(param1 data_type1, param2 data_type2, ...)
returning data_type1 [as var1] [, data_type2 [as var2], ...]
<spl code>
return var1[, var2, ...];
end function;
删除函数
drop function [if exists] <function_name> [(data_type1, data_type2, ...)];
DEMO
drop function if exists fn_get_ymd;create function fn_get_ymd(dt date)
returning int as year, int as month, int as daydefine y,m,d int;let y = year(dt);
let m = month(dt);
let d = day(dt);return y,m,d;
end function;execute function fn_get_ymd(today);drop function fn_get_ymd;
> drop function if exists fn_get_ymd;Routine dropped.> create function fn_get_ymd(dt date)
> returning int as year, int as month, int as day
>
> define y,m,d int;
>
> let y = year(dt);
> let m = month(dt);
> let d = day(dt);
>
> return y,m,d;
> end function;Routine created.> execute function fn_get_ymd(today);year month day 2021 7 61 row(s) retrieved.> drop function fn_get_ymd;Routine dropped.>
同义词
新建同义词
create [public | private] synonym [if not exists] <synonym_name> for <table_name | view_name | sequence_name>;
删除同义词
drop synonym [if exists] <synonym_name>;
DEMO
drop table if exists t_user;create table t_user(f_userid int, f_username varchar(20));drop synonym if exists syn_user;create synonym syn_user for t_user;insert into syn_user values(1, 'gbasedbt');select * from t_user;select * from syn_user;drop synonym syn_user;
> drop table if exists t_user;Table dropped.> create table t_user(f_userid int, f_username varchar(20));Table created.> drop synonym if exists syn_user;Synonym dropped.> create synonym syn_user for t_user;Synonym created.> insert into syn_user values(1, 'gbasedbt');1 row(s) inserted.> select * from t_user;f_userid f_username 1 gbasedbt 1 row(s) retrieved.> select * from syn_user;f_userid f_username 1 gbasedbt 1 row(s) retrieved.> drop synonym syn_user;Synonym dropped.>
触发器
触发器三要素
事件(Event)
对数据库的插入、删除、修改操作。
当声明的事件发生时,触发器开始工作。条件(Condition)
当触发器被事件激活时,不是立即执行,而是首先由触发器测试触发条件。如果条件成立,则触发器执行相应的动作,否则触发器不做任何事情。动作规则(Action Role)
新增触发器
create [or replace] tirgger <trigger_name> <insert | update [of column_name] | delete | select> on <target_table_name>
<before | after | for each row>
when <condition>
<action>
DEMO
[gbasedbt@devsvr train]$ cat trigger.sql
drop table if exists t_log;create table t_log(f_logid serial, f_message varchar(50), f_operatedate date);drop table if exists t_sale;create table t_sale(f_saleid serial, f_productname varchar(20), f_qty int);create or replace trigger trg_sale_insert insert on t_sale
referencing new as new_item
for each row
(
insert into t_log(f_message, f_operatedate) values(concat('insert:', new_item.f_productname), today)
);create or replace trigger trg_sale_update update of f_qty on t_sale
referencing old as old_item
for each row
(
insert into t_log(f_message, f_operatedate) values(concat('update: f_qty->', to_char(old_item.f_qty)), today)
);create or replace trigger trg_sale_delete delete on t_sale
referencing old as old_item
for each row
(
insert into t_log(f_message, f_operatedate) values(concat('delete:f_saleid->', to_char(old_item.f_saleid)), today)
);create or replace trigger trg_sale_select select on t_sale
referencing old as old_item
for each row
(
insert into t_log(f_message, f_operatedate) values(concat('select:', old_item.f_productname), today)
);!echo "insert action"insert into t_sale(f_productname, f_qty) values('tv', 10);
insert into t_sale(f_productname, f_qty) values('a/c', 20);!echo "search log"select * from t_log;!echo "update action"update t_sale set f_qty = 15 where f_productname = 'tv';!echo "search log"select * from t_log;!echo "select action"select * from t_sale;!echo "search log"select * from t_log;!echo "delete action"delete from t_sale where f_productname = 'tv';!echo "search log"select * from t_log;!echo "select action"select * from t_sale;!echo "search log"select * from t_log;[gbasedbt@devsvr train]$ dbaccess mydb trigger.sql
Your evaluation license will expire on 2022-06-18 00:00:00Database selected.Table dropped.Table created.Table dropped.Table created.Trigger created.Trigger created.Trigger created.Trigger created.insert action1 row(s) inserted.1 row(s) inserted.search logf_logid f_message f_operatedate 1 insert:tv 07/05/20212 insert:a/c 07/05/20212 row(s) retrieved.update action1 row(s) updated.search logf_logid f_message f_operatedate 1 insert:tv 07/05/20212 insert:a/c 07/05/20213 update: f_qty->10 07/05/20213 row(s) retrieved.select actionf_saleid f_productname f_qty 1 tv 152 a/c 202 row(s) retrieved.search logf_logid f_message f_operatedate 1 insert:tv 07/05/20212 insert:a/c 07/05/20213 update: f_qty->10 07/05/20214 select:tv 07/05/20215 select:a/c 07/05/20215 row(s) retrieved.delete action1 row(s) deleted.search logf_logid f_message f_operatedate 1 insert:tv 07/05/20212 insert:a/c 07/05/20213 update: f_qty->10 07/05/20214 select:tv 07/05/20215 select:a/c 07/05/20216 delete:f_saleid->1 07/05/20216 row(s) retrieved.select actionf_saleid f_productname f_qty 2 a/c 201 row(s) retrieved.search logf_logid f_message f_operatedate 1 insert:tv 07/05/20212 insert:a/c 07/05/20213 update: f_qty->10 07/05/20214 select:tv 07/05/20215 select:a/c 07/05/20216 delete:f_saleid->1 07/05/20217 select:a/c 07/05/20217 row(s) retrieved.Database closed.[gbasedbt@devsvr train]$
删除触发器
drop trigger <trigger_name>;
DEMO
drop trigger if exists trg_sale_insert;
drop trigger if exists trg_sale_update;
drop trigger if exists trg_sale_delete;
drop trigger if exists trg_sale_select;
> drop trigger if exists trg_sale_insert;Trigger dropped.> drop trigger if exists trg_sale_update;Trigger dropped.> drop trigger if exists trg_sale_delete;Trigger dropped.> drop trigger if exists trg_sale_select;Trigger dropped.>
DML
insert
insert into <table_name | view_name | synonym_name> [column_name1, column_name2, ...] values(value1, value2, ...);insert into <table_name | view_name | synonym_name> [column_name1, column_name2, ...] select col_name1, col_name2, ... ;insert into <table_name | view_name | synonym_name> [column_name1, column_name2, ...] execute function <fn_name([param1, param2, ...])>;
DEMO
drop table if exists t_user1;create table t_user1(f_userid int, f_username varchar(20));insert into t_user1 values(1, 'gbasedbt');select * from t_user1;drop table if exists t_user2;create table t_user2(f_userid int, f_username varchar(20));insert into t_user2 select * from t_user1;select * from t_user2;drop table if exists t_user3;create table t_user3(f_userid int, f_username varchar(20));drop function if exists fn_user_add;create function fn_user_add(user_num int)
returning int as userid, varchar(20) as usernamedefine i int;
define userid int;
define username varchar(20);for i = 1 to user_numlet userid = i;let username = concat('user_', to_char(i));return userid, username with resume;
end for;end function;insert into t_user3 execute function fn_user_add(10);select * from t_user3;
update
update <table_name | view_name | synonym_name> set column_name1 = value1[, column_name2 = value2, ... ] [where condition];
DEMO
drop table if exists t_user;create table t_user(f_userid int, f_username varchar(50), f_age int);insert into t_user values(1, 'Mary', 18);
insert into t_user values(2, 'Jack', 21);select * from t_user;update t_user set f_age = 20 where f_userid = 1;select * from t_user;
> drop table if exists t_user;Table dropped.> create table t_user(f_userid int, f_username varchar(50), f_age int);Table created.> insert into t_user values(1, 'Mary', 18);1 row(s) inserted.> insert into t_user values(2, 'Jack', 21);1 row(s) inserted.> select * from t_user;f_userid f_username f_age 1 Mary 182 Jack 212 row(s) retrieved.> update t_user set f_age = 20 where f_userid = 1;1 row(s) updated.> select * from t_user;f_userid f_username f_age 1 Mary 202 Jack 212 row(s) retrieved.>
delete
delete from <table_name | view_name | synonym_name> [where condition];
DEMO
select * from t_user;delete from t_user where f_userid = 1;select * from t_user;
> select * from t_user;f_userid f_username f_age 1 Mary 202 Jack 212 row(s) retrieved.>
>
>
> select * from t_user;f_userid f_username f_age 1 Mary 202 Jack 212 row(s) retrieved.> delete from t_user where f_userid = 1;1 row(s) deleted.> select * from t_user;f_userid f_username f_age 2 Jack 211 row(s) retrieved.>
merge
merge into <target_table_name> as t
using <source_table_name | source_query> as s
on t.column_name1 = s.column_name2
when matched then update set t.col_1 = s.col_1, t.col_2 = s.col_2, ...
when not matched then insert (t.col_1, t.col_2, ...) values(s.col_1, s.col_2, ...);
DEMO
drop table if exists t_user1;create table t_user1(f_userid int, f_username varchar(20), f_age int);insert into t_user1 values(1, 'Tom', 28);
insert into t_user1 values(2, 'Jack', 26);
insert into t_user1 values(4, 'Rose', 18);select * from t_user1;drop table if exists t_user2;create table t_user2(f_userid int, f_username varchar(20), f_age int);insert into t_user2 values(3, 'Jim', 25);
insert into t_user2 values(4, 'Rose', 23);
insert into t_user2 values(5, 'Mike', 21);
insert into t_user2 values(6, 'Bill', 19);select * from t_user2;merge into t_user1 a
using t_user2 b
on a.f_userid = b.f_userid
when matched then update set a.f_age = b.f_age
when not matched then insert (a.f_userid, a.f_username, a.f_age) values(b.f_userid, b.f_username, b.f_age);select * from t_user1;
> drop table if exists t_user1;Table dropped.> create table t_user1(f_userid int, f_username varchar(20), f_age int);Table created.> insert into t_user1 values(1, 'Tom', 28);1 row(s) inserted.> insert into t_user1 values(2, 'Jack', 26);1 row(s) inserted.> insert into t_user1 values(4, 'Rose', 18);1 row(s) inserted.> select * from t_user1;f_userid f_username f_age 1 Tom 282 Jack 264 Rose 183 row(s) retrieved.> drop table if exists t_user2;Table dropped.> create table t_user2(f_userid int, f_username varchar(20), f_age int);Table created.> insert into t_user2 values(3, 'Jim', 25);1 row(s) inserted.> insert into t_user2 values(4, 'Rose', 23);1 row(s) inserted.> insert into t_user2 values(5, 'Mike', 21);1 row(s) inserted.> insert into t_user2 values(6, 'Bill', 19);1 row(s) inserted.> select * from t_user2;f_userid f_username f_age 3 Jim 254 Rose 235 Mike 216 Bill 194 row(s) retrieved.> merge into t_user1 a
> using t_user2 b
> on a.f_userid = b.f_userid
> when matched then update set a.f_age = b.f_age
> when not matched then insert (a.f_userid, a.f_username, a.f_age) values(b.f_userid, b.f_username, b.f_age);4 row(s) merged.> select * from t_user1;f_userid f_username f_age 1 Tom 282 Jack 264 Rose 233 Jim 255 Mike 216 Bill 196 row(s) retrieved.>
DQL
数据准备
drop table if exists t_dept;create table t_dept(f_deptid int, f_deptname varchar(10), f_parentid int);insert into t_dept values(0, 'MS', -1);
insert into t_dept values(1, 'Dev', 0);
insert into t_dept values(2, 'Test', 1);
insert into t_dept values(3, 'Market', 0);
insert into t_dept values(4, 'HR', 0);drop table if exists t_employee;create table t_employee(f_employeeid int, f_deptid int, f_employeename varchar(10), f_salary money);insert into t_employee values(1, 1, 'Tom', 6000.00);
insert into t_employee values(2, 1, 'Jack', 8000.00);
insert into t_employee values(3, 1, 'Mary', 6600.00);insert into t_employee values(4, 2, 'Henry', 5000.00);
insert into t_employee values(5, 2, 'Rose', 7500.00);
insert into t_employee values(6, 5, 'Bill', 6500.00);insert into t_employee values(7, 3, 'Kate', 5000.00);
insert into t_employee values(8, 3, 'Bob', 9000.00);
单表查询
select [first n] <* | column_name1[, column_name2, ...]> from <table_name>;select <column_name1[, column_name2, ...], aggr_func1(column_name_n1)[, aggr_func2(column_name_n2), ...]>
from <table_name>
group by column_name_n1[, column_name_n2, ...]
[order by column_name_m1 [asc | desc][, column_name_m2 [asc | desc], ...]];
DEMO
select first 3 * from t_employee;select f_deptid, max(f_salary) as f_salary from t_employee group by f_deptid order by f_salary desc;
> select first 3 * from t_employee;f_employeeid f_deptid f_employeename f_salary 1 1 Tom $6000.002 1 Jack $8000.003 1 Mary $6600.003 row(s) retrieved.> > select f_deptid, max(f_salary) as f_salary from t_employee group by f_deptid order by f_salary desc;f_deptid f_salary 3 $9000.001 $8000.002 $7500.005 $6500.004 row(s) retrieved.>
多表关联查询
自连接
select * from <table_name> a, <table_name> b where a.f_column_name1 = b.f_column_name2;
DEMO
select a.*, b.f_deptname as f_parentname from t_dept a, t_dept b where a.f_parentid = b.f_deptid;
> select a.*, b.f_deptname as f_parentname from t_dept a, t_dept b where a.f_parentid = b.f_deptid;f_deptid f_deptname f_parentid f_parentname 1 Dev 0 MS 2 Test 1 Dev 3 Market 0 MS 4 HR 0 MS 4 row(s) retrieved.>
内连接
selct table_name1.column_name1, table_name1.column_name2, ... ,table_name2.column_name1, table_name2.column_name2, ...
from <table_name1> a
inner join <table_name2> b
on a.column_name1 = b.column_name2;
DEMO
select a.f_employeeid, a.f_employeename, b.f_deptname
from t_employee a
inner join t_dept b
on a.f_deptid = b.f_deptid;
> select a.f_employeeid, a.f_employeename, b.f_deptname
from t_employee a
inner join t_dept b
on a.f_deptid = b.f_deptid;> > > f_employeeid f_employeename f_deptname 1 Tom Dev 2 Jack Dev 3 Mary Dev 4 Henry Test 5 Rose Test 7 Kate Market 8 Bob Market 7 row(s) retrieved.>
左连接
selct table_name1.column_name1, table_name1.column_name2, ... ,table_name2.column_name1, table_name2.column_name2, ...
from <table_name1> a
left outer join <table_name2> b
on a.column_name1 = b.column_name2;
DEMO
select a.f_employeeid, a.f_employeename, b.f_deptname
from t_employee a
left outer join t_dept b
on a.f_deptid = b.f_deptid;
> select a.f_employeeid, a.f_employeename, b.f_deptname
from t_employee a
left outer join t_dept b
on a.f_deptid = b.f_deptid;> > > f_employeeid f_employeename f_deptname 1 Tom Dev 2 Jack Dev 3 Mary Dev 4 Henry Test 5 Rose Test 6 Bill 7 Kate Market 8 Bob Market 8 row(s) retrieved.>
右连接
selct table_name1.column_name1, table_name1.column_name2, ... ,table_name2.column_name1, table_name2.column_name2, ...
from <table_name1> a
right outer join <table_name2> b
on a.column_name1 = b.column_name2;
DEMO
select a.f_employeeid, a.f_employeename, b.f_deptname
from t_employee a
right outer join t_dept b
on a.f_deptid = b.f_deptid;
> select a.f_employeeid, a.f_employeename, b.f_deptname
from t_employee a
right outer join t_dept b
on a.f_deptid = b.f_deptid;> > > f_employeeid f_employeename f_deptname MS 1 Tom Dev 2 Jack Dev 3 Mary Dev 4 Henry Test 5 Rose Test 7 Kate Market 8 Bob Market HR 9 row(s) retrieved.>
全连接
selct table_name1.column_name1, table_name1.column_name2, ... ,table_name2.column_name1, table_name2.column_name2, ...
from <table_name1> a
full outer join <table_name2> b
on a.column_name1 = b.column_name2;
DEMO
select a.f_employeeid, a.f_employeename, b.f_deptname
from t_employee a
full outer join t_dept b
on a.f_deptid = b.f_deptid;
> select a.f_employeeid, a.f_employeename, b.f_deptname
from t_employee a
full outer join t_dept b
on a.f_deptid = b.f_deptid;> > > f_employeeid f_employeename f_deptname 1 Tom Dev 2 Jack Dev 3 Mary Dev 4 Henry Test 5 Rose Test 6 Bill 7 Kate Market 8 Bob Market MS HR 10 row(s) retrieved.>
子查询
IN
select *
from <table_name1>
where column_name1 in
(select column_name2 from <table_name2>;
select *
from <table_name1>
where column_name1 in <(val1, val2, ...)>;
DEMO
select * from t_employee where f_deptid in (select f_deptid from t_dept);select * from t_employee where f_deptid in (3, 5);
> select * from t_employee where f_deptid in (select f_deptid from t_dept);f_employeeid f_deptid f_employeename f_salary 1 1 Tom $6000.002 1 Jack $8000.003 1 Mary $6600.004 2 Henry $5000.005 2 Rose $7500.007 3 Kate $5000.008 3 Bob $9000.007 row(s) retrieved.> select * from t_employee where f_deptid in (3, 5);f_employeeid f_deptid f_employeename f_salary 6 5 Bill $6500.007 3 Kate $5000.008 3 Bob $9000.003 row(s) retrieved.>
EXISTS
select *
from <table_name1>
where exists (select 1 from <table_name2> where table_name1.column_name1 = table_name2.column_name2);
DEMO
select *
from t_employee a
where exists (select 1 from t_dept b where b.f_deptid = a.f_deptid);
> select *
> from t_employee a
> where exists (select 1 from t_dept b where b.f_deptid = a.f_deptid); f_employeeid f_deptid f_employeename f_salary 1 1 Tom $6000.002 1 Jack $8000.003 1 Mary $6600.004 2 Henry $5000.005 2 Rose $7500.007 3 Kate $5000.008 3 Bob $9000.007 row(s) retrieved.>
GBase 8s 基本语法相关推荐
- [GBase 8s 教程]GBase 8s 分页语法
GBase 8s 中支持使用SKIP m FIRST/LIMIT n 选项,或者使用TOP m,n 选项来限制SELECT语句中查询的数据的数量. 注:两者不可同时使用. 语法 带有SKIP m FI ...
- 国产数据库南大通用GBase 8s学习路径
1. GBase 8s 安装与手动创建实例 2.GBase 8s 客户端工具之dbaccess 3.GBase 8s 运行模式与切换(新版本) 4.GBase 8s基本数据类型 5.GBase 8s ...
- GBase 8s SQL 指南:教程———6编写高级SELECT语句
6编写高级SELECT语句 本章中增大了使用SELECT语句可执行的操作的范围.并使您能够执行更复杂的数据库查 询和数据处理.编写SELECT语句着重于SELECT语句语法中的五个子句.本章添加了 G ...
- GBase 8s SQL 指南:语法————2.2 SQL 语句
ALTER ROUTINE 语句 使用 ALTER ROUTINE 语句更改先前定义的用户定义的例程(UDR)的例程修饰符或路径名.该 语句是 SQL ANSI/ISO 标准的扩展. 语法 元素 ...
- GBase 8s 入门
GBase 8s产品架构介绍 产品特效介绍 支持标准Linux 内核:Cent OS,Redhat, Suse等 •支持基于x86-64的标准PC服务器,支持Power Linux平台和国产申威.飞腾 ...
- GBase 8s 数据库操作指南
一.数据库日常管理指南 简介: GBase 8s数据库日常管理包括数据库模式的切换,以及服务器的监控.监控主要分为两个方面,一方面是系统级别的监控,主要包括对系统cpu的监控,以及内存的占用情况:另一 ...
- [GBase 8s 教程]GBase 8s NULL值处理
NULL 值代表遗漏的未知数据.使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据, 但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作. NULL 值与任何其它 ...
- [GBase 8s 教程]GBase 8s ALTER TABLE 命令
在 GBase 8s 中,ALTER TABLE 命令用于添加,修改,删除一张已经存在表的列. 另外你也可以用 ALTER TABLE 命令添加和删除约束. 语法 用 ALTER TABLE 在一张已 ...
- [GBase 8s 教程]GBase 8s UNION 操作符
GBase 8s UNION 操作符合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每个 SEL ...
最新文章
- 角度编码器 ST-3806-15-RS
- 【转】数据库的锁机制
- 160个Crackme024之Opcode加密
- [转] 最近点对距离问题
- HDU 4777 Rabbit Kingdom 树状数组
- 安装solc模块4.25版本
- PHP 使用mysqli与MySQL交互
- 程序设计与算法----枚举之完美立方
- android 模仿uc标签页,android模仿UC首页天气效果
- java todo error_运行我的第一个Java应用程序出错
- 回来bool的函数无return时返回true还是false
- Debug与Release版本的区别详解
- rpg模拟器汉化android版,nekorpg模拟器
- 503热敏电阻温度阻值对应表
- SEO长尾理论,关键词需求覆盖理论
- 前端开发需要学习什么?
- android禁止屏幕自动旋转_如何禁止屏幕翻转
- 在服务器端,转换amr格式音频文件为MP3格式
- Sleep(0)的妙用
- Android挂逼修炼之行---微信摇骰子和猜拳作弊器原理解析 (转载)