首页 > 代码库 > 达梦数据库(第二部分)

达梦数据库(第二部分)

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‘

 

达梦数据库(第二部分)