OSCAR神通資料庫建表及插資料

2021-08-17 02:25:14 字數 3245 閱讀 8570

一、建表

create table  oscar表名(

t_id         bigint not null, 

t_date    date,

t_time    time(6),

t_timestamp  timestamp(6),  

t_serial   serial,

t_bigserial  bigserial,

constraint  tbl_oscar表名_pkey  primary key (t_id) );

說明:1.serial、bigserial為序列號型別,其範圍都是(1,9223372036854775807),但序列號型別其實不是真正的型別,當宣告乙個欄位為序列號型別時其實是建立了乙個序列,insert時如果沒有給該字段賦值會預設獲取對應序列的下乙個值。

2.建表成功時,會提示以下資訊:

3.建立表時,serial、bigserial欄位型別的字段應放在最後,不然insert時,不給這兩個字段賦值,會報錯;把這兩個字段型別的字段放在最後,就不會存在這個問題,這兩個字段型別的字段會自增長賦值。

二、插入資料

begin

for v_count in 1..101 loop

insert into oscar表名 values(

v_count,

to_date(v_count+2450000,'j'),curtime,to_date(v_count+2450000,'j') );

end loop;

commit;

end; /

三、其他字段型別

字段型別 | 定義 | 唯一值 |  非唯一值

------整數------------------

bigint | bigint | v_count | 888 

int | int | v_count | 12 

smallint | smallint | v_count | 888 

tinyint | tinyint | v_count | 123 

--------字元---------------------------

char | char(20) | v_count | 'nihao'

varchar | varchar(50) | v_count | 'zhongguo'

-------------------------------------------

numeric  | numeric(20,5) |  v_count||0.88 | 123.12345

decimal  |  decimal(20,5) | v_count||0.88 |  123.456

float | float(53) | - | 123.0012345

real | real | - | 123.456

double precision | double precision | - | 222.555

-------大字段類-------------------------------

blob | blob | - | '101010'

clob | clob| - | '1010101'

text | text | - | 'nihao'

binary | binary(20) | - | '0x01'

varbinary | varbinary(2000) | - | '0x01'

--------布林類--------------------------------

boolean | boolean | - | true

---------時間類-------------------

date | date | to_date(v_count+2450000,'j') / dateadd(day,v_count,getdate()) | '2018-01-08' / getdate() / dateadd(day,3,getdate())/sysdate

timestamp | timestamp(6) | to_date(v_count+2450000,'j') /dateadd(day,v_count,getdate()) | '2018-01-08 01:01:01.999999'/getdate() /now ()/ dateadd(day,3,getdate())/sysdate

time | time(6) | - | curtime / now()/sysdate

注:v_count為自定義迴圈變數,以便重複插值;

- 表示省略;

/ 表示有多種可選值

選乙個舉例說明:

numeric  | numeric(20,5) |  v_count||0.88 | 123.12345

建表時nemeric欄位型別可定義為numeric(20,5); 如果該欄位為主鍵,迴圈插資料時使用v_count||0.88賦值;該字段不為主鍵,迴圈插資料時使用123.12345賦值。

四、指定主鍵字段

建表時指定主鍵欄位的三種方法:

第一種:

create table  oscar表名(

t_id       bigint  primary key not null,

t_date    date);

第二種:

create table  oscar表名(

t_id         bigint not null, 

t_date    date,

constraint  tbl_oscar表名_pkey  primary key (t_id));

第三種:

create table  oscar表名(

t_id       bigint  not null,

t_date    date);

alter table oscar表名 add constraint  tbl_oscar表名_pkey  primary key (t_id);

注:tbl_oscar表名_pkey為約束名

建立聯合主鍵時,在第2和第3種方法中的括號裡直接加入需要增加的字段,用逗號隔開。 如:

constraint  tbl_oscar表名_pkey  primary key (t_id,t_date)

alter table oscar表名 add constraint  tbl_oscar表名_pkey  primary key (t_id,t_date);

五、其它

oscar資料庫不支援convert函式。

六、操作介面

神通資料庫開啟服務 神通資料庫安裝及使用手冊

0 說明 神通資料庫可以使用圖形化介面和靜默安裝兩種方式。圖形化安裝方式這裡就不介紹了,主要說明靜默安裝的方法。靜默安裝使用root使用者或者普通使用者都可以,本文使用root使用者安裝。1 安裝軟體 解壓 unzip shentong7.0.8.zip 進入資料庫安裝包內的 disk1 instd...

資料庫建表

資料庫設計三大正規化 為了建立冗餘較小 結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。正規化是符合某一種設計要求的總結。要想設計乙個結構合理的關係型資料庫,必須滿足一定的正規化。在實際開發中最為常見的設計正規化有三個 1 第一正規化 確保每列保持原子性 第一...

資料庫建表

use 選擇現有資料庫。master為系統預設資料庫 use master goif exists select from sys.databases where name student drop database student gocreate database student gouse s...