1. 程式人生 > >達夢數據庫(第二部分)

達夢數據庫(第二部分)

insert def 技術分享 lob 建立 pat com let ext

1.達夢數據庫創建表

達夢數據安裝完成之後,打開DM管理工具,可以進行數據庫的相關操作。可以通過新建查詢,在SQL命令窗口輸入sql語句,創建表,sql輸入完成之後,選擇sql進行執行,則會在表空間MAIN下的表路徑下產生新建的表文件,如下圖:

技術分享

2.建立主鍵

Create table時通過primary key創建主鍵

如:create table person(ID int primary key,name varchar(10),address varchar(60))

或者通過alter語句

如:create table person33(ID int,name varchar(10),address varchar(60));

alter table person33 add constraint PK_ID primary key (ID)

創建主鍵的表在插入主鍵為空的記錄時,將會拋錯,插入失敗。

如:INSERT INTO person33 values(null,‘hfjh‘,‘jkasjfksjdf‘),將會插入失敗。

3.建立索引

create [or replace] [cluster|not parial] [unique|bitmap|spatial] index index_name on table_name(<索引列定義>)

如:create index index_id on person33(ID);

4.建立外鍵

--b表的id作為a表的外鍵

create table B(Id int primary key identity,names varchar(20));

create table A (Id int primary key identity,names varchar(50),foreign key(Id) references B(Id))

5.建立視圖

create view view_person as select id,name,address from person33 where name = ‘hfjh‘;

select * from view_person

6.建立約束

create table person55(ID int,name varchar(10),age int,address varchar(60));

6.1.添加主鍵約束(將ID作為主鍵)

alter table person55 add constraint pkID primary key(ID)

6.2.添加唯一約束(name唯一)

alter table person55 add constraint UQ_name unique(name)

6.3.添加默認約束(如果地址不填,默認為“地址不詳”)

alter table person55 add constraint address default(‘地址不詳)for address

6.4.添加檢查約束(對年齡限定)

alter table person55 add constraint CK_Age check (Age between 15 and 40)

6.5.添加外鍵約束

7.數據庫支持的所有字段類型

7.1Char,varchar,varchar2

7.2Numeric,decimal,dec,number,integer,int,bigint,tinyint,byte,smallint,binary,varbinary

7.3float,double,real,double precision

7.4bit

7.5date,time,timestamp

7.6時間間隔與時區類型

7.8text,longvarchar,image,blob,clob

8.建立觸發器

create [or replace] trigger 觸發器名[with encryption] before|after|instead of delete|insert|update [of 列名] on 表名 [for each row [when 條件]]

Begin

Pl/sql語句

End;

如:

CREATE TRIGGER insertTrigger

AFTER INSERT ON person55

FOR EACH ROW

BEGIN

update person55 set ID = ID + 1;

END;

insert into person55 values(01,‘張三,20,‘陜西省西安市);

select * from person55;

Create trigger update_trg11 after update of name on person55

For each statement

Begin

update person55 set ID = ID + 1;

End

update person55 set name = ‘張三三11‘ where name = ‘張三三1‘

達夢數據庫(第二部分)