您的位置:首页 > 数据库 > Oracle

【初识Oracle】④数据库对表格数据进行操作(含三张练习用表)

2014-08-08 16:20 501 查看
--创建一张空表
CREATE TABLE department(
deptNo NUMBER(2) NOT NULL,
deptName VARCHAR2(20) NOT NULL,
LOCATION VARCHAR(20) DEFAULT '青岛'
);
--创建表同时,填充数据
CREATE TABLE emp_new(NAME,job,salary,hiredate)
AS
SELECT ename,job,sal,hiredate FROM emp WHERE deptno=30;

--给表重命名
RENAME emp_new TO emp_new_test;

--对表进行修改
ALTER TABLE department
--为表添加字段
ALTER TABLE department ADD(info VARCHAR2(400));
--修改表中的字段
ALTER TABLE department MODIFY(info VARCHAR2(800));
--删除表中的字段
ALTER TABLE department DROP(info);

--给表添加注释
COMMENT ON TABLE department IS '部门信息表';
--给表中的列添加注释
COMMENT ON COLUMN department.location IS '部门所在地';

SELECT * FROM emp_new_test;
DELETE  FROM emp_new_test ;
TRUNCATE TABLE emp_new_test;
DROP TABLE emp_new_test CASCADE CONSTRAINTS;

--单索引
CREATE INDEX idx_deptno ON department(deptno);
--复合索引
CREATE INDEX idx_deptno_deptname ON department(deptno,deptname);
--唯一索引
CREATE UNIQUE INDEX idx_uq_deptname ON department(deptname);
--重建索引
ALTER INDEX idx_uq_deptname REBUILD;
--删除索引
DROP INDEX idx_uq_deptname;

--约束的类型:
--1.not null
--约束可以在创建表的时候
CREATE TABLE employee(
eno NUMBER(5) NOT NULL,
ename VARCHAR2(10) NOT NULL,
age NUMBER(2) NOT NULL,
phone VARCHAR2(16)
);

--修改表的时候
ALTER TABLE employee MODIFY phone NOT NULL;

--2.unique唯一
DROP TABLE employee;
CREATE TABLE employee(
eno NUMBER(5) NOT NULL,
ename VARCHAR2(10) NOT NULL UNIQUE,--1
age NUMBER(2) NOT NULL,
phone VARCHAR2(16)
);

DROP TABLE employee;
CREATE TABLE employee(
eno NUMBER(5) NOT NULL,
ename VARCHAR2(10) NOT NULL,
age NUMBER(2) NOT NULL,
phone VARCHAR2(16),
CONSTRAINT uq_phone UNIQUE(phone)  --2
);

ALTER TABLE employee ADD CONSTRAINT uq_phone UNIQUE(phone);--3

--3 primary key 主键

DROP TABLE employee;
CREATE TABLE employee(
eno NUMBER(5) NOT NULL PRIMARY KEY,--1
ename VARCHAR2(10) NOT NULL,
age NUMBER(2) NOT NULL,
phone VARCHAR2(16)
);

DROP TABLE employee;
CREATE TABLE employee(
eno NUMBER(5) NOT NULL,
ename VARCHAR2(10) NOT NULL,
age NUMBER(2) NOT NULL,
phone VARCHAR2(16),
CONSTRAINT pk_eno PRIMARY KEY (eno)--2
);

DROP TABLE employee;
CREATE TABLE employee(
eno NUMBER(5) NOT NULL ,
ename VARCHAR2(10) NOT NULL,
age NUMBER(2) NOT NULL,
phone VARCHAR2(16)
);
ALTER TABLE employee ADD CONSTRAINT pk_eno PRIMARY KEY (eno); --3

--4 foreign key 外键
DROP TABLE department;
CREATE TABLE department(
deptNo NUMBER(2) NOT NULL PRIMARY KEY,
deptName VARCHAR2(20) NOT NULL,
LOCATION VARCHAR(20) DEFAULT '青岛'
);

DROP TABLE employee;
CREATE TABLE employee(
eno NUMBER(5) NOT NULL ,
ename VARCHAR2(10) NOT NULL,
age NUMBER(2) NOT NULL,
phone VARCHAR2(16),
deptNo NUMBER(2) CONSTRAINT fk_department_deptno REFERENCES department(deptno) --1
);

DROP TABLE employee;
CREATE TABLE employee(
eno NUMBER(5) NOT NULL ,
ename VARCHAR2(10) NOT NULL,
age NUMBER(2) NOT NULL,
phone VARCHAR2(16),
deptNo NUMBER(2) ,
CONSTRAINT fk_department_deptno FOREIGN KEY(deptNo) REFERENCES department(deptno) --2
);

DROP TABLE employee;
CREATE TABLE employee(
eno NUMBER(5) NOT NULL ,
ename VARCHAR2(10) NOT NULL,
age NUMBER(2) NOT NULL,
phone VARCHAR2(16),
deptNo NUMBER(2)
);

ALTER TABLE employee ADD CONSTRAINT fk_department_deptno FOREIGN KEY(deptNo) REFERENCES department(deptno) --3

--check约束
DROP TABLE employee;
CREATE TABLE employee(
eno NUMBER(5) NOT NULL ,
ename VARCHAR2(10) NOT NULL,
age NUMBER(2) NOT NULL CHECK(age BETWEEN 18 AND 70),--1
phone VARCHAR2(16),
deptNo NUMBER(2)
);

--数据操作
DROP TABLE department;
CREATE TABLE department(
deptNo NUMBER(2) NOT NULL PRIMARY KEY,
deptName VARCHAR2(20) NOT NULL,
LOCATION VARCHAR(20) DEFAULT '青岛'
);

DROP TABLE employee;

--增加
INSERT INTO department VALUES(10,'市场一部','青岛');
INSERT INTO department(deptno,deptName) VALUES(20,'市场二部');
--修改
UPDATE employee SET salary=salary*1.1 WHERE hiredate<to_date('2012-1-1','yyyy-MM-dd');
UPDATE employee SET age=trunc(dbms_random.value(18,70)) WHERE deptno=30 ;
UPDATE employee SET age=DEFAULT WHERE ename='ALLEN';
--删除
DELETE FROM employee WHERE eno=7900;

COMMIT;
ROLLBACK;
三张表下载链接:emp,dept,salgrade
http://download.csdn.net/detail/u011668824/7731891
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐