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字段类型,只能选其中一个,不然建表时会报错。
六、操作界面