mysql和oracle都是关系型数据库
    mysql默认端口:3306,默认用户root
    oracle默认端口1521,默认用户system
    数据库中表字段的类型:
    oracle:number(数值型),varchar2,varchar,char (字符型),date 日期型等
    mysql:int,float,double等数值型,varchar,char字符型,date,datetime,time,year,timestamp等日期型。
    其中char(2)这样定义,这个单位在oracle中2代表两个字节,mysql中代表两个字符。
    其中varchar在mysql中 必须给长度例如varchar(10) 不然插入的时候出错。
    主键递增操作:
    oracle:可以借助序列
    mysql:利用自增 auto_increment
    单表sql语法:
    (a)创建表:
    oracle:
    create table t_student(
    sid int primary key ,
    sname varchar(1) not null ,
    enterdate date,
    gender char(1),
    mail unique, —-唯一约束
    age number check (age>19 and age<30) -----检查约束
    )
    mysql:
    create table t_student(
    sid int primary key auto_increment,
    sname varchar(1) not null ,
    enterdate date,
    gender char(1),
    age int check (age>18 and age<40), ---检查约束,虽然语法可以通过,但是不好使
    mail varchar(10) UNIQUE —- 唯一约束
    )
    (b)插入数据:
    oracle:
    insert into myuser values (序列名字.nextval,’nana’,’123’,’男’,to_date(‘1990-3-4’,’YYYY-MM-DD’))
    mysql:
    (0)正确写法:null 自增
    (1)日期不同 可以直接添加:’1990-3-4’
    (2)单位(1)代表一个字符,字母汉字都是一个字符! 性别 char(2) 代表 两个字符 :a一个字符 男 一个字符
    (3)日期没有sysdate , 要是:sysdate() now() 错误 没有to_date函数 insert into myuser values (NULL,’nana’,’123’,’男’,to_date(‘1990-3-4’,’YYYY-MM-DD’))
    (4)可以多条数据一起添加
    (5)非空约束,唯一约束,主键约束,都可以,但是 检查约束不好使
    下面语法都是可以的:
    insert into t_student values (NULL,’a’,’1990-3-4’,’a’)
    insert into myuser values (NULL,’nana’,’123’,’男’,’1990-3-4’)
    insert into myuser values (NULL,’nana’,’123’,’男’,’1990/3/4’)
    insert into myuser values (NULL,’nana’,’123’,’男’,sysdate())
    insert into myuser values (NULL,’nana’,’123’,’男’,now())
    insert into myuser values (NULL,’nana’,’123’,’男’,sysdate()),(NULL,’nana’,’123’,’男’,sysdate())
    (c)删除表
    (1)删除表:这里不同
    oracle: delete from myuser ; —-from 可有可无
    mysql: delete from myuser; —-必须有from
    (2)删除整个表:oracle,mysql一样
    drop table myuser ;
    (3)只删除数据 不删除表 :oracle,mysql一样
    truncate table myuser ;
    多表sql语法:
    (1)oracle:创建学生表,班级表,添加外键关联:
    —创建学生表:
    create table t_student(
    sid number primary key ,
    sname varchar2(10),
    gender char(3),
    classid number
    )
    —创建班级表:
    create table t_class(
    cid number primary key,
    cname varchar(10)
    )
    ——学生表添加数据:
    insert into t_student values (seq_emp.nextval,’lili’,’男’,1);
    insert into t_student values (seq_emp.nextval,’nana’,’男’,2);
    insert into t_student values (seq_emp.nextval,’feifei’,’男’,3);
    —-班级表添加数据:
    insert into t_class values (1,’java01’);
    insert into t_class values (2,’java02’);
    —添加学生表的外键约束:
    alter table t_student add constraints fk_student foreign key (classid) references t_class (cid)on delete cascade;
    (2)mysql创建学生表,班级表,添加外键关联:
    ##创建学生表:
    create table t_student(
    sid int primary key auto_increment,
    sname varchar(10),
    gender char(3),
    classid int
    )
    ##创建班级表:
    create table t_class(
    cid int primary key,
    cname varchar(10)
    )
    ##学生表添加数据:
    insert into t_student values (null,’lili’,’男’,1);
    insert into t_student values (null,’nana’,’男’,2);
    ##班级表添加数据:
    insert into t_class values (1,’java01’);
    insert into t_class values (2,’java02’);
    ##添加学生表的外键约束:
    alter table t_student add constraint fk_student foreign key (classid) references t_class (cid) on delete set null on update CASCADE;
    注意哪里不同:
    创建语法不同
    外键约束:oracle是constraints,mysql是constraint
    级联操作:
    oracle:on delete set null 或者on delete cascade
    mysql : on delete set null on update CASCADE
    更改班级表的主键的时候,学生表外键的值也随之更改
    删除班级表的主键记录的时候,学生表外键的值置空
    11.外连接:
    oracle:92语法:可以内连接,外连接
    99语法:可以内连接,外连接,全外连接
    mysql:只支持 内连接,外连接 ,并且只能用类似oracle中99语法的格式写:
    select from t_class c,t_student s where c.cid(+)=s.classid; (不可以出错)
    select
    from t_class c right join t_student s on c.cid=s.classid;(只能这样写)
    12.分页:
    (1)oracle分页复杂:
    第2页:6-10条记录
    select from
    (select rownum rr,a.
    from (select from emp order by sal) a ) where rr>5 and rr<=10;
    (2)mysql分页简单一句话:
    select
    from help_category order by parent_category_id limit 10,5
    10,5含义:
    记录从0开始,所以其实10代表的是第11条记录,从第11条记录开始,取5个数据