Oracle_Day03

权限

    系统权限:用户对数据库的相关操作权限

    我通过system不仅要赋予user1登录到数据库的权限,还要让user1能够赋予其他人登录权限(注:权限无法接力,除非管理员赋予权限可接力权限,grant 权限 to 用户 with admin option )

    对象权限:用户是否有对其他用户的对象进行操作的权限


用户口令:profile,文件内包含了所有用户的配置信息

    Oracle在创建完成之后就会有一个default的profile。

用户锁定

    指定某一个用户如果连续输错3次密码,就将他锁定,在2天之后自动解锁

    create profile loak_account limit failed_login_attempts 3 password_lock_time 2;

    新建profile文件   文件名                     连续输错密码次数                自动解锁时间

    将创建的profile赋予给user1

    alter user user1 profile loak_account;

    当user1被锁定后,通过DBA解锁

    alter user user1 account unlock;


Oracle中表(表格,二维表,table)的操作

    Oracle中表名的命名规范

    1、必须以字母开头

    2、表名的大小不能超过30个字符

    3、不能出现oracle中的关键字

    4、名字中只能包含A-Z,a-z,0-9,_


create table tablename(字段名1字段类型,字段名2字段类型,.......)


Oracle中的数据类型:

    1、字符型:

        char(最大2000个字符,char为定长,当字段为定长时比如:身份证号,手机号,选用char) 

        varchar2(最大可以表示4000个字符,varchar为变长,当字段为变长时比如:名字,选用varchar2)

        clob(字符型大对象,最大可以存储4G的字符)

    2、数字型:

        number(取值范围为10^-38~10^38,浮点数:number(5,2)五位有效数字中有俩位小数,共有5位数)

    3、时间型:

        date:年月日时分秒,不不必指定长度

        timestamp:时间戳,可以表示秒之后的小数

    4、图片:

        blob    二进制文件,图片,视屏,音频

        一般存储相关文件的路径



案例:创建一个学生表

    学号,名字,年龄,性别,奖金

    create table student_table(no number(4),name varchar2(9),age number(3),sex char(3),selary(6,3) );

    查看表结构:desc tablename;

    对表的修改操作:

    添加一个字段:

    alter table tablename add(字段名 字段类型(长度))

    修改一个字段(想修改的字段没有数据):

    alter table tablename modify(字段名 字段类型(长度))

    修改字段名:

    alter table tablename rename column 旧名字 to 新名字

    删除一个字段:

    alter table tablename drop column 字段名;

    对表重命名:

    rename 旧表名 to 新名字;

    删除表:

    drop table tablename;

    添加数据:

    insert into tablename values(字符1,字符2,‘字符串’),按照字段的顺序输入,字符串用单引号括起来

        因为Oracle默认的时间格式是dd-mm-yyy,但是我们想让Oracle的时间格式为yy-mm-dd,需要更改设置。

        将Oracle的环境更改为英文,alter session set nls_language=english;

        将Oracle的环境更改为中文,alter session set nls_language=‘simplified chinese’;

        更改时间默认格式:alter session set nls_date_format='yyy-mm-dd'

    只插入部分字段的数据

    insert into student_table (要插入的部分列) values(插入的部分数据)


    更改数据:

    修改一个字段:

    update tablename set 要修改的字段名=要修改的值 where 唯一标识 = '查询条件'

    修改多个字段:

    update tablename set 要修改的字段名1=要修改的值 , 要修改的字段名2=要修改的值 where 唯一标识=‘查询条件’

    案例:将所有女性的工资修改成之前的一半

    update tablename set sal = sal/2 where sex = '女';


    删除数据(回滚操作:rollback):

    完全删除

    delete from tablename;(数据可找回)

    truncate table tablename;(数据不可找回)

        设置保存点:savepoint 时间戳命名

        回退到保存点:rollback to 时间戳命名

    案例:删除员工表中员工编号为0020号的员工

        delete from emp where empno = 0020;

    案例:删除员工表中所有工资小于5000的员工信息

        delete from emp where sal<5000;


    Oracle中的查:用的最多,最复杂

        desc tablename:查看表结构

        select * from tablename;查某张表中的所有数据(效率低)

        select 字段名1,字段名2 from tablename; 查询某一个或者某几个字段

    案例:查看名为andy的工资与工作

            select sal,job from emp where ename='andy'

    案例:查看andy的年工资

            select sal*12 年工资,job 工作 from emp where ename = 'andy'(可以在要查找的字段后面起别名,字段名1 别名1,字段名2 别名2)

    案例:查看员工号为0001的员工的名字和工种

            select ename,job from briup_emp where empno=0001;

            select ename||'的工种是'||job from briup_emp where empno=0001;(字符串的拼接)

    案例:查看所有员工的年薪

            select sal*12+comm*12 年薪 from emp;(这么做,有问题,如果有员工的薪资为null,那么算出来的薪资也为null)

            select nvl(sal,0)*12+nvl(comm,0)*12 年薪 from emp;

                nvl(exp1,exp2);如果exp1这个字段的数据为null,则其值为exp2


    where 子句

        案例:显示工资低于5000的员工信息

            select * from emp where sal<5000

        案例:查询入职时间在2004-01-01之后的员工信息

            select * from emp where startdate>'2004-01-01'

        案例:查询工资在3000到5000之间的员工信息

            select * from emp where sal<5000 and sal>3000

    like 子句(模糊查询)

        通配符:%:0~N个字符    “_”:表示一个字符

        案例:查询员工表中所有张姓的同事信息

            select * from emp where ename like '张%'

        案例:查询名字中第三个字母是a的员工的姓名和工资

            select ename , sal from emp where ename like '__a%'

         案例:查询名字中第三个字母是a的员工的姓名和工资

            select ename , sal from emp where ename like '%a__'


    in 子句

        案例:查询1号部门和2号部门的所有员工信息

            select * from emp where depton in (1,2);


    is / is not 子句

        案例:查询奖金为null的员工信息

            select ename from emp where comm is null

        案例:查询奖金不为null的员工信息

             select ename from emp where comm is not null


    and 和 or子句

        案例:查询工资大于5000或奖金大于500且名字里有a这个字符的员工信息

            select ename,sal from emp where (sal>5000 or comm>500) and ename like '%a%'; 


    order by 子句(排序,默认升序排列)

        案例:查询所有员工的工资,并且从低到高来排序

            select ename ,sal from emp order by sal;

        案例:查询所有员工的工资,并且从高到低来排序

            select ename ,sal from emp order by sal desc;

        案例:查询所有员工的姓名,工资,部门编号,按照部门编号的升序且工资的降序。

            select ename,sal,deptno from emp order by depton,sal desc;

        案例:将所有员工的年工资做降序排列

            select ename,sal*12 年工资 from emp order by 年工资 desc;  

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353

推荐阅读更多精彩内容