Oracle系列之 -------- 表操作

1、建表

create table "test"."test"(
    field1 varchar(20) primary key,
    field2 varchar(20) not null,
    field3 varchar(20) not null
);

2、创建约束

 constraint primary_key_name primary key(id);

删除约束

alter table test.test drop constraint constraint_name

3、添加字段

查表

3、删除表

drop table table_name;

4、删除表中的数据,一次性清空表

truncate table table_name;

5、一行一行地删除数据,不释放表空间

delete table table_name:
这个只是将数据标记为删除。

6、主键

1)主键的数据类型可以是任何类型
2)自动生成主键
    (1)sequence 序列
    (2)trigger 触发器

7、修改字段类型

8、plsql默认不提交事务

可以在执行SQL语句之后,使用commit来提交SQL的执行

9、实例:

(1)、批量插入数据
    Dao接口:int insertSvgs(List<svg> svgs);
    <insert id="insertSvgs" parameterType="List" useGeneratedKeys="false">
	    insert into svg(type,name,width,height,types)
	    <foreach item="svg" index="index" collection="list" separator="union all">
		    (select #{svg.type},#{svg.name},#{svg.width},#{svg.heigth},#{svg.types})
	    </foreach>
    </insert>

(2)、in查询
    Dao接口:List<String> querySvgByNames(List<Svg> svgList);
    <select id="querySvgByNames" parameterType="List" resultType="String"?
	    select t.name from svg t where name in
	    <foreach item="svg" index="index" collection="list" separator="," open="(" close=")">
		    #{svg.name}
	    </foreach>
    </select>

(3)、插入数据并返回自增主键
    Dao接口:int insertNameplate(Nameplate nameplate);
    <insert id="insertNameplate" parameterType="Nameplate">
	    <selectKey keyProperty="nameplateId" order="BEFORE" resultType="String1">
		    select cast(nameplate_sequece.nextval al varchar(7) as nameplateId from sys.dual)
	    </selectKey>
	    insert into nameplate(nameplate_id,nameplate_value) values(#{nameplateId},#{nameplateValue})
    </insert>
    在postgresql中,需要将以上sql中的“from sys.dual”删掉。

(4)、声明主键约束
    constraint primary_key_name primary key(id);
(5)、创建序列
    create sequence nameplate_sequence
    start with 1000000
    increment by 1
    cache 20
    maxvalue 99999999 #以1000000开始,每次自增1,缓存20个值,最大值为:99999999
(6)、创建触发器
    create or replace trigger svg_trigger
    before insert on svg for each row
    declare
    begin
    select svg_sequence.nextval into:new.id from sys.dual;
    end svg_trigger;
    在postgresql中需要删除“from sys.dual”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值