⑴ oracle是用什么语言是sql语言吗
不一样的。
Oracle数据库内核是用c编写的,但是,大部分代码是在数据库中执行的,使用PL/SQL和Java(使用嵌入在内核中的jvm)开发。外围工具(SQLDeveloper,grid控件)主要使用Java。
MySQL是用C和c++编写的。它的SQL解析器是用yacc编写的,但是它使用一个定制的词法分析器。MySQL可以在很多系统平台上工作。
(1)oraclesql标准扩展阅读:
Oracle文件结构:
数据库的物理存储结构由多种物理文件组成,主要包括数据文件、控制文件、重做日志文件、归档日志文件、参数文件、密码文件、警告文件等。
1.控制文件:存储诸如实例、数据文件和日志文件等信息的二进制文件。改变系统设置control_files='path'。VCONTROLFILE美元。
2.数据文件:存储数据。DBF后缀。一个语句:一个表空间用于多个数据文件,一个数据文件用于一个表空间。Dba_data_files/v$丢失。
3.日志文件:重做日志文件和Archivelog文件。记录数据库修改信息。ALTER系统切换日志文件;。V$日志。
4.参数文件:记录基本参数。Spfilepfile。
5.警告文件:显示参数background_mp_dest——使用共享服务器连接。
6.跟踪文件:显示参数user_mp_dest——使用专用服务器连接。
⑵ oracle数据库的基本语法与SQL一样吗
sql语句基本相同,各厂商有自己新加语句,相似功能不同实现方法,所以某些语句有不同。
⑶ 熟悉Oracle或SQLServer数据库安装,及基本的SQL语句的使用
Oracle与Sql server都遵循SQL-92标准:
区别如下:
1.Oracle中表名,字段名,存储过程名,变量名不能超过30个字符串长度。
2.Oracle中不支持Top 语法。使用whererownum < n 代替。但需要注意如果在Top前有排序的操作,则需要先排序在利用rownum取得。
3.Oracle中光标的使用与SqlServer中有挺大差别,主要是在循环控制方面不一致。
在Oracle中如果某列是Date类型,那么它默认的格式是yyyy-MM-dd,如果使用where colDate = ‘2005-06-08 17:14:57’就会出错,‘2005-06-08’可以。如果此时需要精确比较时间(小时,分,秒),可以采用下列方法:TO_DATE('2005-6-8 17:14:57','yyyy-mm-dd hh24:mi:ss')。由于Oracle和SQLServer在DateTime上对SQL标准的拓展实现方式不同,因此不能用同一个SQL实现。
4.Oracle中的TimeStamp(时间戳)与SqlServer中的差别很大。SqlServer中的TimeStamp是二进制格式存储在数据库中,可以将DataSet中的这个字段类型设定为base64Binary类型。Oracle中的TimeStamp是时间格式存储的。因此,无法用同一个DataSet既装载SqlServer的TimeStamp,有装载Oracle的TimeStamp.由于在应用程序中很少用到这个值,因此可以不检索这个字段。
5.Oracle中的TimeStamp不能像SqlServer在传入数据的时候自动填充,可以设定默认值systimestamp来实现类似功能。
6.Oracle中没有Boolean的字段类型,可以用intger或者char代替SqlServer中的bit类型。
7.Oracle中会将””空字符串当多NULL处理,也就是说,当应用程序往数据库中插入一个空字符串时,实际数据库会尝试插入一个NULL。如果这个字段是NOTNULL类型,那么就会出错,这种情况下可以用别的默认值代替空字符串。当从SqlServer导入数据到Oracle的时候,在NOTNULL列上的空字符串会导致导出操作失败。此时可以在导出向导中手工修改SQL脚本,将空字符串设定成一个特殊值。
⑷ sqlserver和oracle sql语法的区别
sqlserver和oracle 对应两种sql优化版本分别是T-SQL和PL-SQL
标准sql语法都兼容,比如子查询那些,区别就是函数使用方式而已。
isnull 与 nvl
row_number() over 与 rownumber()
ceiling 与 ceil
log 与 ln
SQUARE 与 power
+ 与 ||
substring 与 substr
Len 与 length
getdate 与 sysdate
以上等等都是同功能的函数
当然也存在同名函数参数顺序不同的情况,就不一一列出来了。
⑸ Oracle数据库与SQL数据库的比较
SQL
Server
是Microsoft(微软)公司的数据库产品,Microsoft
SQL
Server
脱胎于Sybase
SQL
Server。
SQL语言是标准的查询语言,当然后面又有T-SQL(SQL加强版)的问世。可以同时用于不同的语言,如:Java,C#,C++等语言。
Oralce是Oralce(甲骨文)公司的数据库产品。
Oralce号称世界上最好的数据库,不仅因为其自身的悠久历史,在Oralce推出更新版本-9i(全面支持Interner应用),在企业级在线电子商务的领域内,保持自己的优势。
微软走的是垄断的道路,所以他的产品一般也只能在他的操作系统上运行,这当然也包括SQL数据库在内;而Oralce就可以全面适应不同的操作系统。
⑹ oracle sql语句 分为哪些
Oracle SQL语句分类
SQL(Structured Query Language)即结构化查询语句,应用程序与数据库交互的接口
集数据操作、数据定义、数据控制等功能于一体
ANSI先后制定推出了SQL-89、SQL-92、SQL-99标准
oracle SQL 语句主要分为一下四类:
DML(Data Mannipulation Language)数据操纵语言:查询、操纵数据表资料行
SELECT : 检索数据库表或视图数据
INSERT : 将数据行新增至数据库表或视图中
UPDATE : 修改表或视图中现有的数据行
DELETE : 删除表或视图中现有的数据行
注意:DML语句不会自动提交事务!
DDL(Data Definition Language)数据定义语言:建立、修改、删除数据库中数据表对象
CREATE TABLE : 创建表
ALTER TABLE : 修改表
DROP TABLE : 删除表
注意:DLL语句会自动提交事务!所以:DML语句事务提交之前可以回滚,DDL语句不能回滚事务
DCL(Data Control Language)数据控制语言:用于执行权限授予与收回操作
GRANT : 给用户或角色授予权限
REVOKE : 收回用户或角色的所有权限
TCL(Transactional Control Language)事物控制语言:维护数据的一致性
COMMIT :提交已经进行的数据库改变
ROLLBACK : 回滚已经进行的数据改变
SAVEPOINT : 设置保存点,用于部分数据改变的取消
⑺ oracle sql与标准的sql语句的区别
SQL语句区别!你能告诉我,哪一种数据库的SQL语句才是标准的SQL语句了我倒是可以说一下SQLSERVER与ORACLE的小区别SQLSERVER 里面取前几条数据都是用Top 而ORACLE里面没有S: select top (5) * from 表O:select * from 表 rownum>0 and rownum<6再有一个是ORACLE要查一个任意字符的话,一定要借助临时表daul;而SQLSERVER 不用例:S:select '我是一个中国人'O:select '我是一个中国人' from daul;
⑻ oracle学习新手,求几条sql的标准答案对照~~~
1、
select EID,Fname from
(select rownum id,E.EID,E.Fname from Employee E,Department D where E.DID=D.DID and D.Name='research' order by DOB desc)
where id=2;
2、
select EID,Fname from Employee where Fname like '%Y%' order by Fname desc;
3、
select Fname from Employee where DOB<(select agv(DOB) from Employee);
4、
select D.DID,D.Name,count(P.PID) from Department D,Project P where D.DID=P.DID group by D.DID,D.Name;
5、
select Fname from
(select E.EID,E.Fname Employee E,Work_On W where E.EID=W.PID group by E.EID,E.Fname having count(W.PID)=1);
6、
select Fname from
(select E.EID,E.Fname Employee E,Work_On W where E.EID=W.PID group by E.EID,E.Fname having count(W.PID)>=1);
7、
select Fname,project数量 from
(select E.EID,E.Fname,count(W.PID) project数量 Employee E,Work_On W where E.EID=W.PID group by E.EID,E.Fname);
8、
select A.EID,A.Fname,A.project数量 maleproject数量,B.project数量 femaleproject数量 from
(select E.EID,E.Fname,count(W.PID) project数量 Employee E,Work_On W where E.EID=W.PID and E.Gender='male' group by E.EID,E.Fname)A,
(select E.EID,E.Fname,count(W.PID) project数量 Employee E,Work_On W where E.EID=W.PID and E.Gender='female' group by E.EID,E.Fname)B;
where A.EID=B.EID;
9、
select P.Name,count(W.EID) Work_On W,Project P where W.PID=P.PID group by P.Name;
---
以上,希望对你有所帮助。
⑼ ORACLE 和 SQL区别
这两种数据库在不同方面都有着很大的区别,以下是具体的区别:
1.开放性: 1. SQL Server 只能在windows上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不象unix那样久经考验,尤其是在处理大数据库。 2. Oracle 能在所有主流平台上运行(包括 windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。
2.可伸缩性:并行性 1. SQL server 并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。 2. Oracle 并行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。如果windowsNT不能满足需要,用户可以把数据库移到UNIX中。Oracle的并行服务器对各种UNIX平台的集群机制都有着相当高的集成度。
3.性能: 1. SQL Server 多用户时性能不佳 2. Oracle 性能最高, 保持开放平台下的TPC-D和TPC-C的世界记录。
4.客户端支持及应用模式 :1. SQL Server C/S结构,只支持windows客户,可以用ADO、DAO、OLEDB、ODBC连接。 2. Oracle 多层次网络计算,支持多种工业标准,可以用ODBC、JDBC、OCI等网络客户连接。
5.操作简便性: 1. SQL Server 操作简单,但只有图形界面。 2. Oracle 较复杂,同时提供GUI和命令行,在windowsNT和unix下操作相同。
6.使用风险性 :1. SQL server 完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明。并不十分兼容。 2. Oracle 长时间的开发经验,完全向下兼容。得到广泛的应用。完全没有风险。
7.价格:ORACLE贵过SQLSRVER
⑽ oracle 11g PL/SQL 官方标准文档 Example 4–21 FOR LOOP使用label
需要在sqlplus执行
SQL><<main>>--Labelblock.
2DECLARE
3iNUMBER:=5;
4BEGIN
5FORiIN1..3LOOP
6DBMS_OUTPUT.PUT_LINE(
7'local:'||TO_CHAR(i)||',global:'||
8TO_CHAR(main.i)--.
9);
10ENDLOOP;
11ENDmain;
12/
PL/SQL过程已成功完成。
SQL>setserverouton
SQL>/
local:1,global:5
local:2,global:5
local:3,global:5
PL/SQL过程已成功完成。
SQL>