零基础oracle数据库学习记录第一天

来源:互联网 发布:淘宝商品销量排行 编辑:程序博客网 时间:2024/06/05 08:32

打开WIN+R输入cmd再回车。

直接贴程序执行的过程。

//打开oracle
sqlplus " /as sysdba"
//启动数据库
startup;
//关闭数据库
shutdown immediate;
//创建用户
create user chu identified by chu default tablespace
users Temporary TABLESPACE Temp;//用户已创建
//授予权限
grant connect,resource,dba to chu;//授权成功


//创建表
CREATE TABLE dept(
deptno NUMBER(2),
dname VARCHAR2(14),
loc VARCHAR2(13)
);//表已更改
//添加主键约束
ALTER TABLE dept ADD CONSTRAINT p_deptno PRIMARY KEY(deptno);
//插入数据
INSERT INTO dept values(1,'计算机系','信息楼');
INSERT INTO dept values(2,'通信系','信息楼');
INSERT INTO dept values(3,'经济系','经管楼');
INSERT INTO dept values(4,'电力系','电力楼');
INSERT INTO dept values(5,'建筑系','建筑楼');//已创建1行
//查询表
SELECT * FROM dept;
//显示表结构
DESCRIBE dept;
//增加列
ALTER TABLE dept ADD address VARCHAR2(40);//表已更改
//删除列
ALTER TABLE dept DROP COLUMN address;//报错ORA-12988
//修改表名
ALTER TABLE dept RENAME TO dept1;//表已更改
ALTER TABLE dept1 RENAME TO dept;//表已更改
//修改表的数据类型
ALTER TABLE dept
MODIFY(address VARCHAR(20));
//使用子查询创建表
CREATE TABLE copy_dept
AS 
SELECT deptno,dname,loc,address
FROM dept;
//设置一列不可用
ALTER TABLE copy_dept
SET UNUSED (address);//报错ORA_12988
//修改表的名字
RENAME copy_dept TO detail_dept;
//清空表并释放存储空间
TRUNCATE TABLE detail_dept;
//表注释
COMMENT ON TABLE dept
IS 'Employee Information';
//创建带有主键约束的表
CREATE TABLE employees(
 employee_id NUMBER(6),
 first_name VARCHAR2(20),
 job_id VARCHAR2(10) NOT NULL,
 CONSTRAINT emp_emp_id_pk PRIMARY KEY(employee_id)
);
//删除约束
ALTER TABLE employees
DROP CONSTRAINT emp_emp_id_pk;
//添加约束
ALTER TABLE employees
ADD CONSTRAINT emp_emp_id_pk PRIMARY KEY(employee_id);
//无效化约束
ALTER TABLE employees
DISABLE CONSTRAINT emp_emp_id_pk;
//激活约束
ALTER TABLE employees ENABLE CONSTRAINT emp_emp_id_pk;
//查询约束
SELECT constraint_name,constraint_type,search_condition
FROM user_constraints
WHERE table_name='EMPLOYEES';
//查看系统视图
SELECT column_name,insertable,updatable,deletable
FROM user_updatable_columns
WHERE table_name='EMPLOYEES';
//异常
ORA-00922:选项缺失或无效
ORA-00933: SQL命令未正确结束
ORA-00907:缺少右括号
SP2-0734:未知的命令开头
ORA-00942:表或视图不存在
ORA-12988:无法删除属于SYS的表中的列
ORA-02443:无法删除约束条件-不存在的约束条件


阅读全文
0 0