oracle常用命令



oracle常用命令

1、創建用戶:

       create user 用戶名 identified by 密碼;


2、顯示所有用戶:

        select * from dba_users;


3、刪除用戶:

        drop user 用戶名 cascade;


4、授予用戶權限:

        grant resource,connect to 用戶名;


5、字段id自增長:

         假設有張表:

               create table users(
                       id number(11) not null,
                       
loginid nvarchar2(50) not null,
                      
password nvarchar2(20) not null);

          創建序列,然後調用它:

                   create sequence auto_id start with 1; 
                  
insert into users(id,loginid, password)values(auto_id.nextval,'chen','bei');


6、顯示所有已創建的表:

          select table_name from user_tables;


7、刪除表:

         drop table 表名;


8、刪除表的字段:

           alter table 表名 drop column 字段名;


9、添加表的字段:

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

10、修改表的字段名:

            alter table 表名 rename column 原字段名 to 新字段名;

       

                修改字段的屬性:

                 alter table 表名 modify(字段名 新屬性);


11、創建表時,添加主外鍵關係:

            create table 表1(
                   字段名01 number constraint   字段名_id_pk   primary key,
                   字段名02 varchar2(20) not null);
 
            create table 表2(
                  字段名1   number constraint   字段名_id_pk    references 表1(字段名01),
                  字段名2   number(20) not null);

          或者,建完表後再添加主鍵:

                  alert table 表名 add constraint pkKey primary key(字段列表);

            外鍵:

                  alter table 外鍵表 add constraint  zjc_pk(隨便起個名字)foreign key (外鍵表字段) references 主鍵表(字段);

12、同時給主外表插入數據:

            create sequence stu_id start with 1;

            insert into 表1 (字段1,字段2) values (stu_id.nextval,'chen') return  字段1  into ak;
           
insert into 表2(字段3, 字段4)values(ak,50); 

            commit;

13、表ID自增-----------序列

sql->create sequence 序列名 increment by 1 start with 1 maxvalue 999999 cycle;

新增數據時,使用序列名

sql->insert into 表名 values(RY_ID.nextval,‘其他字段’,'其他字段'); 


14、觸發器

新增數據時,出發

sql->create or replace trigger 觸發器名稱       
before insert on 表名       
for each row       
begin       
select 序列名.nextval into :new.更改的字段 from dual;   //觸發的sql語句
end ; 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章