首页
学习
活动
专区
工具
TVP
发布

FREE SOLO

专栏作者
498
文章
695205
阅读量
36
订阅数
RDBMS与DBMS区别
大多数现代商业和开源数据库应用程序本质上是相关的。最重要的关系数据库功能包括在维护和实施某些数据关系的同时使用表进行数据存储的能力。
葆宁
2019-06-14
4.6K0
Oracle面试题集锦
1,范式 7大范式:1NF, 2NF,3NF,BCNF,4NF,5NF,6NF 什么叫normalization?Denormalization? Normalization是数据库规范化,de
葆宁
2019-04-19
2.5K0
JDBC完成修改
使用流程不变: 导入jar包 加载驱动 创建连接对象 创建sql命名对象 创建sql命令 执行sql命令 关闭资源
葆宁
2019-04-19
3990
JDBC的基本使用流程
JDBC的基本使用流程: 1 导入jar包: 导入ojdbc6.jar,在项目上右键 builder path–>add to builder path. 2 加载驱动 Class.forName(“oracle.jdbc.driver.OracleDriver”); 作用:初始化加载jdbc类到java虚拟机. 注意: ojdbc6.jar使用此包该句可以省略不写. 3 获取数据库连接对象 Connection conn =DriverMananger.getConnection(“url”,“username”,“password”); 参数含义: url:表示要连接的数据地址 username:数据库的用户名 password:数据库的密码 作用: 连接到指定的数据库并返回连接对象. 4 创建sql命令对象 Statement stmt=conn.createStatement(); 作用: 编译,发送SQL命令 5 创建sql命令 String sql=“insert into dept values(92,’’,’’)”; 6 执行sql命令: 新增sql命令: int i=stmt.executeUpdate(sql); 返回值: 返回值如果小于0,表示未执行成功 返回值如果大于0,表示成功修改的数据量. 7 关闭资源
葆宁
2019-04-19
1.1K0
JDBC的事务管理
事务:一个事件的完成需要几个子操作的联合完成,只要有一个子操作执行失败,则数据回滚到原始状态,都成功则提交数据.
葆宁
2019-04-19
5230
JDBC学习(一)
JAVA的数据获取方式: 1 直接声明变量并赋值. 2 Scanner类控制台输入 3 IO流(将硬盘存储中的数据读取到java中) 4 scoket+io 5 从数据库中获取 JDBC的概念: 问题: java和数据库之间的沟通不一致 解决: 数据库厂商对外提供java支持的接口 使用: 创建类实现接口(操作数据库) 数据库厂商对外提供了数据库操作的驱动包.(翻译官) 结论: JDBC其实就是数据厂商对外提供的能够对自己的数据进行操作的驱动包也就是jar文件.
葆宁
2019-04-19
5450
Oracle二维表操作训练
—创建Employees create table Employees( employeeID varchar2(6) primary key, ename varchar2(10) not null, Birthday date not null, sex char(4) not null, address varchar2(20) , zip varchar2(6), Phonenumber varchar2(12), Emailaddress varchar2(30), departmentID varchar2(3) not null ); —创建Departments create table Departments( departmentID varchar2(3) primary key, departmentName varchar2(30) not null, note varchar2(16)
葆宁
2019-04-19
3720
Oracle序列、索引、视图学习
–创建序列 –使用 create sequence 序列名 –特点1:默认开始是没有值的,也就是指针指在了没有值的位置。 –特点2:序列名.nextval每次执行都会自增一次,默认步长为1 –特点3:序列名.currval查看当前序列的值。开始是没有的。 –作用:作为主键使用,动态的获取之间的值,这样新增数据的时候极大的避免了主键冲突 –使用的是 序列名.nextval作为主键 –注意:主键是非空唯一就可以,不需要主键的值是连续的值。 –创建默认序列 create sequence cc;–创建序列cc select cc.currval from dual–查看序列当前值 select cc.nextval from dual–查看序列的自增后的值。 –创建自定义序列 create sequence aa–创建序列 start with 5 --设置开始位置 increment by 2 --设置步长 select aa.currval from dual select aa.nextval from dual –创建测试表 create table teacher( tid number(10) primary key, tname varchar(100) not null ) insert into teacher values(cc.nextval,‘张三’); insert into teacher values(cc.nextval,‘张三’);
葆宁
2019-04-19
5660
oracle学习(二维表维护&修改)
—oracle学习 –oracle的管理系统学习 –oracle的数据管理学习 –oracle的用户管理 –oracle二维表管理 –二维表的创建 –创建语句 –约束 –修改二维表
葆宁
2019-04-19
3230
Oralce的二维表操作
–创建表并同时添加约束 –主键约束 –非空约束 –检查约束 –唯一约束 –外键约束 –简单的表创建和字段类型 –简单的创建语句: create table student( sno number(10) ,–primary key sname varchar2(100) ,–not null sage number(3), --check(sage<150 and sage>0) ssex char(4) ,–check(ssex=‘男’ or ssex=‘女’) sfav varchar2(500), sbirth date, sqq varchar2(30) --unique –constraints pk_student_sno primary key(sno)–添加主键约束 –constraints ck_student_sname check(sname is not null)–非空约束 –constraints ck_student_sage check(sage<150 and sage>0)–检查约束 –constraints ck_student_ssex check(ssex=‘男’ or ssex=‘女’)–检查约束 –constraints un_student_sqq unique(sqq)–唯一约束 ) –添加主键约束 alter table student add constraints pk_student_sno primary key(sno); alter table student drop constraints pk_student_sno; –添加非空约束 alter table student add constraints ck_student_sname check(sname is not null); alter table student drop constraints ck_student_sname; –添加检查约束 alter table student add constraints ck_student_sage check(sage<150 and sage>0) alter table student drop constraints ck_student_sage; –添加检查约束校验性别 alter table student add constraints ck_student_ssex check(ssex=‘男’ or ssex=‘女’) alter table student drop constraints ck_student_ssex; –添加唯一约束 alter table student add constraints un_student_sqq unique(sqq) select * from student drop table student
葆宁
2019-04-19
6170
Oracle的二维表管理
–创建表: –使用:create table 表名(字段名 类型,字段名 类型,…); –数据类型: –number类型 –数值类型 –整数类型 number(a) 总长度为a –浮点数类型 number(a,b) 总长度为a,小数位长度为b,小数位可以不写。 –varchar2类型 –字符类型 varchar2(ln) ln表示字符的最大长度,实际存储内存长度是根据字符大小来分配,但是最大不能超过ln –特点:动态分配存储空间,节省空间 –char类型 –字符类型 char(ln) 不管字符数据长度是多大,直接开辟ln大小的空间存储数据 –特点:存储效率高于varchar2 –date类型
葆宁
2019-04-19
4580
Oracle用户管理
—Oracle学习 –oracle管理系统介绍(客户端和服务器端的交互模式) –oracle数据库的数据管理(增删改查 查询) –oracle账户管理 –oracle二维表管理 –创建表 –维护表 –删除表 –oracle的其他知识
葆宁
2019-04-19
1.2K0
Oracle函数学习(单表查询和子查询)
–单表查询: –当需要的数据在一张表中,考虑使用单表查询 –多表联合查询: –当需要查询的数据分布在多张表中,考虑使用多表联合 –子查询学习: –使用时机:当查询的筛选条件不明确时,考虑使用子查询。 –单行子查询 –多行子查询
葆宁
2019-04-19
8610
Oracle函数学习(数据库的增删改&数据备份)
注意:增加删除修改的数据SQL语句执行完毕后,不会立马进行数据的写入。 –还需要手动对数据进行提交,如果数据有问题还可以回滚 主键:非空唯一的字段可以设置为主键。 –在一张表中,某个字段的值是非空唯一的,将此字段设置为主键。 –主键的作用:唯一的标识一条数据。 增加数据 –insert into 表名(字段名,字段名,…)values(值1,值2,值3…); –注意1:主键必须给值,允许为空的字段可以不给值。 –注意2:插入语句表名后跟的字段名为要赋值的字段,值和字段数量和顺序必须是一一对应的。 –注意3:如果是全字段插入,可以省略字段名部分 insert into 表名 values(值1,值2,…) –在部门中新增一个新的部门信息,信息内容为 编号:50,名称:LOL学院,地址:北京 insert into dept(deptno,dname,loc)values(50,‘LOL学院’,‘北京’); insert into dept(deptno,dname,loc)values(60,‘LOL学院’,‘北京’); insert into dept values(60,‘LOL学院’,‘北京’); select * from dept –在部门中新增一条数据,只有部门编号和名称,没有地址。 insert into dept(deptno,dname)values(‘吃鸡学院’,70) –删除数据 –delete from 表名 删除表中的所有记录 –truncate table 表名 删除表中的所有记录,但是效率高于delete –delete from 表名 where 条件 删除指定的数据,只要符合条件就会删除 delete from dept where deptno=50 --删除指定的数据 delete from dept --清空表数据 truncate table dept–清空表中数据 –更新数据 –update 表名 set 字段名=新的值,字段名=新的值…(会将字段的值全部改为新的值) –update 表名 set 字段名=新的值,字段名=新的值… where 条件(将符合条件的数据的字段改为新的值) update dept set dname=‘java学院’,loc=‘上海’ update dept set dname=‘java学院’,loc=‘上海’ where deptno=50 select * from dept –数据的备份 –注意:只会备份表结构和表的数据,约束不会备份。 –表级别备份 –全部备份:create table 新的表名 as select * from 备份表名 –部分备份: create table 新的表名 as select 字段名,字段名,…from 备份表名 –数据整体插入 –insert into 插入表名 select * from 表名 –注意:查询语句结果的字段数据必须和插入表名的字段数量一致,类型要一致。 create table deptBak as select * from dept–全部备份 create table deptBak2 as select deptno,dname from dept-- 部分备份 select * from deptBak2 insert into deptBak2 select deptno,dname from dept
葆宁
2019-04-19
4380
Oracle函数学习(分组查询&筛选学习)
–关键字:group by 分组字段名,分组字段名… –注意1:使用了分组后,在select语句中只允许出现分组字段和多行函数。 –注意2:如果是多字段分组,则先按照第一字段分组,然后每个小组继续按照第二个字段继续分组,以此类推。 –注意3:在where子句中不允许出现多行函数。 –分组筛选 –关键字:having –作用:针对分组进行分组后的数据筛选,允许使用多行函数。 –注意:having关键必须和分组结合使用。不允许单独使用。 –where和having的比较: –where子句不允许出现多行函数,having允许出现多行函数 –where子句和having都可以使用普通字段直接进行筛选,但是where的效率高于having –where执行顺序: from—>where—>group by–>select–>order by –having执行顺序:from—>group by–>select—>having—>order by –结论:在分组语句中,使用where进行字段级别的筛选,使用having进行多行函数的筛选。 –查询最高工资和员工数 select max(sal),count() from emp –查询不同部门的最高工资 select deptno,max(sal) from emp group by deptno select * from emp –查询不同工作岗位的员工数 select job, count() from emp group by job –查询不同部门的不同工作岗位的人数 select deptno ,lower(job),count() from emp group by deptno,job order by deptno –查询不同部门的不同工作岗位的并且人数大于1的信息 select deptno ,lower(job),count() from emp group by deptno,job having count()>1 order by deptno –查询部门号大于10的不同部门的不同工作岗位的人数 –使用having关键字 select deptno ,lower(job),count() from emp group by deptno,job having deptno>10 order by deptno –使用where关键字 select deptno,job,count(*) from emp where deptno>10 group by deptno,job order by deptno —SQL查询语句的结构 –select 子句 要查询的数据(oracle函数,别名,连接符,去除重复,逻辑运算) –from语句 决定要查询的表(表名) –where子句 筛选数据(筛选条件,关键字) –group by子句 分组 (分组字段) –having子句 分组筛选 (多行函数筛选条件) –order by子句 排序 (排序) –from–>where—>group by–>select—>having—>order by
葆宁
2019-04-19
7520
Oracle函数学习(转换函数)
–to_number(数值类型的字符):将字符转换为数值 –to_char(数值或者是日期):将数值或者日期转换为字符 –to_date(日期格式的字符):将字符转换为日期
葆宁
2019-04-19
7980
Oracle函数学习(单行函数,多行函数)
–查询工作为SALESMAN,MANAGER并且工资大于2500的员工信息 –and关键字的执行级别高于or –可以使用小括号提升条件的执行级别,使用了小括号的级别是最高的 select * from emp where (job=‘SALESMAN’ or job=‘MANAGER’) and sal>2500
葆宁
2019-04-19
6780
JDBC封装实例
import java.sql.SQLException; import java.util.Scanner; import com.bjsxt.daoImpl.StudentDaoImpl;
葆宁
2019-04-18
6860
Java常见的垃圾收集器有哪些?
Serial GC, 它是最古老的垃圾收集器, “Serial”体现在其收集工作是单线程的,并且在进行垃圾收集过程中,会进入臭名昭著的“Stop-The-World”状态。当然,其单线程设计也意味着精简的GC实现,无需维护复杂的数据结构,初始化也简单,所以一直是Client模式下JVM的默认选项。 从年代的角度,通常将其老年代实现单独称作Serial Old,它采用了标记-整理(Mark-Compact)算法,区别于新生代的复制算法。Serial GC的对应JVM参数是:-XX:+UseSerialGC
葆宁
2019-04-18
9440
谈谈JVM内存区域的划分,哪些区域可能发生 OutOfMemoryError?
首先,程序计数器(PC,Program Counter Register)。在 JVM 规范中,每个线程都有它自己的程序计数器,并且任何时间一个线程都只有一个方法在执行,也就是所谓的当前方法。程序计数器会存储当前线程正在执行的 Java 方法的 JVM 指令地址;或者,如果是在执行本地方法,则是未指定值(undefined)。
葆宁
2019-04-18
7260
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档