mysql与oracle数据类型对照
mysql和oracle的区别小结(功能性能、选择、使用它们时的sql等对比)
mysql和oracle的区别⼩结(功能性能、选择、使⽤它们时的sql等对⽐)⼀、并发性并发性是oltp数据库最重要的特性,但并发涉及到资源的获取、共享与锁定。
mysql:mysql以表级锁为主,对资源锁定的粒度很⼤,如果⼀个session对⼀个表加锁时间过长,会让其他session⽆法更新此表中的数据。
虽然InnoDB引擎的表可以⽤⾏级锁,但这个⾏级锁的机制依赖于表的索引,如果表没有索引,或者sql语句没有使⽤索引,那么仍然使⽤表级锁。
oracle:oracle使⽤⾏级锁,对资源锁定的粒度要⼩很多,只是锁定sql需要的资源,并且加锁是在数据库中的数据⾏上,不依赖与索引。
所以oracle对并发性的⽀持要好很多。
⼆、⼀致性oracle:oracle⽀持serializable的隔离级别,可以实现最⾼级别的读⼀致性。
每个session提交后其他session才能看到提交的更改。
oracle通过在undo表空间中构造多版本数据块来实现读⼀致性,每个session查询时,如果对应的数据块发⽣变化,oracle会在undo表空间中为这个session构造它查询时的旧的数据块。
mysql:mysql没有类似oracle的构造多版本数据块的机制,只⽀持read commited的隔离级别。
⼀个session读取数据时,其他session 不能更改数据,但可以在表最后插⼊数据。
session更新数据时,要加上排它锁,其他session⽆法访问数据。
三、事务oracle很早就完全⽀持事务。
mysql在innodb存储引擎的⾏级锁的情况下才⽀持事务。
四、数据持久性oracle保证提交的数据均可恢复,因为oracle把提交的sql操作线写⼊了在线联机⽇志⽂件中,保持到了磁盘上,如果出现数据库或主机异常重启,重启后oracle可以考联机在线⽇志恢复客户提交的数据。
mysql:默认提交sql语句,但如果更新过程中出现db或主机重启的问题,也许会丢失数据。
ORACLE数据库字段类型说明
ORACLE数据库字段类型说明类型含义存储描述备注CHAR固定长度字符串最⼤长度2000bytesVARCHAR2可变长度的字符串,最⼤长度4000bytes可做索引的最⼤长度749 NCHAR根据字符集⽽定的固定长度字符串最⼤长度2000bytesNVARCHAR2根据字符集⽽定的可变长度字符串最⼤长度4000bytesDATE⽇期(⽇-⽉-年)DD-MM-YY(HH-MI-SS),经过严格测试,⽆千⾍问题TIMESTAMP⽇期(⽇-⽉-年)DD-MM-YY(HH-MI-SS:FF3),经过严格测试,⽆千⾍问题与DATE相⽐较,TIMESTAMP有⼩数位秒信息LONG超长字符串最⼤长度2G,⾜够存储⼤部头著作RAW固定长度的⼆进制数据最⼤长度2000bytes可存放多媒体图象声⾳等LONG RAW可变长度的⼆进制数据最⼤长度2G可存放多媒体图象声⾳等BLOB⼆进制数据最⼤长度4GCLOB字符数据最⼤长度4GNCLOB根据字符集⽽定的字符数据最⼤长度4GBFILE存放在数据库外的⼆进制数据最⼤长度4GROWID数据表中记录的唯⼀⾏号10bytes**.*.*格式,*为0或1NROWID⼆进制数据表中记录的唯⼀⾏号最⼤长度4000bytesNUMBER(P,S)数字类型P为整数位,S为⼩数位DECIMAL(P,S)数字类型P为整数位,S为⼩数位INTEGER整数类型⼩的整数FLOAT浮点数类型NUMBER(38),双精度REAL实数类型NUMBER(63),精度更⾼**⽬前Oracle数据库⼤概有26个字段类型,⼤体分为六类,分别是字符串类型、数字数据类型、⽇期时间数据类型、=⼤型对象(LOB)数据类型、RAW和LONG RAW数据类型、ROWID和UROWID数据类型。
**当然Oracle还提供⽤户⾃定义的数据类型,但在我这篇不做讨论。
字符串类型Charchar数据类型存储固定长度的字符值。
⼀个CHAR数据类型可以包括1到2000个字符。
mysql和oracle语句有什么区别
mysql和oracle语句有什么区别篇一:Mysql与Oracle的50个区别Mysql与Oracle的50个区别1. 有些人说Oracle没有限制,实际上他们说得可能是Oracle不支持LIMIT语法.不过可以rownum虚列来实现,不过会更加麻烦.2. Oracle不支持偏移(offset)语法.3. Oracle的复制功能可能比MySQL更加健壮,不过也更加难以配置.4. 对于多个Master类型的系统,大部分用户都希望你使用更加复杂也更加昂贵的Oracle RAC(虽然可能NDB更加健壮).5. Oracle的分区功能非常健壮,但是它不是内置的,并需要专门为此付费(分区功能是在Enterprise Edition里面是内置的).6. 在Linux/Unix上,Oracle并不象Mysql那么方便,很多Linux/Unix发行版默认就会自带Mysql.(我对这一点的理解与翻译可能都有偏差)7. INSERT … ON DUPLICATE KEY UPDATE语法将不再可用,不过你需要学习更加复杂(但是符合SQL标准)的MERGE语法.8. Oracle的ROLE架构与MySQL有很大差异,无法再使用root角色来完整所有工作.(不过Sys用户的权限仍然与root 相差无几,只是为了安全着想,不建议这么使用了).9. Role 帐户与特定的Schema联系在一起(反之也一样),类似于MySQL数据库中的Database概念.(Role并不完全与Schema联系在一起,系统有一些固定的role,这些Role包含部分已经定义好的权限集(privilege set),也可以再自定义部分新的role).10. 事实上,丢弃一切已知的关于连接访问的设置吧,Oracle 使用一套全新的系统来处理连接访问.11. 支持全文搜索,不过语法完全不同.12. Oracle的文档非常丰富,不过,如果需要Oracle的专业服务,你需要拥有Metalink的访问权限.13. 在非数据库社区很难找到相关的支持信息(例如,PHP 论坛或者网站开发者的网志)14. 自增功能可以通过Trigger与sequence对象来实现.15. 大量日常熟悉的SHOW命令将不再可用,想要获取系统信息,需要你学习Oracle的数据字典(或信息Schema),深入一点的还需要学习Oracle动态性能.16. MySQL为信息Schema添加了多个非标准的扩展,在Oracle中将很难找到这些信息.17. 为了管理好生产系统与非生产系统的的转入转出,需要你深入理解Oracle的授权规则.18. 大体上讲,Oracle的数值类型更加简单,如果你确实需要类似于MySQL的多粒度的数值类型,就需要你自己来实现它,或者通过制定不同的精度(Number(n,x))来实现.19. 在Oracle中,表可以做到无限制的增长,但是大部分情况下,都建议通过表空间(tablespace)来对此作细粒度的管理.20. Oracle不支持ALTER TABLE ADD COLUMN BEFORE|AFTER,也就是不支持自己制定字段的位置.(我们这边之前有部分应用对字段顺序有严格地要求,不过,从理论上讲,这是业务设计的问题,主要是其大部分情况下都是使用select *或者insert table values来处理数据,而不是在select,insert中指定具体需要处理的字段名列表).21. 如果你习惯于通过图形界面(GUI)来管理数据库,你一定会喜欢上Oracle,但是如果你倾向于使用类似与Mysql 命令行的客户端,你可能会对sql*plus这个客户端工具感到失望(需要一个习惯的过程,sql*plus还是蛮好用的).22. Oracle的数据校验比Mysql更加严格,依赖于MySQL 的模糊规则可能会导致应用无法运行.MySQL接受”0000-00-00″来作为日期类型的值就是个典型的例子.23. 虽然Oracle的PL/SQL功能更强,但是它不支持标准的PSM语言来编写存储过程,因此你可能不得不学习它的非标准的语法.24. Oracle不支持ENUM数据类型,只能通过使用基于文本的check约束或者创建外键关联表来实现.25. Mysql的一些更加神秘的表类型(例如,blackhole,csv),在Oracle中找不到相对应的功能. (不清楚blockhole是何种类型,不过Oracle的外部表(external table)确实是支持csv格式的,在11g版本中还支持对此文件的压缩/加密以及其他处理). 26. Oracle中的Group By语句必须是确定的,它需要select list中出现的所有列都必须包含在group by从句中.27. Oracle的exp命令输出的dmp文件无法象Mysql的转储文件一样可以手工修改.28. Oracle的底层实现有较大变化,需要你学习UNDO与REDO segment,归档,以及DBWR进程. (个人认为Oracle相对于其他数据库的主要的优势可能就是其UNDO/REDO的设计了.)29. Oracle不是开源软件,因此你无法在上面进行修补/优化/修复/实现你自己的东西.Robert Hodges30. Oracle的查询优化是一件需要专家介入的工作.它的优化器比MySQL的要成熟的多,这意味着查询计划也相应的更加难以解释.如果你有一个大的应用,请准备好聘用一位了解如何有效进行此项工作的伙计.31. Oracle的基于成本的优化器的有效运行需要精确的统计信息.对于发生变化的表,需要定期的为其收集统计信息.批量数据加载进程也需要在处理过程中不时的执行estimate/compute statistics命令来收集统计信息以取得满意的性能.32. 在Oracle中,创建连接是个代价高昂的操作.性能良好的Oracle应用都倾向于使用连接池来最小化登陆的开销.33. Oracle应用需要应用prepared statement以获取可观的性能.如果你的应用不使用prepared statement的话,需要对应用进行调整.这是应用Oracle数据库的标准编程实践.(此处的prepared statement应该更多的是指使用绑定变量).34. 应用需要关闭结果集游标,否则很快就会遇到著名的”ORA-01000 Too many open cursors”错误.在Oracle中,这被认为是一个用户错误,需要你去调整你的代码.35. 繁忙系统上的长查询可能会遭遇到” ORA-01555 Snapshot too old”错误.可以通过调整redo 段的大小(有时通过调整应用)来消除此错误,但是还是需要你关注这一点.(此处的redo segments的表述是有点问题,此处应该是Undo tablespace以及对应的Undo Retention,Oracle没有所谓的redo segment的说法).36. Oracle没有类似于非事务表的概念.大部分Oracle用户都认可这一点.37. Oracle的临时表定义是持久的SQL对象,并且对所有用户都可见(此处应该理解成以此用户登陆的会话,Session).这一点与MySQL中使用的轻量级表有区别,在MySQL中,临时表是在单个会话内创建并销毁的.Denish Patel38. 在Oracle中,多个Alter Table操作不能在同一个SQL 语句中执行,例如alter table emp modify name varchar(64) not null, add gender char(1) not null;39. 默认情况下,Oracle不会自动提交.40. KILL命令在Oracle中无效,它使用alter system kill命令.(不清楚第一个kill是什么概念,操作系统级别的kill,Oracle 还是支持的,我经常使用).41. Oracle在Order by语句中不支持使用减号(-).(不清楚这个具体的减号是什么东西).42. Oracle的sqlplus命令行接口不支持高亮显示.Roland Bouman43. Oracle不支持group_concat或者类似的分组函数.需要你通过循环调取游标来实现,或者通过组合XMLAGG与XMLQUERY来实现你需要的查询.(在Oracle 9R2之后,可以使用自定义聚合函数来实现这个功能,到Oracle 11gR1之后,Oracle自己还提供了一个新的listagg分组函数来实现这个功能).44. 对于count(distinct expression)函数,Oracle只支持一个表达式(要么一个列名,要么*),而Mysql支持一组表达式. (在Oracle中要实现一组表达式,可以通过使用子查询来实现).45. Oracle对子查询的支持非常好.不要因为Mysql中的习惯而不去使用它.46. Oracle不支持用户变量(@num).如果你需要利用它来计算运行时总和,可以利用分析函数(窗口函数)来实现.如果用用户变量来实现特定的汇总函数功能,你将发现Oracle已经有内置得功能支持这些功能.(另外在Oracle中,可以通过在package中应用dbms_session来设置context以实现用户变量).47. Oracle没有区分TIME与DATE类型,Oracle的Date类型实际上就是一个DATETIME类型(但是比MySQL支持一个更大的日期范围).48. 相对于MySQL来讲,Oracle的存储过程与触发器功能与性能都要好很多.不要习惯性地不去使用它们.49. 如果需要在Oracle中编写存储过程,记得在开始编码前花点时间了解下Oracle是不是有相应的内置package.你将发现大部分问题已经解决掉了,或者至少大量的基础代码已经在那儿了.50 如果你在MySQL中有使用BLOB类型或者TEXT类型,你可能会将他们迁移到Oracle地BLOB与CLOB中.然而,与MySQL不同,Oracle并不是透明地实体化这些数据.在大部分情况下,这确实是件好事情,但是它也意味着如果你只是想把BLOB/CLOB当作文本处理,你将需要花费大量琐碎的时间来使用LOB函数,在使用之初,LOB函数还是蛮让人气馁的.(LOB相关函数确实挺烦人,LOB的处理效率也非常差,即使是使用Oracle 11g的SecureFile).篇二:mysql与oracle区别MySQL是遵守双重协议的,一个是GPL(General Public License,公共许可证)授权协议,一个是MySql AB制定的商用授权协议(注释:为解决其他企业用MySQL软件牟利或引用了MySQL的源代码而不想开源)。
oracle和mysql的数据类型
oracle和mysql的数据类型Oracle和MySQL是两种常用的关系型数据库管理系统。
虽然它们具有相似的功能和用途,但在数据类型方面存在一些差异。
本文将深入探讨Oracle和MySQL的数据类型,并逐步回答有关这两个数据库的常见问题。
第一部分:Oracle数据类型Oracle提供了广泛的数据类型,用于存储不同类型的数据。
以下是一些常见的Oracle数据类型:1. 字符串类型:- CHAR(n):固定长度的字符串,n表示最大长度。
- VARCHAR2(n):可变长度的字符串,n表示最大长度。
- CLOB:用于存储大量文本数据。
2. 数值类型:- NUMBER(p, s):表示固定精度和范围的数值,p表示总位数,s表示小数位数。
- INTEGER:整数类型。
- FLOAT(p):浮点数类型,p表示精度。
3. 日期和时间类型:- DATE:存储日期和时间。
- TIMESTAMP:带有时区的日期和时间。
4. 二进制类型:- BLOB:用于存储大量二进制数据。
- RAW(n):存储固定长度的原始二进制数据,n表示字节数。
第二部分:MySQL数据类型MySQL也提供了各种数据类型,用于存储不同类型的数据。
以下是一些常见的MySQL数据类型:1. 字符串类型:- CHAR(n):固定长度的字符串,n表示最大长度。
- VARCHAR(n):可变长度的字符串,n表示最大长度。
- TEXT:用于存储大量文本数据。
2. 数值类型:- INT(m):整数类型,m表示显示宽度。
- FLOAT(p, s):浮点数类型,p表示总位数,s表示小数位数。
- DECIMAL(p, s):高精度数值类型,p表示总位数,s表示小数位数。
3. 日期和时间类型:- DATE:存储日期。
- DATETIME:存储日期和时间。
4. 二进制类型:- BLOB:用于存储大量二进制数据。
- VARBINARY(n):可变长度的二进制数据,n表示最大长度。
数据库选型:MySQL、Oracle和MongoDB
数据库选型:MySQL、Oracle和MongoDB随着互联网及大数据时代的到来,数据的规模和复杂度不断增大,如何实现高效、稳定、安全的数据存储和处理成为了企业数据管理中的重要问题。
在数据库中,MySQL、Oracle和MongoDB等数据库成为了各个领域最为常用的数据库系统。
本文将分别从MySQL、Oracle和MongoDB三个方面来探讨它们的优缺点以及适用场景,以期为企业数据库选型提供一些参考意见。
MySQL:开源数据库MySQL是一种开源数据库,根据MySQL官方网站统计,全球用户数量已超过1亿。
MySQL是一款基于SQL语言的关系型数据库管理系统,适用于大型企业、中小企业以及各种互联网应用程序等领域。
MySQL作为一种开源产品,具有以下优点:1.免费、开源。
MySQL以GPL(通用公共许可证)的方式发布,用户可以根据自己的需求,自由地获取、拷贝、修改和分发MySQL源代码,这使得用户可以在没有额外软件费用的情况下使用MySQL,为企业降低了成本。
2.易于学习,支持SQL语言。
MySQL采用标准化的SQL语言,操作简单、易学易用,使得用户快速掌握MySQL的使用技巧。
3.安全、可靠、稳定。
MySQL的安全性得到了广泛的认可,在短短几年内,已成为众多项目和应用程序的首选数据库系统,实时性高、支持高并发、可靠性高,受到了各种规模的企业用户及互联网应用、网站的广泛使用。
4.支持多个平台。
开源免费的MySQL支持多个平台,包括Linux、Unix、Windows等主流操作系统,兼容性强,易于部署。
但是,MySQL也存在一些缺点:1.对于高负载、高并发的应用,MySQL的性能和稳定性没有Oracle好,需要进行优化。
2. MySQL在处理大数据时,容易因为表锁定、索引失效等问题而卡住,导致系统的响应能力降低。
3. MySQL不支持XML和JSON数据类型,不适用于需要处理复杂数据结构的应用。
适用场景:MySQL适用于中小企业及互联网应用领域,如网站、博客、论坛等。
SQLServer,MySQL,Oracle三者的区别
SQLServer,MySQL,Oracle三者的区别目录1 Oracle、Sql Server、MySql简介1.1 Oracle1.2 SQL Server1.3 MySQL2 Oracle和MySQL的主要区别2.1 客户端和命令窗口2.2 市场占有率及其他2.3 Oracle也与MySQL操作上的一些区别2.3.1 组函数用法规则2.3.2 自动增长的数据类型处理2.3.3 主键2.3.4 单引号的处理2.3.5 翻页的SQL语句的处理2.3.6 长字符串的处理2.3.7 日期字段的处理2.3.8 空字符的处理2.3.9 字符串的模糊比较1 Oracle、Sql Server、MySql简介返回1.1 OracleOracle 能在所有主流平台上运行(包括Windows)。
完全支持所有的工业标准。
采用完全开放策略。
可以使客户选择最适合的解决方案。
对开发商全力支持,Oracle并行服务器通过使一组结点共享同一簇中的工作来扩展Windows NT的能力,提供高可用性和高伸缩性的簇的解决方案。
如果Windows NT不能满足需要,用户可以把数据库移到UNIX中。
Oracle的并行服务器对各种UNIX平台的集群机制都有着相当高的集成度。
Oracle获得最高认证级别的ISO标准认证.Oracle性能最高,保持开放平台下的TPC-D和TPC-C的世界记录Oracle多层次网络计算,支持多种工业标准,可以用ODBC、JDBC、OCI等网络客户连接。
Oracle 在兼容性、可移植性、可联结性、高生产率上、开放性也存在优点。
Oracle产品采用标准SQL,并经过美国国家标准技术所(NIST)测试。
与 IBM SQL/DS,DB2,INGRES,IDMS/R等兼容。
Oracle的产品可运行于很宽范围的硬件与操作系统平台上。
可以安装在70种以上不同的大、中、小型机上;可在VMS、DOS、UNIX、WINDOWS等多种操作系统下工作。
常见ORACLE与MYSQL函数对比以及一些常见的区别
常见ORACLE与MYSQL函数对⽐以及⼀些常见的区别编号类别ORACLE MYSQL注释1数字函数round(1.23456,4)round(1.23456,4)⼀样:ORACLE:select round(1.23456,4) value from dualMYSQL:select round(1.23456,4) value2abs(-1)abs(-1)功能: 将当前数据取绝对值⽤法: oracle和mysql⽤法⼀样mysql: select abs(-1) value oracle: select abs(-1) value from dual3ceil(-1.001))ceiling(-1.001)功能: 返回不⼩于 X 的最⼩整数⽤法:mysqls: select ceiling(-1.001) value oracle: select ceil(-1.001) value from dual4floor(-1.001)floor(-1.001)功能: 返回不⼤于 X 的最⼤整数值⽤法:mysql: select floor(-1.001) value oracle: select floor(-1.001) value from dual5Max(expr)/Min(expr)Max(expr)/Min(expr)功能:返回 expr 的最⼩或最⼤值。
MIN() 和 MAX() 可以接受⼀个字符串参数;在这种情况下,它们将返回最⼩或最⼤的字符串传下。
⽤法:ROACLE: select max(user_int_key) from sd_usr; MYSQL: select max(user_int_key) from sd_usr;6字符串函数ascii(str)ascii(str)功能:返回字符串 str 最左边的那个字符的 ASCII 码值。
如果 str 是⼀个空字符串,那么返回值为 0。
MySql与Oracle数据库如何处理Clob,Blob数据类型
4、hibernateth处理clob
MyFile file = new Myfile(); file.setName("jack"); file.setContent(hibernate.createClob("")); session.save(file); session.flush(); session.refresh(file,LockMode.UPGRADE); oracle.sql.Clob clob = (oracle.sql.Clob)file.getContent(); Writer pw = clob.getCharacterOutputStream(); pw.write(longText);//写入长文本 pw.close(); session.close();
5、使用hibernate处理blob:
原理基本相同: Photo photo = new Photo(); photo.setName("jack"); photo.setPhoto(hibernate.createBlob(""))://放一个空值 session.save(photo); session.flush(); // session.refresh(photo,LockMode.UPGRADE); //锁住此对象 oracle.sql.Blob blob = photo.getPhoto();//取得此blob的指针 OutputStream out = blob.getBinaryOutputStream(); //写入一个文件 File f = new File("c:\\test.rar"); FileInputStream fin = new FileInputStream(f); int count = -1, total = 0; byte[] data = new byte[(int)fin.available()]; out.write(data); fin.close(); out.close(); session.flush();
oracle 的数字类型
oracle 的数字类型【原创版】目录1.Oracle 数据库的数字类型概述2.Oracle 数字类型的分类3.Oracle 数字类型的特点和应用场景4.Oracle 数字类型的使用注意事项正文Oracle 数据库的数字类型概述Oracle 数据库是一种广泛使用的关系型数据库管理系统,它支持多种数据类型以满足各种应用需求。
在 Oracle 数据库中,数字类型是用于存储数值数据的数据类型,这些数据类型可以分为两大类:整数类型和浮点数类型。
Oracle 数字类型的分类1.整数类型:包括 NUMBER、INTEGER、SMALLINT、TINYINT 等。
2.浮点数类型:包括 REAL、FLOAT 等。
Oracle 数字类型的特点和应用场景1.NUMBER 类型:是最常用的数字类型,它可以存储整数和浮点数,其范围为 -2147483648 到 2147483647。
NUMBER 类型通常用于存储金额、年龄等数值数据。
2.INTEGER 类型:是一种整数类型,其范围为 -2147483648 到2147483647。
INTEGER 类型通常用于存储整数数据,如学生人数、商品数量等。
3.SMALLINT 类型:是一种较小的整数类型,其范围为 -32768 到32767。
SMALLINT 类型通常用于存储较小的整数数据,如订单状态等。
4.TINYINT 类型:是一种更小的整数类型,其范围为 0 到 255。
TINYINT 类型通常用于存储开关、性别等仅有两种状态的数据。
5.REAL 类型:是一种浮点数类型,其范围为 -1.4E-45359 到3.4028235E38,有效位数为 11 位。
REAL 类型通常用于存储具有小数部分的数值数据,如身高、体重等。
6.FLOAT 类型:与 REAL 类型类似,不同之处在于其有效位数为 6-14 位,范围更广。
FLOAT 类型通常用于存储精度要求不高的浮点数数据。
Oracle 数字类型的使用注意事项1.在创建表时,应根据实际需求选择合适的数字类型,以节省存储空间和提高查询效率。
MySQL与Oracle语法对比
MySQL与Oracle语法比较之基本语法(三)
MySQL中INT主键可自增长,在建表时指定主键自增长即可;Oracle则 需使用序列 MySQL里可以用双引号包起字符串,Oracle里只可以用单引号包起字
符串
MySQL中使用ALTER TABLE old_name RENAME new_name更改表 名;Oracle中使用RENAME old_name TO new_name
Oracle中有DATE,包含年月日时分秒信息;MySQL中有
DATE/TIME/DATETIME
MySQL与Oracle语法比较之基本语法(一)
-- Oracle SELECT a.* FROM t_test_a a, t_test_b b WHERE a.id = b.id(+); -- MySQL SELECT a.* FROM t_test_a a LEFT JOIN t_test_b b ON a.id = b.id;
MySQL与Oracle语法比较之条件循环语句
Oracle和MySQL中的IF语句使用起来完全相同,除了ELSIF/ELSEIF关 键字有一个单词的差别之外 Oracle 使用FOR…LOOP…END LOOP结构实现FOR循环;MySQL中
使用label:LOOP…END LOOP
Oracle中使用WHILE expression LOOP…END LOOP结构实现WHILE 循环;MySQL中使用WHILE expression DO…END WHILE Mysql -- IF 语句 IF SCORE >=0 AND SCORE < 60 THEN '不及格' ELSEIF SCORE >= 60 AND SCORE < 80 THEN '合格' ELSEIF SCORE >= 80 AND SCORE < 90 THEN '良好' ELSE '优秀' END IF;
