Oracle转MySql常用

1.类型对比

oracle mysql

int


int


number(6,2)


decimal(6,2)


date (sysdate)


timestamp (now())

varchar2(20)
varchar(20)


2.常用函数

/* DATE_FORMAT(date,format) 根据format字符串格式化date值 */
select date_format(‘2013-09-21 14:01:20‘,‘%Y-%m-%d %H:%i:%s‘) from dual;
select case 2 when 1 then 1 when 2 then 2 else 0 end from dual;
select IFNULL(null,0) from dual;


3.分页

从第10条记录开始检索20条记录

select * from sys_option limit 10,20;
select * from table [查询条件] order by id limit ?,?;

以下语句是先排序后的分页(很好)

SELECT * FROM test_yutong ORDER BY ID DESC LIMIT 0,1;

order只能这么实现(没有mysql方便)

SELECT * FROM(SELECT * FROM TABLE_A ORDER BY ID DESC)B WHERE ROWNUM=1;

4.自定义序列函数(来源 http://www.oschina.net/code/snippet_110375_12231

/* CREATE TABLE Sequence */
DROP TABLE IF EXISTS Sequence;
CREATE TABLE Sequence
(
  name VARCHAR(32),
  maxIndex INTEGER,
  CONSTRAINT cst_Sequence_pk PRIMARY KEY (name, maxIndex)
);
/* FUNCTION nextval */
SET GLOBAL log_bin_trust_function_creators = 1;
DROP FUNCTION IF EXISTS nextval;
DELIMITER //
CREATE FUNCTION nextval(sequenceName VARCHAR(32))
  RETURNS INTEGER
  NOT DETERMINISTIC
  CONTAINS SQL
BEGIN
  DECLARE iMaxIndex INTEGER;
  UPDATE Sequence SET maxIndex = maxIndex + 1 WHERE name = sequenceName;
  SELECT maxIndex INTO iMaxIndex
    FROM Sequence WHERE name = sequenceName;
  RETURN iMaxIndex;
END
//
DELIMITER ;
/* 测试例子 */
INSERT INTO Sequence(NAME,maxIndex)VALUES(‘CK10_GHDJ‘,1);
SELECT nextval(‘CK10_GHDJ‘)FROM DUAL;
SELECT * FROM Sequence;
时间: 2024-12-26 19:05:37

Oracle转MySql常用的相关文章

Mysql常用基本命令汇总及默认账户权限与修改

一直只是在浅显利用数据库存储数据,也被windows惯坏了,很多命令使用的时候记不起来,so,换LINUX系统!不再使用GUI管理数据库!也想深入学习下Mysql,从权限管理开始!也就诞生了这篇学习笔记. 修改默认密码 Mysql新安装时默认root密码为空,极不安全!建议安装过后马上就修改.附修改方法: mysqladmin -u root -p password 接下来按提示输入新密码即可! 命令详解: mysqladmin -u root -p[oldpass] password newp

Mysql常用DDL命令

Mysql常用命令:--在Mysql中,语句的结尾要么使用;要么使用\g或者\G作为结束符.进入Mysql (---其中Your MySQL connection id is 5表示到当前为止连接到Mysql数据库的次数,Server version: 5.5.37-log Source distribution表示Mysql数据库的版本)[[email protected] data]$ mysql -uroot -pEnter password:Welcome to the MySQL mo

mysql常用命令学习

1.\c取消当前准备执行的sql语句. mysql> select user,host,password from mysql.user;\c +--------+-----------+----------+ | user   | host      | password | +--------+-----------+----------+ | root   | localhost |          | | root   | mytest2   |          | | root  

mysql 常用查询(一)

-- 1:case when --SELECT     CASE     WHEN (admin_id IS NULL) THEN '无创建人'    WHEN (admin_id = 0) THEN '管理员'    ELSE admin_id     END AS admin_idFROM hsb_investor-- 2:if else 是不能在select 语句中使用的.只能用来控制sql程序的流程.像你这种情况只能用case的.或者采用以下的方式SELECT IF(admin_id=0

mysql常用的hint

--mysql常用的hint -------------------2014/06/26 对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法.同样,在mysql里,也有类似的hint功能.下面介绍一些常用的. 强制索引 FORCE INDEX      SELECT * FROM TABLE1 FORCE INDEX (FIELD1) …    以上的SQL语句只使用建立在FIELD1上的索引,而不使用其它字段上的索引. 忽略索引 IGN

数据库oracle与mysql在语法上的区别

转自http://blog.csdn.net/huanghm88/article/details/8009048 数据库oracle与mysql在语法上的区别不是很多,但是也有一些.下面是部分参考: 1,oracle没有offet,limit,在mysql中我们用它们来控制显示的行数,最多的是分页了.oracle要分页的话,要换成rownum. 2,oracle建表时,没有auto_increment,所有要想让表的一个字段自增,要自己添加序列,插入时,把序列的值,插入进去. 3,oracle有

MySQL更改root密码、连接MySQL、MySQL常用命令介绍

更改MySQL数据库root密码 1. 首次进入数据库是不用密码的,如下所示: [[email protected] ~]# /usr/local/mysql/bin/mysql -uroot //使用绝对路径进入mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.6.35 MySQL Community Server (GPL

2018-3-22 13周4次课 MySQL常用操作(上)

13.1 设置更改root密码 默认MySQL密码为空 [[email protected] ~]# mysql -uroot -bash: mysql: 未找到命令 [[email protected] ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin [[email protected] ~]# export PATH=$PATH:/usr/local/mysql/bin/ [[email p

五十二、设置更改root密码、连接MySQL、MYSQL常用命令

一.设置更改root密码 root用户是MySQL的超级管理员用户,这个root和系统的root并不是一个用户,需要区分开,也可以创建普通用户来连接MySQL. 默认的MySQL的root用户密码是空的,可以直接连接上. # ps aux |grep mysql          先检查mysql有没有打开 # /etc/init.d/mysqld start # mysql -uroot -bash: mysql: 未找到命令 因为mysql这个命令没有在环境变量中,所以这个命令不能直接使用.