当前位置:首页>开发>正文

mysql建表语句转oracle mysql语句改成Oracle语句

2023-04-10 23:38:10 互联网 未知 开发

mysql建表语句转oracle mysql语句改成Oracle语句

mysql语句改成Oracle语句

如果单是SQL语句改的话,则这样:

("SELECT kh FROM customer WHERE kh LIKE $queryString% LIMIT 10"

--------------->

("SELECT kh FROM customer WHERE kh LIKE $queryString% and rownum<11"

将mysql语句show tables转化为oracle语句怎么写

返回所有表
select table_name from all_tables
返回当前用户的所有表(1)
select table_name from user_tables
返回当前用户的所有表(2)
select table_name from tabs

程序实现数据从mysql转到oracle

不懂c,我提供个思路给你
先通过 c程序调用mysql指令,导出mysql表中的数据到一个文件中,
select * into outfile ’/home/mysql/data.txt’
FIELDS TERMINATED BY ’,
lines ESCAPED BY ’
from tbname
------------------------------------------------------------把mysql表导到data.txt文件中,列与列之间用逗号分开,行与行之间用 分割

接下来你需要通过c去解析文件,把文件的内容解析成一行行的insert into tbname values语句,values就是列的值,一行一个insert语句,最后c去调用这些sql语句在oracle中执行就可以,
思路就是这样,因为不了解c和oracle,所以,一些细节需要你去考虑

这段mysql的sql语句的意思是什么?转成oracle该怎么写?

这是一个建表语句
create table message ( )  --这行是建表语句的固定模式,下面括号里面是字段,字段类型,字段大小等,如:
`id` int(11) NOT NULL auto_increment    --字段名为id,int型的,长度为11,非空(not null,就是每条数据的该字段必须有值)自增(auto_increment)
再比如  :  `topic` varchar(255) default NULL,    这里的default null 是指定默认值为null,就是说,当插入数据时,如果这里没有给定值,他就默认为null
PRIMARY KEY (`id`)   这条语句是设定主键的,如果要加主键,那么就不能省略
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1
下面这这句是一些参数说明,引擎为MyISAM ,自增步长为6,默认字符集为:latin1.
在Oracle中,这句里面只有步长是需要设置的(后面讲,借助序列),别的不用管的,字符集是在建库时候设置的。
-------------------------------------------------------------
Oracle对应的应该是:
------------------------------------------------------
需要注意的是Oracle不能在建表时候设置自增,需要借助序列和触发器
----------------------
1. 建表语句
CREATE TABLE message (
id int primary key NOT NULL,
topic varchar(255) default NULL,
content varchar(4000),
dates date default NULL,
type varchar(255) default NULL
)
-----------------------------------建表结束
-----增加序列--------------
create sequence seq_message
start with 1   --从1开始
increment by 6 --每次增加1,步长
nomaxvalue --不设置最大值
nocycle --一直累加,不循环
cache 10 --设置缓冲大小
--------------------------------------序列创建完毕
--------创建触发器------在往表中插入数据时候,自动调用系列
 create or replace trigger tri_message
 before insert on message
 for each row
 begin
 select seq_message.nextval into :new.id from dual
 end
 ------------------------------完成任务
 下面测试下id是不是自增的:
 
 insert into message(topic) values(aaa)
 select * from message

最新文章