達夢數據庫(第二部分)
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‘
達夢數據庫(第二部分)