为了账号安全,请及时绑定邮箱和手机立即绑定

Oracle数据库开发必备利器之SQL基础

难度入门
时长 4小时14分
学习人数
综合评分9.67
338人评价 查看评价
9.8 内容实用
9.7 简洁易懂
9.5 逻辑清晰
  • --删除唯一约束

    --1.禁用启用唯一约束

    DISABLE|ENABLE CONSTRAINT 唯一约束名字;

    --Z示例

    SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME='XCX_USERINFO_U2'; --查询数据字典

    ALTER TABLE xcx_userinfo_u2  DISABLE CONSTRAINT un_username_new ;-- 禁用约束


    --2.删除唯一约束

     DROP CONSTRAINT 唯一约束名字;  --语法

    ALTER TABLE xcx_userinfo_u2  DROP CONSTRAINT un_username_new ;-- 删除约束


    查看全部
  • --在修改表时添加唯一约束 

    ADD CONSTRAINT 外键约束名字 UNIQUE (字段名); --语法 

    --示例

    --创建一个表

    CREATE TABLE xcx_userinfo_u2

    (id varchar2(10) primary key,username varchar2(20));

    --修改表添加 唯一约束

    ALTER TABLE xcx_userinfo_u2 ADD CONSTRAINT un_username_new  UNIQUE (username) ;


    查看全部
  • --唯一约束

    --作用:保证字段值的唯一性

    --唯一约束和主键约束的区别:主键必须是非空,唯一约束可以有一个空置,主键在一个表只能有一个,而唯一约束可以有多个


    --在创建表时设置唯一约束

    --   1.在列级设置

        CREATE TABLE table_name (column_name datatype UNIQUE,...) --语法

    -- UNIQUE 在字段后面加上 unique 就可以了

     CREATE TABLE xcx_userinfo_u(

     id varchar2(10) primary key ,

     username varchar2(20) unique,

     userpwd varchar2(20) unique

     );


    --2.在表级设置唯一约束

    CONSTRAINT constraint_name UNIQUE (column_name);--语法

    --constraint_name 约束名字

    --column_name 字段名

    --示例

    CREATE TABLE XCX_userinfo_u1(

    id varchar2(10) primary key ,

     username varchar2(20) ,

      userpwd varchar2(20),

     CONSTRAINT un_username UNIQUE (username,userpwd)

     );


    查看全部
  •  --删除外键约束

    -- 1.禁用外键约束,禁用后,以后还可以恢复

     DISABLE|ENABLE CONSTRAINT constraint_name --语法

     --constraint_name 外键约束名字

     --不知道外键名字了,可以查看,数据字段 ,user_constraints;

     select * from user_constraints where table_name='XCX_USERINFO';

     --示例_禁用

     ALTER TABLE xcx_userinfo DISABLE CONSTRAINT PK_TYPID_ALTER;

     

     --2.删除外键约束

     DROP CONSTRAINT constraint_name;--语法

    -- constraint_name 外键约束名字

    --示例,删除外键

     ALTER TABLE xcx_userinfo DROP CONSTRAINT PK_TYPID_ALTER;


    查看全部
    0 采集 收起 来源:Oracle 删除约束

    2021-01-25

  •  --在修改表时添加外键约束

     ADD CONSTRAINT constraint_name FOREIGN KEY (column_name) REFERENCES 

     table_name (column_name)[ON DELETE CASCADE]

     --constraint_name 外键名

     --table_name 主表

     

     --创建一个表

     CREATE TABLE xcx_userinfo(

     id varchar2(10) primary key,

     username varchar2(20),

     typeid_new varchar2(10)

     );

     

     --添加外键

     alter table xcx_userinfo ADD CONSTRAINT pk_typid_alter FOREIGN KEY (typeid_new)

     REFERENCES typeinnfo(typeid);

     


    查看全部
  •  --在创建表时,定义完所有字段,设置外键约束 

     --  CONSTRAINT constraint_name FOREIGN KEY(column_name) REFERENCES table_name(column_name)[ON DELETE CASCADE]; 语法

     --constraint_name 外键名字

     -- FOREIGN KEY(column_name) ,column_name 这个是从表的字段

     --table_name(column_name) 主表的名字和字段名

     --[ON DELETE CASCADE] 级联删除,主表的哪一行数据删除,从表的使用了主表的那一行数据,也会被删除

     

     --示例

     CREATE TABLE xcx_info   (

     id varchar2(10) primary key,

     username varchar2(20),

     type_new varchar2(10),

     CONSTRAINT fk_type_new FOREIGN KEY (type_new) REFERENCES typeinnfo (typeid) ON DELETE CASCADE

     );


    查看全部
  • --在创建表时设置外键约束 

    -- CREATE TABLE table1 (column_name datatype REFERENCES table2(column_name),...)  语法

    --table1 是从表

    --REFERENCES 在要设置外键的字段,后面加上 REFERENCES

    --table2  表是主表,要引用的那个表的字段,设置外键约束时,主表的字段必须是主键

    -- 主从表中相应的字段必须是同一个数据类型,从表中的外键字段的值必须来自主表中的相应字段的值,或者为null值

     

     CREATE TABLE typeinnfo

     (typeid varchar2(10) primary key,

     typename varchar2(20));

     

     CREATE TABLE typeinnfo_f

     (id varchar2(10) primary key,

     usernmae varchar2(20),

     typeid_new varchar2(10) references typeinnfo(typeid)

     );

     

     INSERT INTO typeinnfo values(1,1);

     INSERT INTO typeinnfo_f (id,typeid_new) values(1,1);

     INSERT INTO typeinnfo_f (id,typeid_new) values(2,null);

     

    查看全部
  • Decode函数的使用:

            decode与case...when类似

            decode(字段名,值,结果,....,默认值)  

            decode(col_name,value1,result1,value2,result2,...,[defaulvalue]) ;

            例如: select username,decode(username,'aaa','计算机部门','bbb','市场部门','其他') as 部门 from users;


    查看全部
  • 对查询结果排序:

                语法:SELECT [DISTINCT] column_name1,...|* FROM table_name [WHERE ...] ORDER BY column_name1 DESC/ASC,...

                 其中,DESC是降序排序,ASC是升序排序,默认情况下是升序排序

                    eg: username按降序拍排列,salary按升序排列

                        select * from users order by username desc,salary asc;


    查看全部
  • 范围查询:

                         1、BETWEEN...AND...:查询的是一个闭合区间的结果,包含头也包含尾。

                    如查找工资在800到2000的(包括了800和2000):

                         select * from users where salary between 800 and 2000;

                    如果想要不在800和2000这两个数之间,就可以这样写:

                        select * from users where salary not between 800 and 2000;

             2、IN()/NOT IN():查看结果值是否包含在in括号内

                        select * from users where username in('aaa','bbb');

                       select * from users where username not in('aaa','bbb');


    查看全部
    1 采集 收起 来源:Oracle 范围查询

    2021-01-21

  • 模糊查询:LIKE

            1、通配符(_,%)的使用: 一个_只能代表一个字符,一个%可以代表0到多个任意字符 :

                 查询以a开头的用户名: select * from users where username like 'a%';

                 查询第二个字符为a 的用户名:select * from users where username like '_a%';

                查询含有字符a的用户名:select * from users where username like '%a%';


    查看全部
    0 采集 收起 来源:Oracle 模糊查询

    2021-01-21

  • 算数运算符:

            select id,username,salary+200 from users;(所有工资结果加200)

                注: 在查询语句中,使用算术运算法对字段进行运算(+200),并不影响真正表中的数据,只有update可以;            不等于用 != 或 <>表示

            比较运算符:

              select username from users where salary>800;

            逻辑运算符:

              select username from users where salary>800 or salary<>1801;


    查看全部
  • 唯一约束:

             1、作用:保证设置唯一约束的字段值的唯一性

             2、唯一约束与主键约束的区别:

                (1)主键约束的字段值必须是非空的,而唯一约束允许有一个空值(null)

                (2)主键在每张表中只能有一个,而唯一约束在每张表中可以有多个

            3、在创建表时设置唯一约束(列级)

                    语法:CREATE TABLE table_name(column_name datatype UNIQUE,...);

    spacer.gif

           4、在创建表时设置唯一约束(表级)

                    语法:CREATE TABLE table_name( column_name datatype,...,) CONSTRAINT constraint_name UNIQUE(column_name));

    spacer.gif

                    注:(1)唯一约束的名称(constraint_name)必须唯一;

                           (2)如果想设置多个唯一约束字段,需要将子句(CONSTRAINT u_name UNIQUE(column_name))重复书写即可,唯一约束的名称唯一


    查看全部
  • 外键约束: (表示主从表之间的关系)

             1、在创建表时设置外键约束(列级):

                 语法:CREATE TABLE table1(column_name datatype REFERENCES table2(column_name),...); --其中table2为主表,table1为从表

    spacer.gif

            注:(1)设置外键约束时,主表字段必须为该表的主键字段

                   (2)主从表中相应的字段必须是同一个数据类型

                   (3)从表中外键字段的值必须来自主表中相应字段的值,或者为null值

    eg:

               主表: create table typeinfo (typeid varchar2(10) primary key,typename varchar2(20));

               从表: create table userinfo_f (id varchar2(10) primary key,username varchar2(20),typeid_new varchar(10) references typeinfo(typeid));

                spacer.gif

    spacer.gif

           


    查看全部
  • varchar是标准sql里的,varchar2是oracle所提供的独有的数据类型,前者对于汉字占两个字节,对于数字和英文字符占一个字节,占的内存小,后者一般情况下把所有字符都占两个字节处理

    查看全部
    1 采集 收起 来源:Oracle管理表

    2021-01-20

举报

0/150
提交
取消
课程须知
只要知道数据库是什么就可以来学习本课程呦!
老师告诉你能学到什么?
掌握Oracle的SQL语句基础,为后续的课程学习打好基础。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!