oracle中用"模式名.表名",相当于mysql中的"数据库名.表名"。
mysql中可以使用单引号、双引号、反引号,如果表名或字段名可能与系统关键字相同,为了避免歧义,需要用反引号标识。
oracle中不能使用反引号标识表名或字段名。可以使用单引号或双引号,当使用双引号时,则严格区分大小写,否则oracl都默认转换为大写。
mysql:
CREATE TABLE database_name.`table_name` (姓名 varchar(255),年龄 int(255),日期 datetime)oracle:
CREATE TABLE schema_name."table_name" (姓名 varchar(255),年龄 number,日期 date)如果表存在则删除该表。 mysql:
DROP TABLE IF EXISTS database_name.`table_name`oracle中没有DROP TABLE IF EXISTS,只能间接实现
BEGIN EXECUTE IMMEDIATE 'DROP TABLE schema_name."table_name"'; EXCEPTION WHEN OTHERS THEN NULL; END;mysql:
ALTER TABLE database_name.`table_name` ADD new_fields int comment '注释'oracle:
ALTER TABLE schema_name."table_name" ADD "new_fields" number; -- 给表添加注释 COMMENT ON TABLE schema_name."table_name" IS '表注释'; -- 给字段添加注释 COMMENT ON COLUMN schema_name."table_name"."姓名" IS '字段注释';mysql:
ALTER TABLE database_name.`table_name` DROP COLUMN 年龄oracle:
-- 以下两种都可以 ALTER TABLE schema_name."table_name" DROP(年龄); ALTER TABLE schema_name."table_name" DROP COLUMN "年龄";mysql:
ALTER TABLE database_name.`table_name` CHANGE COLUMN old_name new_name varchar(255)oracle:
ALTER TABLE schema_name."table_name" rename column "old_name" to "new_name"mysql:
ALTER TABLE database_name.`table_name` MODIFY COLUMN `年龄` VARCHAR(10)oracle: 当表为空时,可以直接修改字段类型
ALTER TABLE schema_name."table_name" MODIFY ("年龄" varchar2(10))如果表不为空,只能间接修改字段类型:修改原字段名,新增目标类型的字段,复制原字段值,删除原字段
ALTER TABLE schema_name."table_name" rename column "年龄" to "tmp_name"; ALTER TABLE schema_name."table_name" add "年龄" varchar2(10); UPDATE schema_name."table_name" SET "年龄"=TRIM("tmp_name"); ALTER TABLE schema_name."table_name" DROP("tmp_name");mysql:
INSERT INTO database_name.`table_name` VALUES ('A', 14, '2017-11-15 00:00:00')oracle:
INSERT INTO schema_name."table_name" VALUES ('A', 14, to_date('2017-11-15 00:00:00' , 'yyyy-mm-dd hh24:mi:ss'))mysql:
DELETE FROM database_name.`table_name` WHERE `年龄`=5oracle:
DELETE FROM schema_name."table_name" WHERE "年龄"=5mysql:
UPDATE database_name.`table_name` SET `姓名`="B" WHERE `姓名`="A"oracle:
UPDATE schema_name."table_name" SET "姓名"="B" WHERE "姓名"="A"mysql:
SELECT * FROM database_name.`table_name`oracle:
SELECT * FROM schema_name."table_name"