ORACLE数据库建表及插数据

时间:2021-09-17 08:17:25

ORACLE数据库建表及插数据

一、建表

 CREATE TABLE  ORA表名(

    T_ID             number(20) primary key not null, 

    T_NUMBER   number(10,5),

    T_VARCHAR2   varchar2(20),

    T_CLOB  clob,

    T_NCLOB nclob,

    T_BLOB  blob,

    T_RAW raw(2000),

    T_LONG long,

    T_SPEC SYS.XMLTYPE

);

二、插入数据

BEGIN

FOR v_count IN 1..101 Loop

--DBMS_OUTPUT.put_line(v_count)

INSERT INTO ORA表名 VALUES(v_count,

123.456,v_count,

'ffffffCLOB', 'ffffffCLOB', 

hextoraw('16226c6f6231626cf6231626c6f6231626x6f6626c6f6231626c6')

hextoraw('1626c6f6231626cf6231626c6f6231626c26c6'),

hextoraw('1626c6f6231626cf6231626c6f6231626c26c6'),

sys.XMLType.createXML('<tomhan浙江杭州></tomhan浙江杭州>')

);

COMMIT;

END Loop;

--dbms_lock,sleep(30);

end;

三、其他字段类型

字段类型 | 定义 | 唯一值 |  非唯一值

------整数------------------

number | number(10,5) | v_count||0.888 | 123.345

--------字符---------------------------

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

varchar2 | varchar2(20) | v_count | 'zhongguo'

-------大字段类-------------------------------

blob | blob | - | hextoraw('16226c6f6231626cf6231626c6f6231626x6f6626c6f6231626c6')/ hextoraw('1626c6f')

clob | clob | - |'ffffffCLOB'/'aaaaaaCLOB'

nclob| nclob | - | 'ffffffCLOB'/'aaaaaaCLOB'

raw | raw(2000) | - | hextoraw('1626c6f6231626cf6231626c6f6231626c26c6')/ hextoraw('1626c6f')

long | long | - | hextoraw('1626c6f6231626cf6231626c6f6231626c26c6')/ hextoraw('1626c6f')

long raw | long raw | - | hextoraw('1626c6f6231626cf6231626c6f6231626c26c6')/ hextoraw('1626c6f')

SYS.XMLTYPE | sys.xmltype | - | sys.XMLType.createXML('<tomhan浙江杭州></tomhan浙江杭州>')

---------时间类-------------------

设置FOR v_count IN 2450001..2450010 Loop

date | date | to_date(v_count,'J') | to_date('2006-06-01','yyyy-mm-dd')/sysdate

timestamp | timestamp | to_date(v_count,'J')| to_date('2018012206:06:06','YYYYMMDDHH24:MI:SS')/sysdate

注:v_count为自定义循环变量,以便重复插值; - 表示省略; / 表示有多种可选值

选一个举例说明:number | number(10,5) | v_count||0.888 | 123.345

建表时number字段类型可定义为number(10,5) ; 如果该字段为主键,循环插入值时使用v_count||0.888赋值;该字段不为主键,循环插入值时使用123.345赋值。

四、指定主键字段

建表时指定主键字段的三种方法:

第一种:

 CREATE TABLE  ORA表名(

    T_ID       bigint  primary key not null,

     T_DATE    date);

第二种:

 CREATE TABLE  ORA表名(

    T_ID         bigint not null, 

    T_DATE    date,

    CONSTRAINT  PK_ORA表名  PRIMARY KEY (T_ID)

);

第三种:

 CREATE TABLE  ORA表名(

    T_ID       bigint  not null,

    T_DATE    date);

ALTER TABLE ORA表名 ADD CONSTRAINT  PK_ORA表名  PRIMARY KEY (T_ID);

注:PK_ORA表名为约束名

      创建联合主键时,在第2和第3种方法中的括号里直接加入需要增加的字段,用逗号隔开。

如:

CONSTRAINT  PK_ORA表名 PRIMARY KEY (T_ID,T_DATE)

ALTER TABLE ORA表名 ADD CONSTRAINT PK_ORA表名  PRIMARY KEY (T_ID,T_DATE);

五、其它

建表时,表中不能同时有long字段类型和long raw字段类型,只能选其中一个,不然建表时会报错。

六、操作界面