Day19 Oracle 数据库 创建表 约束 JDBC BaseDAO

本文详细介绍了如何在Oracle数据库中创建表,包括不加约束、同时创建约束、追加创建约束的情况。同时,讨论了各种约束类型如非空、唯一、主键、外键和检查。此外,还涵盖了表的其他操作,如修改表结构、删除表和截断数据。文章还探讨了序列的创建、使用和删除。关于事务,文章讲解了其四个特性,并举例说明了事务的开启和结束。在DML部分,提到了插入、更新和删除数据的规则和注意事项。最后,文章简单介绍了JDBC的基本操作,如加载驱动、建立连接、预处理块的使用以及结果集处理,并提及了BaseDAO的作用和代码示例。
摘要由CSDN通过智能技术生成

一   创建表

1.创建表(不加约束)

(1)创建新表(不加约束)

创建表

create table tb_user(
       userid number(5),
       username varchar2(30),
       userpwd varchar2(20),
       gender char(3)  
)

加入注释

comment on table tb_user is '用户表';
comment on column tb_user.userid is '流水号,主键';
comment on column tb_user.username is '用户名';
comment on column tb_user.userpwd is '密码';
comment on column tb_user.gender is '性别';

(2)已有表中拷贝结构

--create table 表名 as select 字段列表 from 已有表 where 1!=1;  
create table copy_emp as select * from emp where 1!=1;  -- 只拷贝结构不拷贝数据
create table copy_emp2 as select empno,ename,sal from emp;  --结构和数据全部拷贝
select * from copy_emp;
select * from copy_emp2;

(3)删除表

drop table copy_emp2; 删除表
--drop table 表名 cascade constraints  删除约束

2.创建表(同时创建约束+默认名称)

--表+约束 (1.字段后直接给约束|字段后指定约束名字添加约束  2.在创建表结构的最后指定约束)  3.表结构之后追加约束
create table tb_student(
       --学号  主键  唯一+非空
       --sid number(5) primary key,
       --sid number(5) constraints pk_student_sid primary key,
       sid number(5),
       --学生名字不能为空
       --sname varchar2(30) not null,
       sname varchar2(30)constraints sname_notnull not null,
       --年龄不能超过18~150
       sage number(3) check(sage between 18 and 150),
       --不是男就是女
       sgender char(3) check(sgender='男' or sgender = '女'),
       --唯一的
       sqq varchar2(30) unique
)

3.创建表(同时创建约束+指定名称)

--表结构最后定义约束
create table tb_student(
       --学号  主键  唯一+非空
       sid number(5),
       --学生名字不能为空
       sname varchar2(30),
       --年龄不能超过18~150
       sage number(3),
       --不是男就是女
       sgender char(3),
       --唯一的
       sqq varchar2(30),
       classid number(3),
       
       --定义约束  指定名字,指定约束 ,指定字段
       constraints pk_student_sid primary key(sid),
       constraints sname_notnull check(sname is not null),
       constraints ck_sage check(sage between 18 and 150),
       constraint fk_student_classid_classid foreign key(classid) references clazz(classid) on delete set null --on delete cascade
)

4.创建表(追加创建约束+指定名称)

--表结构后面追加约束
alter table tb_student add constraints student_sqq unique(sqq);
--删除约束
alter table tb_student drop constraints student_sqq;

--班级表
create table clazz(
       classid number(3) primary key,
       classname varchar2(18) not null,
       subject varchar2(15) not null
)

insert into clazz values(01,'27期','java');
insert into clazz values(02,'28期','java');
select * from clazz;
drop table clazz cascade constraints; --主表

delete from clazz where classid=02 ;

drop table tb_student;
select * from tb_student;
insert into tb_student(sid,sname,sage,sgender,sqq,classid) values(1,'杨建秋',23,'男',700707070,02);
insert into tb_student(sid,sname,sage,sgender,sqq,classid) values(2,'杨',23,'男',7007070702,03);
insert into tb_student(sid,sname,sage,sgender,sqq) values(2,'hah',23,'男',700707070);
insert into tb_student(sid,sname,sage,sgender,sqq) values(3,'hah',23,'男',700707070);
delete from tb_student where sid=1;

--存在主外键关系:
--删除数据:1.先删除从表中引用主表中当前这条数据的那些数据,然后再删除主表中的数据  ---默认

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值