创建表
----------------------oracle--------------------------------------
--先检查这个表存不存在。不存在就可以创建,存在就要先drop这个表,或者为表改个名字
create table t_student(
s_id number primary key,
s_name varchar2(30),
s_gender varchar(2),
s_birthday date
);
----------------------mysql--------------------------------------
create table t_student(
s_id int primary key AUTO_INCREMENT,
s_name varchar(30),
s_gender varchar(2),
s_birthday datetime
);
oracle创建序列,用于自增长
create sequence seq_t_student
minvalue 1
maxvalue 9999999
start with 1
increment by 1
cache 50;
插入一条数据
-----------------------------------oracle------------------
insert into t_student(s_id,s_name,s_gender,s_birthday) values
(seq_t_student.nextval,'张三','男',to_date('1998-1-23','YYYY-mm-dd'));
insert into t_student(s_id,s_name,s_gender,s_birthday) values
(seq_t_student.nextval,'赵云','男',to_date('2015-1-30 12:20:33','YYYY-MM-DD HH24:MI:SS'))
--插入数据库当前时间
insert into t_student(s_id,s_name,s_gender,s_birthday) values
(seq_t_student.nextval,'王五','男', sysdate);
-----------------------------mysql------------------
insert into t_student(s_name,s_gender,s_birthday) values('张三','男',sysdate())
insert into t_student(s_name,s_gender,s_birthday) values('张三','男','1998-1-1')
这是mysql的截图
mysql的date类型和datetime类型
date类型只有年月日
datatime有年月日,时分秒
mysql没有varchar2只有varchar.
mysql也没有number,可以用int
总结
1.oracle用varchar2和number,mysql用varchar,int
2.oracle用自增长序列,mysql用自增长字段
3.oracle中date可以表示年月日时分秒,mysql用datetime表示
4.oracle中sysdate关键字,mysql中有sysdate()函数
5.oracle支持事务,mysql不支持
6.在oracle中select sno,count(cno) from t_grade会报错,一定要加group by sno
在mysql中select sno ,count(cno) from t_grade不会报错,不过也不会得到我们想要的答案
7.在oracle中分页用rownum,mysql中用limit(例如:limit 3,7 代表4到第10条数据)