Oracle

1.Oracle 与 MySQL的区别:

   1.Oracle是没有数据库的概念而Mysql是中小型数据库,

  2.Oracle支持大并发,大访问量,是OLTP最好的工具。

  3. Oracle 没有自动增长类型,

   4. 单引号的处理上; mysql  字符串可以用双引号,Oracle 只能用单引号包起字符串,在插入和修改字符串前必须做单引号的替换,把所有出现的单引号替换成双引号,

5. 在字符串的处理上有差别,具体查度娘;

6.模糊查询:MYSQL里用 字段名 like '%字符串%',ORACLE里也可以用 字段名 like '%字符串%' 但这种方法不能使用索引, 速度不快。

7.

  • 分页查询:

  这个应该是两者最明显的区别了,很多人都知道MySql中分页很简单,因为他有专门的关键字limit来实现分页查询;但是Oracle里面没有这种关键字来实现分页查询的,所以它实现起来就比MySql要繁琐得多了,在每个结果集中只有一个rownum字段标明它的位置,并且只能用rownum<=某个数,不能用rownum>=某个数,因为ROWNUM是伪列,在使用时所以需要为ROWNUM取一个别名,变成逻辑列,然后来操作。

二,

       主键:

   1. 语句创建主键;

a. 单个 主键;———— 格式: alter table 表名  add constraint  约束名  paimary  key (字段名);

例:

//*创建主键*/
alter table student add constraint pk_student primary key(sno);

b. 多个主键: -----格式: alter table 表名  add constraint  约束名  paimary  key (字段名,字段名);

例2.:

/*创建多个主键*/
alter table student add constraint pk_student primary key(sno, sclass);

删除主键:———— 格式: alter table 表名  drop constraint  约束名:

例3:

/* 删除主键*/
alter table student drop constraint pk_student;

约束:

1. 建表时创建检查约束:check

 

例:

CREATE   TABLE BOOKINFO
(
    BOOKID    NUMBER,
    BOOKNAME   VARCHAR2(20),
    PUBDATE    VARCHAR2(20),
    PRICE         NUMBER(6,3),
    STORE      VARCHAR2(1),
    CONSTRAINT    CK_PRICE    CHECK(PRICE>=10 AND PRICE <= 100)
);

   2.在现有的表中添加检查约束:格式:alter table 表名 add  constraint  约束名  check(约束字段名 范围 and  约束字段名范围)

例:

alter table BOOKINFO add CONSTRAINT CK_PRICE CHECK(PRICE>=10 AND PRICE <= 100)

3.非空约束:

1..创建表时直接创建非空约束:————》;直接在要非空的字段 的后面加上: Not null;

2.. 在表中添加非空约束:

例:

alter table BOOKINFO add CONSTRAINT    CK_PRICE    CHECK(BOOKID IS NOT NULL)

 

4.唯一约束:

unique 唯一约束,值不能重复(空值除外);

电话不重复

create table person(
	pid number primary key,
	name varchar2(20),
	tel varchar2(20) unique
);
insert into person(pid,name,tel) values(1,'zhangsan','1234567890');--成功插入
insert into person(pid,name,tel) values(2,'lisi','1234567890');--电话重复,操作失败

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值