最近在学习Oracle数据库,其实在我看来初级的数据库还是很简单的,其实简单的数据库无疑就是4个字:“添、删、改、查”!所以写了一篇文章来给大家分享一下我的见解;
首先先介绍一下Oracle;Oracle服务器是由Oracle 数据库和 Oracle 实例组成。Oracle 是企业管理器用于管理、诊断和调整多个数据库的工具。数据库语言SQL;SQL 是 Structured Query Language(结构化查询语句)。SQL 是数据库语言,Oracle 使用该语言存储和检索信息。SQL由4个部分组成:“DML、DCL、TCL、DDL”;DML 数据库操作语言,干的事情呢 就是 查询(select)、插入(insert)、删除(delete)、修改数据库的数据(update)!DCL 数据控制语句,用来控制存取许可,存取权限等!TCL 事务控制语句,用于事务处理!DDL 数据定义语句,这个建立数据库、数据库对象和定义表的列;
现在来介绍一下SQL中的运算符:
算数运算符:+ - * / 对应的就是以前小学学数学时期的加、减、乘、除;
赋值:就只有一个“=”,就比如 “name=‘王后’”;
逻辑运算:and 就是and前的条件和and后的条件要同时成立才能返回true;or就是or前的条件和or后的条件只要成立一个条件结果都会返回true;
比较运算符:< 、> 、= 对应的就是小学的小于、 大于 、等于;<> 不等于;>= 大于等于;<=小于等于;!= 这个也是不等于 但是不是SQL-92标准。
下面说下要注意的事项:
1、数据的完整性;
这个错误大多都是在数据存入的过程中;创建表的时候就应当保证以后数据输入是正确的!错误的数据、不符合要求的数据是不允许输入的;
2、约束;
确保数额ude数据要满足指定的要求,不然将拒绝相应的数据修改。
接下来我写一段代码给大家介绍一下在数据库中怎么创建用户、捆绑用户、授予权限、解锁用户、收回权限用代码演示一遍;
connect system/System as sysdba; -- 进入管理员权限 system 是管理员的帐号 而System 是我system帐号的密码 create tablespace yl datafile 'E:\Mydate\0626 yaolou.ora' size 100M autoextend on; --建立数据文件 名字叫yl 保存在E:\Mydate\0626 yaolou.ora' 给它的大小是100M create user yl1 identified by 123; --创建了一个名叫yl1的用户 密码是123 alter user yl1 default tablespace yl; --捆绑用户和数据文件 grant connect,resource to yl1; --授权 alter user scott account lock; --锁定用户 alter user scott account unlock; --解锁用户 revoke select on scott.emp from newer; --收回权限 grant select on scott.emp to newer; --允许一个用户可以在我的呃数据库中查询emp表
------------------------------------------------------------------------------------------------------------------------------------
下面就用实例来演示一下在数据库中建立一个表格
create table tb_student( --建立一个名叫tb_student的表格 stu_id number primary key, --在表tb_student里面建立一个名叫stu_id的列 numb就是数字类型 主键(不能为空,唯一的) stu_name varchar2(20) not null. --在表tb_student里面建立一个名叫stu_name的列 是字符类型 not null 非空 stu_ sex char(10), --在表tb_student里面建立一个名叫stu_sex的列 不能超过10个字符 stu_person_id varchar2(255) unique --在表tb_student里面建立一个名叫stu_person_id的列 是字符类型 字符要小于255 要唯一的 );
在上面建立了一个名叫tb_student的表;
在tb_student里面定义了stu_id stu_name stu_ sex stu_person_id这么多的列名
在各个列的后面添加了很多的约束
常用的约束类型:
主键约束(Primary Key):要求主键列数据唯一,并且不允许为空
唯一约束(Unique ):要求该列唯一,允许为空,但只能出现一个空值。
检查约束(Check):某列取值范围限制、格式限制等,如有关年龄的约束。
默认约束(Default ):某列的默认值,如我们的男性学员较多,性别默认为“男”。
外键约束(Foreign Key):用于两表间建立关系,需要指定引用主表的那列
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
当表建立之后 我们要检查你建立表是否建立成功,
select * from tb_student;
好了,表已经建立成功,检查一下,如果发现你的表中还有一些列在建立表中忘记建立了,没关系我们还可以给你们添加,当你发现建立的有些列没用的时候还可以删除,约束条件错误的话,还可以修改列里面的约束条件。
alter table tb_student add(stu_score number); --添加一个名为tb_scoret列 number类型 --alter table tb_student drop column stu_score; --删除tb_scoret列 alter table tb_student modify(stu_name varchar2(30) default '男'); --修改tb_name的约束条件 varchar2类型 默认的属性是“男”
------------------------------------------------------------------------------------------------------------------------------------
再用
select * from tb_student;
之后就会变成
STU_ID STU_NAME STU_SEX STU_PERSON_ID STU_SCORE
---------- ------------------------------ ---------- --------------------------------------------------------------------------------
好了表已经建立好了 约束好了 我们就给表中添加数据
insert into tb_student values(1,'张三','男','125463215548944567',124); insert into tb_student values(2,'李四','男','745896548945787894',125); insert into tb_student values(3,'王五','女','844574128456551255',126); insert into tb_student values(4,'王二','男','854795254852855655',124); insert into tb_student values(5,'麻子','女','215879654485852545',124); insert into tb_student values(6,'理想','男','855482845487456457',124);
我们向tb_student表中添加了6条数据
暂且我们把这些数据理解成为 编号为1的同学叫张三 男 身份证为125463215548944567 学号是124
其他的以此类推
我们可以看见 number类型的数据直接可以添加进去 而varchar2和char类型的数据需要加上'' 添加的每一条数据后面都要用,隔开,每一句语句最后都要用;结尾;尤其要注意的是在我们写代码的时候千万不要把自己电脑里的中文输入法打开,不然会被认定是无效字符。
-----------------------------------------------------------------------------------------------
发现没有 定义每一列的时候列名后面都会有一个数据类型 比如number varchar2 char等
现在就来介绍在Oracle数据库中的数据类型有哪些
其实数据类型分为5类 我用一张图片表示
数据类型就包括这5大类
字符类型分为:1、char 2、varchar2 3、long
1、char:需要固定长度的字符串时 数据类型存储字母数字值 char的长度是1-2000个字节
2、varchar2:可变长字符串 比如 varchar2(20) 表示最长可以存储20个字节 而如果你没有20个字节 就会根据你写的长度在内存中开辟多大的空间。比如a varchar2(20); 而a是name 那就只会给你开辟一个4个字节的空间 节省了内存的空间;他的大小1-4000个字节
3、long:long的数据最多可以存储2G 一张表中只能出现一次 而且不能在long类型的列上建立主键、唯一约束、索引。不能存储过程的参数类型。
数值数据类型:可以存储整数 浮点数和实数 最高精度为38位 number
日期数据:包括年、月、日、时、分、秒 主要类型有:
1、date 存储日期和时间 精确到整个秒。
2、timestamp 存储日期、时间、时区信息、秒值精确到小数点后6位。
raw 数据用于存储二进制数据 最多能存2000字节
longraw能存储2G
LOB称为“大对象”数据类型 可以存储4G的非结构化信息 比如音乐、视频等。
-------------------------------------------------------------------------------------------------------------------------------------
现在我们开始在我们建立的表格中间说一些我们能用到的修改和添加
一般条件我们都用where 来表示
update scott.stu_student set scott.stu_student.stu_name='小学生' where scott.stu_student.stu_id=1; --编号为1的改成小学生 tb_student 表是在我电脑里Scott用户中创建的; update scott.stu_backup set scott.stu_student.stu_name='小学生',scott.stu_student.stu_id=8 where scott.stu_backup.stu_id=1; --编号为1的改成小学生 编号改成8 delete from scott.stu_student where scott.stu_student.stu_name='小学生'; --删除姓名为小学生的所有学生
-------------------------------------------------------------------------------------------------------------------------------------
自己电脑里安装的数据库中用户都会带有一个emp和dept表
如图
------------------------------------------------------------------------------------------------------------------------------------
我们开始在这2张表中做文章
select * from emp order by sal asc; --排序 根据sal列从低到高排序 select * from emp order by sal desc; --排序 根据sal列从高到低排序 select ename||sal from emp; --拼接 把员工表中的name和sal拼接起来 select * from emp where comm is null; --查询员工表中没有奖金的员工 select ename,sal+500 from emp where sal+500<8000 order by sal+500 desc; --员工的薪水加500后 小于8000的人按从高到低排序 select ename from emp where ename like 'A%'; --在员工表中找到A开头的名字 select ename from emp where ename like 'A_'; --在员工表中找到A开头的名字 只匹配的1位 select sum(sal) from emp; -- emp表中 sal中值得总合 select avg(sal) from emp; --emp表中sal数据的平均值 select max(sal) from emp; --emp表中sal数据中的最大值 select min(sal) from emp; --emp表中sal数据中的最小值 select distinct dept.*from emp inner join dept on emp.deptno=dept.deptno; --列出至少有一个雇员的所有部门信息 select * from emp where emp.sal>(select sal from emp where ename='SMITH'); --列出薪金(工资)比'SMITH'多的所有雇员信息
相关推荐
VB.NET 操作 Oracle 数据库增删改查以及存储过程调用 在本篇文章中,我们将详细介绍如何使用 VB.NET 操作 Oracle 数据库,包括增删改查操作以及存储过程的调用。 VB.NET 操作 Oracle 数据库的准备工作 在开始操作...
在JavaWeb开发中,连接Oracle数据库并实现增删改查操作是常见的需求。"jsp连接Oracle数据库实现增删改查"这个项目旨在教你如何利用JSP(JavaServer Pages)技术来构建一个完整的用户管理系统,包括登录、注册以及对...
在与Oracle数据库进行交互时,ASP.NET通常利用ADO.NET(一个.NET Framework的数据访问组件)来实现数据的增删改查操作。 在"asp.net与Oracle数据库进行增删改查"这个主题中,我们将探讨以下几个关键知识点: 1. **...
对于初学者来说,掌握如何使用Java操作Oracle数据库进行增删改查是基础且重要的技能。本教程将围绕这个主题展开,帮助你入门这一领域的知识。 一、Java数据库连接(JDBC) 在Java中与Oracle数据库交互,首先需要...
C# 登陆界面与 Oracle 数据库连接并增删改查 在本文中,我们将探讨如何使用 C# 语言来创建一个登陆界面,并与 Oracle 数据库进行连接,实现用户的登陆验证、增删改查操作。 一、创建 Oracle 数据库连接 首先,...
C#连接Oracle数据库执行简单的增删改查操作 C#连接Oracle数据库执行简单的增删改查操作是指使用C#语言连接Oracle数据库,并执行基本的数据操作,如增删改查。下面是对该操作的详细解释: 一、连接Oracle数据库 要...
在本项目中,我们主要探讨如何使用C#编程语言在Visual Studio 2010(VS2010)环境中与Oracle数据库进行交互,包括基本的CRUD(创建、读取、更新、删除)操作以及在用户界面上的数据显示。以下是对这个主题的详细解析...
Oracle数据库课程设计医院系统数据库源代码。包含Java代码和SQL语句。源码中默认使用的数据库为运行的Oracle数据库 如需修改,在java源码/database.propertie中修改即可!Oracle数据库课程设计医院系统数据库源代码...
标题中的“JDBC链接Oracle数据库增删改查通用工具类”指的是一个Java编程中的实用工具类,它封装了与Oracle数据库交互的JDBC操作,包括插入(Insert)、删除(Delete)、更新(Update)和查询(Select)这四种基本...
本示例详细介绍了如何使用C#连接Oracle数据库并执行基本的增、删、改、查(CRUD)操作。这里我们将深入探讨相关知识点。 首先,确保你的项目引用了`System.Data.OracleClient`命名空间,这是.NET Framework提供的...
《JSP对Oracle数据库进行增删改查实例》 在Web开发中,JSP(JavaServer Pages)常常被用于创建动态网页,而Oracle数据库作为一款强大的关系型数据库管理系统,广泛应用于企业级应用。本实例将详细讲解如何使用JSP与...
总而言之,JDBC为Java开发者提供了强大的工具来与Oracle数据库进行交互,通过熟练掌握JDBC,可以高效地实现数据的增删改查操作。在实践中,还需注意SQL注入安全问题,合理使用PreparedStatement,以及优化数据库访问...
在实现增删改查时,我们需要创建Action类,定义对应的方法处理HTTP请求,并通过返回值控制视图的跳转。 2. **Spring**:Spring框架提供依赖注入(DI)和面向切面编程(AOP),使得组件间的耦合度降低。在SSH中,...
Struts2连接oracle数据库增删改查实例的实现
以上就是使用C#实现Oracle数据库增删改查的基本步骤。在实际项目中,为了代码的可维护性和安全性,通常会使用ORM(对象关系映射)框架,如Entity Framework或NHibernate,它们能进一步简化数据库操作,并提供更高级...
本文将深入探讨如何使用C#语言连接Oracle数据库,并实现基本的增、删、改、查操作,同时也会涉及防止SQL注入的安全措施。 首先,C#是微软公司推出的一种面向对象的编程语言,广泛用于Windows桌面应用、Web应用以及...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其在企业级应用中占据着重要的地位。在实际运维过程中,由于各种原因,我们可能需要修改数据库的版本,比如在升级、迁移或者处理兼容性问题时。"Oracle...
mybatis+spring+struts2 使用oracle数据库 增删改查,是把csdn原先的mysql数据库改成oracle数据库,直接在myeclipse上导入就行,并添加数据库myuser表,还有id,username,password等字段,压缩包下又myuser用记事本...
本文将深入探讨如何使用C#连接Oracle数据库并进行基本的增删改查操作。通过提供的OracleTest增删改查项目源码,我们可以直观地了解这一过程。 首先,连接Oracle数据库需要Oracle的客户端驱动,例如ODP.NET(Oracle ...