oracle常用命令

来源:互联网 发布:淘宝双十一排行榜 编辑:程序博客网 时间:2024/06/04 23:32


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 ; 



0 2
原创粉丝点击