zoukankan      html  css  js  c++  java
  • sql语句3

    //数据库更新操作----------------------------------------------------------------------------------------------------------
    //将表结构及数据完成的复制出来
    create table myemp as select * from emp;

    select * from myemp where empno=7899;

    //添加数据-------------------------------------------------------------------------------------------------------------------
    insert into myemp(empno,ename,job,mgr,hiredate,sal,comm,deptno) values (7899,'张三','清洁工',7368,to_date('1995-2-14','yyyy/mm/dd'),9000,300,40);
    insert into myemp values(7900,'王五','清洁工',null,to_date('1996-3-02','yyyy-mm-dd'),9000,null,40 );

    //修改数据------------------------------------------------------------------------------------------------------------------------
    update myemp set comm=1000;
    update myemp set sal=5000 where empno=7899;
    update myemp set mgr=null where empno=7899;
    update myemp set comm=null where empno in(7899,7900,7788);

    //删除数据-------------------------------------------------------------------------------------------------------------------------
    delete from myemp where empno=7899;
    delete from myemp where comm is not null;

    //删除表的全部内容---------------------------------------------------------------------------------------------------------------
    delete from myemp;

    //事务处理------------------------------------------------------------------------------------------------------------------------------
    commit 提交事务
    rollback 回滚事务

    //常用数据类型
    varchar、varchar2、number、date、clob(大文本数据可存放4G)、blob(二进制数据可存放4G)

    //复制表------------------------------------------------------------------------------------------------------------
    //复制表结构和内容
    create table tmep as (select * from emp);
    //只复制表结构
    create table tmep as (select * from emp where 1=2);

    //创建表------------------------------------------------------------------------------------------------------------
    create table person(
    pid varchar2(18),
    name varchar2(200),
    age number(3),
    birthday date,
    sex varchar2(2) default'男'
    );

    //primary key 主键约束
    create table person(
    pid varchar2(18)primary key,
    name varchar2(200),
    age number(3),
    birthday date,
    sex varchar2(2) default'男'
    );

    //not null 非空约束
    create table person(
    pid varchar2(18)primary key,
    name varchar2(200) not null,
    age number(3) not null,
    birthday date,
    sex varchar2(2) default'男'
    );

    //unique 唯一约束
    create table person(
    pid varchar2(18)primary key,
    name varchar2(200) unique not null,
    age number(3) not null,
    birthday date,
    sex varchar2(2) default'男'
    );

    //check 检查约束
    create table person(
    pid varchar2(18)primary key,
    name varchar2(200) unique not null,
    age number(3) not null check(age between 0 and 150),
    birthday date,
    sex varchar2(2) default'男' check(sex in('男','女','中'))
    );

    //foreign key 主-外键约束
    create table person(
    pid varchar2(18),
    name varchar2(200) not null,
    age number(3) not null ,
    birthday date,
    sex varchar2(2) default'男' ,
    cityid varchar(18),
    constraint person_pid_pk primary key(pid),
    constraint person_name_uk unique(name),
    constraint person_age_ck check(age between 0 and 150),
    constraint person_sex_ck check(sex in('男','女','中')),
    constraint city_person_cityid_fk foreign key(cityid) references city(cityid)
    );

    //修改约束-------------------------------------------------------------------------------------------------------
    //添加约束
    alter table person add constraint person_pid_pk primary key(pid);
    alter table person add constraint person_name_uk unique(name);
    alter table person add constraint city_person_cityid_fk foreign key(cityid) references city(cityid);

    //删除约束
    alter table person drop constraint person_name_uk;

    select * from person;

    //删除表------------------------------------------------------------------------------------------------------------
    drop table person;

    //修改表----------------------------------------------------------------------------------------------------------------
    //添加列
    alter table person add(address varchar(200) default'暂无地址');

    //修改表结构
    alter table person modify(name varchar(100) default'无名氏');

    //修改表名
    rename person to tperson;

    //截断表 (清空表数据,立刻释放资源不需要回滚)
    truncate table person;

    //rownum 伪列
    select rownum,empno,ename,job,sal,hiredate from emp;
    //分页查询
    select * from (select rownum rn,empno,ename,job,sal,hiredate from emp where rownum <= 10) temp where temp.rn>5

    登陆管理员用户(sysdba)为当前用户分配常见视图权限:grant create view to scott;

    //创建视图
    create view empv20 as select empno,ename,job,hiredate,deptno from emp where deptno=20 with read only;

    select * from empv20;

    //删除视图
    drop view empv20;

    //替换视图
    create or replace view as select empno,ename,job,hiredate from emp where deptno=20;

    select * from emp where empno=7369;

    //修改视图
    update empv20 set job='CLERK' where empno=7369;

    //序列-------------------------------------------------------------------------------------------
    //创建序列
    create sequence myseq;

    //increment by n 每次增长幅度
    create sequence myseq increment by 2;

    //start with 指定开始位置
    create sequence myseq increment by 2 start with 10;

    //循环序列
    create sequence myseq maxvalue 10 increment by 2 start with 1 cache 2 cycle;

    //删除序列
    drop sequence myseq;

    create table testseq(
    next number,
    curr number
    );
    insert into testseq values(myseq.nextval,myseq.currval);
    select * from testseq;
    drop table testseq;

    //同义词---------------------------------------------------------------------------------------
    //创建同义词
    create synonym semp for SCOTT.EMP;
    //删除同义词
    drop synonym emp;

    //用户管理---------------------------------------------------------------------------------------
    //创建用户--在管理员用户下
    create user test identified by test123;

    //分配session权限给用户
    grant create session to test;

    //一次性把多个权限分配给用户
    grant connect,resource to test;

    //修改用户密码
    alter user test identified by test1234;

    //用户密码失效
    alter user test password expire;

    //锁住用户
    alter user test account lock;

    //用户解锁
    alter user test account unlock;

    //将scott用户的emp表的查询及删除权限给test用户
    grant select,delete on scott.emp to test;

    //回收权限
    revoke select,delete on scott.emp from test;

  • 相关阅读:
    FCKeditor firefox Ajax提交,内容为空.解决.
    Javascript:Go to top of page
    js实现两级联动下拉列表
    php+mysql实现二级联动下拉列表
    ajax 实现两级级联下拉列表
    SharpDevelop_3.2.1.6466_Setup软件安装汉化
    c#拓展项目作业
    摇色子(两颗色子)
    C#编程实践51题目解答
    编程实践53
  • 原文地址:https://www.cnblogs.com/xingfuzzhd/p/2789114.html
Copyright © 2011-2022 走看看