oracle学习笔记(7)

2019-03-22 09:36

HIREDATE DATE CONSTRAINT EMPLYEE_HIREDATE_GH NOT NULL--全写,自己定义名字 )

DESC EMPLYEE_GH

****添加非空约束,必须在修改该列的情况下添加 ALTER TABLE EMPLYEE_GH

MODIFY (ID NUMBER(6) NOT NULL)

****唯一性约束 uk null除外

可以进行列级约束或表及约束(就是写完所有列,最后增加), CREATE TABLE EMPLYEE11( EID NUMBER (6) UNIQUE, NAME VARCHAR2(30), EMAIL VARCHAR2(50), SALARY NUMBER(7,2), HIREDATE DATE,

CONSTRAINT EMPLY1_EMAIL_UK UNIQUE(EMAIL) )

DESC EMPLYEE11

INSERT INTO EMPLYEE11(EID,NAME,EMAIL) VALUES(1,'SB','SB.QOM')

插入失败,因为id,email具有唯一性,null除外 INSERT INTO EMPLYEE1(EID,NAME,EMAIL) VALUES(1,'SB','SB.QOM')

INSERT INTO EMPLYEE11(EID,NAME,EMAIL) VALUES(NULL,'SB',NULL)

SELECT * FROM EMPLYEE11

***添加非空约束(表及约束),如果表上有相同的值,就不能添加唯一性约束 ALTER TABLE EMPLYEE11

ADD CONSTRAINT EMPLYEE11_NAME_UK UNIQUE(NAME)

*****主键约束 PRIMARY KEY

**用于唯一标示用的一列,一个表中只有一个主键, ** 就是唯一约束,非空约束的结合 CREATE TABLE EMPLYEE22( EID NUMBER(6) PRIMARY KEY, NAME VARCHAR2(30), EMAIL VARCHAR2(50), salary NUMBER(7,2), HIREDATE DATE )

DESC EMPLYEE22

***每一次插入数据,主键必须添加

INSERT INTO EMPLYEE22(NAME) VALUES('SB')

****一个表的外键,就是关联表的另一张的主键 ALTER TABLE EMPLYEE22

ADD CONSTRAINT EMPLYEE22_SAL_CHECK CHECK(SALARY>2000)

INSERT INTO EMPLYEE22(EID,NAME,SALARY) VALUES(1500,'SB',1000)

INSERT INTO EMPLYEE22(EID,NAME,SALARY) VALUES(1500,'SB',NULL)--不得行 SELECT * FROM EMPLYEE22 *************test

1:创建一个视图,包含20号部门的员工信息,字段:empno,ename,sal,JOB,deptno CREATE VIEW V_EMP_GH_20 AS

SELECT EMPNO,SAL,JOB,DEPTNO FROM EMP_GH WHERE DEPTNO=20

DROP VIEW V_EMP_GH_20

2:创建一个序列seq_emp_no,从10开始,步进为10 CREATE SEQUENCE SEQ_EMP_NO_GH START WITH 10 INCREMENT BY 10

SELECT SEQ_EMP_NO_GH.NEXTVAL FROM DUAL SELECT SEQ_EMP_NO_GH.CURRVAL FROM DUAL DROP SEQUENCE SEQ_EMP_NO_GH

3:编写SQL语句查看seq_emp_no序列的下一个数字

4:编写SQL语句查看seq_emp_no序列的当前数字 5:为emp表的ename字段添加索引:idx_emp_ename CREATE INDEX IDX_EMP_ENAME ON EMP(ENAME)

6:为emp表的LOWER(ename)字段添加索引:idx_emp_lower_ename CREATE INDEX IDFNHSI ON EMP(UPPER(ENAME)) DROP INDEX IDX_EMP_ENAME

7:为emp表的sal,comm添加多列索引

CREATE INDEX IDX_EMP_SAL_COMM ON EMP_GH(SAL,COMM) 8:创建myemployee表,字段: id NUMBER(4) , nameVARCHAR2(20), birthday DATE,

telephone VARCHAR2(11) scoreNUMBER(9,2)

其中id作为主键,name要求不能为空,telephone需要唯一,score值必须>=0

CREATE TABLE MYEMPLYEE_GH( ID NUMBER(4) PRIMARY KEY, NAME VARCHAR2(20) not null, birthday DATE,

telephone VARCHAR2(11) UNIQUE, scroe number(9,2) check(scroe>=0) )

DESC myemplyee_gh

SELECT * FROM MYEMPLYEE_GH

INSERT INTO myemplyee_gh

VALUES(1,'sb',to_date('2015-1-5','YYYY-MM-DD'),'12025143925',53)

INSERT INTO myemplyee_gh(ID,NAME) VALUES(12,'SB')

INSERT INTO myemplyee_gh(ID,NAME,TELEPHONE,SCROE) VALUES(132,'NB','12025163925',-2)


oracle学习笔记(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:形势与政策

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: