当前位置:数据库 > Oracle >>

oracle基本操作,自己亲手做过了

oracle基本操作,自己亲手做过了
 
--创建表空间(其中TWC.DBF不需要我们手工创建)
-----创建了一个大小为20M的表空间,自动增长以5M的大小,可以无限制增加下去,
------只要你的磁盘够大
create tablespace tian datafile 
 'D:\Oracle1\TWC.DBF' size 20M autoextend on next 5M maxsize unlimited 
 logging online permanent extent management local autoallocate 
 blocksize 8K 
 segment space management manual 
 flashback on;
 
 
--修改表空间
alter tablespace tian1 add datafile 'F:\oraData\tablesecond04\tablesecond_DATA2.DBF' size 10000M;
 
 
alter database datafile 'F:\oraData\tablesecond04\tablesecond_DATA2.DBF' autoextend on next 100m maxsize unlimited;
---创建用户(其中表空间为 tian)
create user twc identified by twc
  default tablespace tian 
   temporary tablespace temp
   profile default 
    account unlock;
--创建用户的语句的说明
create user  用户名
identified by  密码(不要加引号)
default tablespace 默认表空间名 quota 5M on 默认表空间名
[temporary tablespace 临时表空间名]
[profile 配置文件名]                                          //配置文件
[default role 角色名]                                        //默认角色
[password expire]                                             //密码失效
[account lock]                                                   //账号锁定
修改用户
alter user 用户名 identified by 密码 quota 10M on 表空间名
alter user 用户名 account lock/unlock
删除用户
drop user 用户名 [cascade].如果要删除的用户中有模式对象,必须使用cascade.
 
 
 
 
--用户的角色及其授权
 -- Roles for tablesecond
 grant DBA TO twc with admin option;
 grant aq_administrator_role to twc with admin option;
 grant mgmt_user to twc;
 alter user twc default role all;
--建另外一个用户
CREATE USER twc1
  IDENTIFIED BY twc1
  DEFAULT TABLESPACE tian
  TEMPORARY TABLESPACE TEMP
  PROFILE DEFAULT
  ACCOUNT UNLOCK;
--角色和授权
  --  Roles for tablesecond
  GRANT DBA TO twc1 WITH ADMIN OPTION;
  GRANT AQ_ADMINISTRATOR_ROLE TO twc1 WITH ADMIN OPTION;
  GRANT MGMT_USER TO twc1;
  ALTER USER twc1 DEFAULT ROLE ALL;
  -- 1 System Privilege for tablesecond
  GRANT UNLIMITED TABLESPACE TO twc1 WITH ADMIN OPTION;
  -- 1 Tablespace Quota for tablesecond 
  ALTER USER twc1 QUOTA UNLIMITED ON tian;
 
 
-- 创建表
create table users1(
userid int primary key ,
username varchar2(30) NOT NULL,
pwd  varchar2(30) NOT NULL 
);
--如果创建上面的表,那么系统将为你生成,以下此表的具体的代码:
-- Create table
create table USERS1
(
  USERID   INTEGER not null,
  USERNAME VARCHAR2(30) not null,
  PWD      VARCHAR2(30) not null
)
tablespace TIAN
  pctfree 10
  pctused 40
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
-- Create/Recreate primary, unique and foreign key constraints 
alter table USERS1
  add primary key (USERID)
  using index 
  tablespace TIAN
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
create sequence userid;--创建序列
--另外一种创建序列的方式
--创建一个从1开始,默认最大值,每次增长1的序列,要求NOCYCLE,缓存中有30个预先分配好的序列号。
CREATE SEQUENCE MYSEQ
   MINVALUE 1
   START WITH 1
   NOMAXVALUE
   INCREMENT BY 1
   NOCYCLE
   CACHE 30
 
 
CREATE SEQUENCE userid  --创建序列,名为:myseq
START WITH 1   --从1开始
INCREMENT BY 1 --每次递增 1
ORDER      --排序
NOCYCLE  ; --避免重新开始,关闭循环
 
 
--删除序列
drop sequence userid;
 
 
--以下是表操作
insert into users1 values(userid.nextval,'xiaoliiu','666666');---插入
 
 
RENAME users1 TO users;--修改表名
COMMENT ON TABLE users IS '存放雇员信息';--表名的注释
COMMENT ON TABLE users.username IS '描述雇员姓名';--表中属性的注释
 
 
select * from users1       --查询表的所有属性
delete from users1 where userid=1;--删除表中的值
ALTER TABLE users1 ADD birhtday number(4);--增加表属性
ALTER TABLE users1 ADD pass NUMBER(4);
ALTER TABLE users1 DROP COLUMN username;--删除表属性
ALTER TABLE users1 MODIFY(col1 VARHCAR2(50), col2 VARCHAR2(100));--修改表属性 col1改为col2
 
 
drop table users1;--删除表结构
 
 
delete from users1 where username='二';--删除
SELECT max(userid) FROM users1;-- 查询学号最大的
SELECT min(userid) FROM users1;-- 查询学号最小的
 
 
update users set username='tianweichang', pwd='888888' where userid=2;
 
 
create sequence userid1;
insert into users values(userid1.nextval,'wangwu','55555');---插入
--创建视图
CREATE OR REPLACE VIEW usersView
    AS
   SELECT u.USERID,u.username
   FROM users u JOIN users1 ON u.userid=users1.userid
   WITH READ ONLY
   
select * from usersView --查询视图
--创建索引
CREATE UNIQUE INDEX UQ_ENAME_IDX ON users1(username);  
 
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,