应用场景128:创建临时表
创建一个保存临时选择商品信息的临时表temp_goods
CREATE GLOBAL TEMPORARY TABLE temp_goods
(GoodsId NUMBER,
GoodsNum NUMBER,
Price NUMBER)
ON COMMIT DELETE ROWS;
创建一个临时表空间
CREATE TEMPORARY TABLESPACE tbs_t1
TEMPFILE 'tbs_t1.f' SIZE 50m REUSE AUTOEXTEND ON
MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 64K;
在表空间tb_t1中创建temp_goods1;
CREATE GLOBAL TEMPORARY TABLE temp_goods1
(GoodsId NUMBER,
GoodsNum NUMBER,
Price NUMBER)
ON COMMIT DELETE ROWS
TABLESPACE tbs_t1;
应用场景129:查看表信息的系统视图
COL TABLE_NAME FORMAT A10
COL COLUMN_NAME FORMAT A10
COL DATA_TYPE FORMAT A10
SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, LAST_ANALYZED
FROM DBA_TAB_COLUMNS
WHERE TABLE_NAME = 'EMPLOYEES';
应用场景130:在Enterprise Manager中修改表
应用场景131使用DESC语句查看表结果
查看表employee结果的语句如下:
DESC SYSTEM.Employee
使用场景132:使用ALTER TABLE语句向表中添加列
ALTER TABLE SYSTEM.Departments ADD (Description VARCHAR2(1000));
应用场景133:使用ALTER TABLE语句修改列名
ALTER TABLE SYSTEM.Departments
RENAME COLUMN Description TO Descript;
应用场景134:使用ALTER TABLE语句删除队列
ALTER TABLE HRMAN.Departments
RENAME COLUMN Description TO Descript;
应用场景136:创建和验证主键约束
ALTER TABLE HRMAN.Departments ADD (Description varchar2(1000));
DESC HRMAN.Departments;
ALTER TABLE HRMAN.Departments
SET UNUSED (Description);
DESC HRMAN.Departments;
删除表中所有不可用列:
ALTER TABLE HRMAN.Departments
DROP UNUSED COLUMNS;
应用场景137:创建和验证非空约束
创建表user2并指定username列和userpwd列为非空约束
CREATE TABLE HRMAN.Users2
(UserId NUMBER,
UserName VARCHAR2(40) NOT NULL,
UserPwd VARCHAR2(40) NOT NULL,
CONSTRAINT PK_USERID PRIMARY KEY(UserId)
);
将约束中的username列设置为 not null
ALTER TABLE HRMAN.Users MODIFY UserName NOT NULL;
使用下面的语句可以将列设置为空:
ALTER TABLE HRMAN.Users MODIFY UserName NULL;
向表user2中插入数据器username值为null:
INSERT INTO HRMAN.Users2 (UserId, UserPwd) VALUES(1,'123456');
应用场景138:创建验证唯一约束
在uername上建立唯一约束:
CREATE TABLE Users3
(UserId Number Primary Key,
UserName Varchar2(40) NOT NULL UNIQUE,
UserPwd Varchar2(40) NOT NULL
);
创建user4,其结构与表user完全相同:
CREATE TABLE HRMAN.Users4
(UserId NUMBER PRIMARY KEY,
UserName VRCHAR2(40),
UserPwd VARCHAR2(40),
CONSTRAINT UK_USERNAME UNIQUE(UserName)
);
将表user的username列设置唯一约束:
ALTER TABLE HRMAN. Users
ADD CONSTRAINT UK_USERNAME1
UNIQUE(UserName);
使用insert向表user中插入两条记录使他们列值是重复的:username=test-》
INSERT INTO HRMAN.Users VALUES(100, 'test', 'test');
INSERT INTO HRMAN.Users VALUES(101, 'test', '1234');
应用场景139:创建验证检查约束
在username列上定义检查约束:
CREATE TABLE HRMAN.Users5
(UserId number PRIMARY KEY,
UserName varchar2(40),
UserPwd varchar2(40)
CONSTRAINT CK_USERPWD CHECK(LENGTH(UserPwd)>=6)
);
使用alter创建检查约束:
ALTER TABLE HRMAN. Users
ADD CONSTRAINT CK_USERPWD1 CHECK(LENGTH(UserPwd)>=6);
使用insert插入记录是userpwd的列值得长度小于6:
INSERT INTO HRMAN.Users VALUES(102, 'user', 'pwd');
应用场景140:创建和验证外键约束
为表departments的dep_id列和表employee的dep_id列创建外键约束fk_emp_depid:、
ALTER TABLE HRMAN.Employees
ADD CONSTRAINT FK_EMP_DEPID
FOREIGN KEY(Dep_id) REFERENCES HRMAN.Departments(Dep_id);
向表中插入一条记录:
INSERT INTO HRMAN.Employees (Emp_id, Emp_name, Dep_id)
VALUES (1, 'Johney', 3);
应用场景141:设置DEFAULT列的属性
创建表users6,设置userpwd的默认值为:11111:
CREATE TABLE HRMAN.Users6
(UserId Number Primary Key,
UserName Varchar2(40) NOT NULL UNIQUE,
UserPwd Varchar2(40) DEFAULT('111111')
);
向表中插入一条记录:
INSERT INTO HRMAN.Users6 (UserId, UserName) VALUES(1, 'user');
应用场景142:删除表
DROP TABLE HRMAN.USERS;
应用场景143: