IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁數(shù)據(jù)庫Oracle → Oracle常用命令

Oracle常用命令

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

  Oracle數(shù)據(jù)類型:

  Create table test1(name char(10),sex char(1));

  Insert into test1 values(‘tomcatt北京’,’f’);

  Create table test2(name nchar(10),sex nchar(1));

  Insert into test2 values(‘tomcatt北京’,’男’);

  刪除表 drop table 表名;

  Create table test3(name varchar2(10),sex varchar2(2));

  Insert into test3 values(‘tomcatt北京’,’f’);//插入值過大

  Insert into test3 values(‘tomcat北京’,’f’);

  Create table test4(name varchar2(10),age number(3),salary number(8,2));

  Create table test5(name varchar2(10),birth date);

  Insert into test5 values(‘Tom’,’28-2月-08’);

  Insert into test5 values(‘Allen’,sysdate);

  DDL:

  創(chuàng)建表

  create table scott.test6(

  eid number(10),

  name varchar2(20),

  hiredate date default sysdate,

  salary number(8,2) default 0

  )

  插入數(shù)據(jù)時若沒有指定hiredate,salary的話則會取默認(rèn)值

  數(shù)據(jù)字典:

  Dba-所有方案包含的對象信息

  All-用戶可以訪問的對象信息

  User-用戶方案的對象信息

  Select * from user_tables;

  Select * from all_tables;

  約束:

  域完整性約束:not null check

  實體完整性約束:unique primary key

  參照完整性約束:foreign key

  視圖:

  Create or replace view v1(eid,name,salary) as select empno,ename,sal from emp where deptno = 30;

  序列:sequence

  Create sequence mysequence1 increment by 1 start with 1 nomaxvalue nocycle;

  Insert into test values(mysequence1.nextval,’tom’);

  Create sequence student_sequence start with 1 increment by 1;

  Insert into student values(student_sequence.nextval,’john’);

  表間數(shù)據(jù)拷貝:

  Insert into dept1(id,name) select deptno,dname from dept;

  實例(創(chuàng)建表 ID字段自增):

  --create table test2(id char(10) primary key not null, name char(10));

  --create sequence test2_sequence increment by 1 start with 1 nomaxvalue nocycle;

  --insert into test2 values(test2_sequence.nextval,'john');

  --insert into test2 values(test2_sequence.nextval,'allen');

  --insert into test2 values(test2_sequence.nextval,'candy');

  --insert into test2 values(test2_sequence.nextval,'aaaa');

  --insert into test2 values(test2_sequence.nextval,'bbbbb');

  --insert into test2 values(test2_sequence.nextval,'cccccc');

  --insert into test2 values(test2_sequence.nextval,'ddddd');

  --insert into test2 values(test2_sequence.nextval,'eeeee');

  --insert into test2 values(test2_sequence.nextval,'ggggg');

  --insert into test2 values(test2_sequence.nextval,'jowwwwhn');

  --insert into test2 values(test2_sequence.nextval,'aaaadd');

  --insert into test2 values(test2_sequence.nextval,'ggghhh');

  --insert into test2 values(test2_sequence.nextval,'eeettt');

  --insert into test2 values(test2_sequence.nextval,'wwwttt');

  select * from test2;

  查看表結(jié)構(gòu)

  EDITDATA 表名;

  修改表字段:

  Alter table 表名 modify(字段名 類型 約束);

  alter table test modify (addd varchar2(10) null);

  alter table 表名 add(字段名 類型 約束);

  alter table test add(age varchar2(5));

  1.登陸系統(tǒng)用戶

  sqlplus 然后輸入系統(tǒng)用戶名和密碼

  登陸別的用戶

  conn 用戶名/密碼;

  2.創(chuàng)建表空間

  create tablespace 空間名

  datafile 'c:\空間名' size 15M --表空間的存放路徑,初始值為15M

  autoExtend on next 10M --空間的自動增長的值是10M

  permanent online; --永久使用

  3.創(chuàng)建用戶

  create user shi --創(chuàng)建用戶名為shi

  identified by scj --創(chuàng)建密碼為scj

  default tablespace 表空間名 --默認(rèn)表空間名

  temporary tablespace temp --臨時表空間為temp

  profile default --受profile文件的限制

  quota unlimited on 表空間名; --在表空間下面建表不受限制

  4.創(chuàng)建角色

  create role 角色名 identified by 密碼;

  5.給角色授權(quán)

  grant create session to 角色名;--給角色授予創(chuàng)建會話的權(quán)限

  grant 角色名 to 用戶名; --把角色授予用戶

  6.給用戶授予權(quán)限

  grant connect,resource to shi;--給shi用戶授予所有權(quán)限

  Grant dba to shi;-給shi 用戶授予DBA權(quán)限

  grant create table to shi; --給shi用戶授予創(chuàng)建表的權(quán)限

  7.select table_name from user_tables;?? 察看當(dāng)前用戶下的所有表

  8.select tablespace_name from user_tablespaces; 察看當(dāng)前用戶下的 表空間

  9.select username from dba_users;察看所有用戶名稱命令 必須用sys as sysdba登陸

  10.創(chuàng)建表

  create table 表名

  (

  id int not null,

  name varchar2(20) not null

  )tablespace 表空間名 --所屬的表空間

  storage

  (

  initial 64K --表的初始值

  minextents 1 --最小擴(kuò)展值

  maxextents unlimited --最大擴(kuò)展值

  );

  11.--為usrs表添加主鍵和索引

  alter table users

  add constraint pk primary key (ID);

  12.為已經(jīng)創(chuàng)建users表添加外鍵

  alter table users

  add constraint fk_roleid foreign key (roleid)

  references role(role_id) on delete cascad; --下邊寫主表的列

  on delete cascad是創(chuàng)建級聯(lián)

  13.把兩個列連接起來

  select concat(name,id) from 表名; --把name和id連接起來

  14.截取字符串

  select column(name,'李') from 表名; --把name中的‘李’去掉

  15.運行事務(wù)之前必須寫

  set serveroutput on; --打開輸入輸出(不寫的話,打印不出信息)

  16.while的應(yīng)用

  declare --聲明部分

  ccc number:=1; --復(fù)職

  a number:=0;

  begin --事務(wù)的開始

  while ccc<=100 loop --循環(huán)

  if((ccc mod 3)=0) then --條件

  dbms_output.put_line(ccc||',');??? --打印顯示

  a:=a+ccc;

  end if; --結(jié)束if

  ccc:=ccc+1;

  end loop; --結(jié)束循環(huán)

  dbms_output.put_line(a);

  end; --結(jié)束事務(wù)

  /

  17.select into 的用法 --只能處理一行結(jié)果集

  declare

  name varchar(30);

  begin

  select username into name

  from users

  where id=2;

  dbms_output.put_line('姓名為:'||name);

  end;

  /

  18.利用%rowtype屬性可以在運行時方便的聲明記錄變量和其他結(jié)構(gòu)

  Set serveroutput on;

  Declare

  utype users%rowtype;

  Begin

  Select * into utype from users where id=20;

  Dbms_output.put_line('姓名'|| utype.username);

  Dbms_output.put_line('生日'|| utype.brithday);

  end;

  / --%rowtype想當(dāng)于復(fù)制一個表

  19.游標(biāo)的定義和使用

  Declare

  Cursor ucur is select * from users; --聲明游標(biāo)

  Us users%rowtype;--定義與游標(biāo)想匹配的變量

  Begin

  Open ucur;--打開游標(biāo)

  Fetch ucur into us;

  While ucur %found loop --使用循環(huán)遍歷游標(biāo)的查詢結(jié)果

  Dbms_output.put_line('姓名:'||us.username||'生日'||us.brithday);

  Fetch ucur into us;

  End loop;

  Close ucur; --關(guān)閉游標(biāo)

  End;

  =======================================

  %found在前一條的fetch語句至少對應(yīng)數(shù)據(jù)庫的一行時,%found屬性值為true,否則為false;

  % notfound 在前一條fetch語句沒有對應(yīng)的數(shù)據(jù)庫行時,%notfo

關(guān)鍵詞標(biāo)簽:Oracle

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法