oracle,sqlserver,MySQL数据库语句对照表

-- 创建表语句
ORACLE:
create table _table_name(
column1 varchar2(10) primary key,
column2 number(5) not null,
memo varchar2(100)
);
comment on column _table_name.column1
is '这是column1的注释';
SQLSERVER:
create table _table_name(
column1 varchar(10) primary key,
column2 int not null,
memo varchar(100)
);
MYSQL:
create table `_table_name`
(
`column1` VARCHAR(32) primary key COMMENT '注释',
`column2` VARCHAR(30) not null COMMENT '注释',
PRIMARY KEY (`column1`) -- 主键定义也可放在此处
)ENGINE=InnoDB DEFAULT CHARSET=gbk;

-- 修改字段语句
ORACLE:
alter table _table_name add/modify column_name varchar2(505);
alter table _table_name drop column column_name;
SQLSERVER:
alter table _table_name add column_name VARCHAR(20);
alter table _table_name alter column column_name varchar(2000);
alter table _table_name drop column column_name;
MYSQL:
alter table _table_name add/modify column column_name varchar(2000);
alter table _table_name drop `column_name`;

-- 创建删除索引语句,索引只能删除重建,不能修改
ORACLE:
-- 主键索引
alter table _table_name add constraint index_name primary key (column_name) using index tablespace URMSPK;
-- 普通列索引
create index index_name$cl2 on _table_name (column1_name,column2_name DESC) tablespace URMSIDX;
-- 删除索引
drop index index_name;
SQLSERVER:
-- 主键索引
Alter table _table_name add primary key(column_name);
alter table _table_name add constraint index_name primary key CLUSTERED (column_name)
WITH (
PAD_INDEX = OFF,
IGNORE_DUP_KEY = OFF,
STATISTICS_NORECOMPUTE = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON)
ON URMSPK
go

-- 普通列索引 ,非唯一索引需要去掉 UNIQUE NONCLUSTERED 关键字
CREATE UNIQUE NONCLUSTERED INDEX [index_name] ON [_table_name]
([ORGRANGE], [SHOWORDER] DESC)
WITH (
PAD_INDEX = OFF,
IGNORE_DUP_KEY = OFF,
DROP_EXISTING = OFF,
STATISTICS_NORECOMPUTE = OFF,
SORT_IN_TEMPDB = OFF,
ONLINE = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON)
ON [URMSIDX]
GO
-- 删除索引
drop index _table_name.idxname;
MYSQL:
-- 普通索引
ALTER TABLE _table_name ADD INDEX index_name (APPID, CREATEDATE DESC);
-- 唯一索引
ALTER TABLE _table_name ADD UNIQUE index_name (column_list);
-- 主键索引
ALTER TABLE _table_name ADD PRIMARY KEY index_name (column_list);
 

-- 删除索引
alter table _table_name drop index index_name;

 

-- 插入语句
ORACLE:
insert into _table_name (column_list) values ('value_list');
SQLSERVER:
insert into _table_name (column_list) values ('value_list');
MYSQL:
insert into UMFRAMESET (`column_list`) values ('value_list'),('value_list2');-- 可以插入多条记录

-- 修改表名
ORACLE:
alter table leave rename to Leave01;
SQLSERVER:
EXEC sp_rename leave,leave01;
MYSQL:
alter table `leave` RENAME to `leave01`;
-- 删除表语句
ORACLE:
drop table table_name;
SQLSERVER:
drop table table_name;
MYSQL:
drop table table_name
-- 删除所有表的语句
SQLSERVER:
exec sp_msforeachtable 'drop table ?';
-- 修改列名
SQLSERVER:
EXEC sp_rename '表名.列名','新列名','column';
-- 删除记录
ORACLE:
delete (from) tablename where _column_name=?;

时间: 2024-09-11 16:08:12

oracle,sqlserver,MySQL数据库语句对照表的相关文章

从SQLSERVER/MYSQL数据库中随机取一条或者N条记录

原文:从SQLSERVER/MYSQL数据库中随机取一条或者N条记录 从SQLSERVER/MYSQL数据库中随机取一条或者N条记录 很多人都知道使用rand()函数但是怎麽使用可能不是每个人都知道 建立测试表 USE [sss] GO CREATE TABLE RANDTEST(ID INT DEFAULT RAND()*100,NAME NVARCHAR(200) DEFAULT 'nihao') GO CREATE INDEX IX_RANDTEST_ID ON RANDTEST(ID)

MySQL5.7.14下载安装图文教程及MySQL数据库语句入门大全_Mysql

如何下载: 我先去MySQL首页下载最新版本的MySQL-链接:https://www.mysql.com/downloads/ 进入此界面下载: Downloads–>MySQL Community Edition (GPL)(这是免费版的,当然,有钱的可以用收费的,功能更强大)–>MySQL Community Server (GPL) –>选择对应的系统和电脑版本(在这里,我选择的是Window系统64位的下载) –>No thanks, just start my down

oracle迁移mysql数据库注意(转)

oracle转mysql修改: 1. substr() substr( string , 0, 10) 这里测试 必须从 第一位获取 既是 substr(string , 1 , 10)2. to_char() 只能用做oracle的函数,兼容oracle和mysql故 改为concat( - , ''); 这里 使用了两个, 一个 是将类似 int 转为 string 3. select * from (select * from table2) 这里 要加别名4. nvl函数 被改为 cas

MySQL5.7.14-下载安装教程-->MySQL数据库语句详细教程

如何下载: 我先去MySQL首页下载最新版本的MySQL-链接:https://www.mysql.com/downloads/ 进入此界面下载: Downloads–>MySQL Community Edition (GPL)(这是免费版的,当然,有钱的可以用收费的,功能更强大)–>MySQL Community Server (GPL) –>选择对应的系统和电脑版本(在这里,我选择的是Window系统64位的下载) –>No thanks, just start my down

SQL获取第一条记录的方法(sqlserver、oracle、mysql数据库)_MsSql

Sqlserver 获取每组中的第一条记录 在日常生活方面,我们经常需要记录一些操作,类似于日志的操作,最后的记录才是有效数据,而且可能它们属于不同的方面.功能下面,从数据库的术语来说,就是查找出每组中的一条数据.下面我们要实现的就是在sqlserver中实现从每组中取出第一条数据. 例子 我们要从上面获得的有效数据为: 对应的sql语句如下所示: select * from t1 t where id = (select top 1 id from t1 where grp = t.grp o

SQL获取第一条记录的方法(sqlserver、oracle、mysql数据库)

Sqlserver 获取每组中的第一条记录 在日常生活方面,我们经常需要记录一些操作,类似于日志的操作,最后的记录才是有效数据,而且可能它们属于不同的方面.功能下面,从数据库的术语来说,就是查找出每组中的一条数据.下面我们要实现的就是在sqlserver中实现从每组中取出第一条数据. 例子 我们要从上面获得的有效数据为: 对应的sql语句如下所示: select * from t1 t where id = (select top 1 id from t1 where grp = t.grp o

SqlServer Mysql数据库修改自增列的值及相应问题的解决方案_MsSql

SQL Server 平台修改自增列值 由于之前处理过sql server数据库的迁移工作,尝试过其自增列值的变更,但是通过SQL 语句修改自增列值,是严格不允许的,直接报错(无法更新标识列 '自增列名称').sql server我测试是2008.2012和2014,都不允许变更自增列值,我相信SQL Server 2005+的环境均不允许变更字段列值. 如果非要在SQL Server 平台修改自增列值的,那就手动需要自增列属性,然后修改该列值,修改成功后再手动添加自增列属性.如果在生成环境修改

SqlServer Mysql数据库修改自增列的值及相应问题的解决方案

SQL Server 平台修改自增列值 由于之前处理过sql server数据库的迁移工作,尝试过其自增列值的变更,但是通过SQL 语句修改自增列值,是严格不允许的,直接报错(无法更新标识列 '自增列名称').sql server我测试是2008.2012和2014,都不允许变更自增列值,我相信SQL Server 2005+的环境均不允许变更字段列值. 如果非要在SQL Server 平台修改自增列值的,那就手动需要自增列属性,然后修改该列值,修改成功后再手动添加自增列属性.如果在生成环境修改

数据恢复:如何恢复Linux中意外删除的Oracle和MySQL数据库

张乐奕 云和恩墨副总经理,Oracle ACE总监,ACOUG 联合创始人 没有删除过数据库的DBA职业生涯是不完整的,删除过数据库还能幸存的DBA一定是订阅了"Oracle"公众号. 昨晚有朋友在微信群中求助讨论,误删除了一个MySQL的数据库,整个恢复过程和以下文章中提到的步骤完全相同,只要MySQL主进程还没有退出,从文件句柄中可以恢复文件最终挽回损失.类似的lsof找到那些被标记为Deleted的文件(以下是参考示意图). 让我们完整的再复习一下这篇文章的步骤,一定要记住这种方