Oracle命令---第二天

在创建表时设置非空约束
CREATE TABLE table_name(
    column_name datatype NOT NULL,..
);

在修改表时添加非空约束
ALTER TABLE table_name
MODIFY column_name datatype NOT NULL;

在创建表时设置主键约束
CREATE TABLE table_name(
    column_name datatype PRIMARY KEY,...
)

CONSTRAINT constraint_name
PRIMARY KEY(column_name1,...)

在修改表时添加主键约束
ALTER TABLE table_name
ADD CONSTRAINT constraint_name
PRIMARY KEY(column_name1,....);
eg:
alter table users(表名)
add constraint pk_id primary key(column_name);
更改约束的名称
ALTER TABLE table_name
RENAME CONSTRAINT old_name
TO new_name

删除主键约束
DISABLE|ENABLE CONSTRAINT constraint _name
DROP CONSTRAINT constraint_name
DROP PRIMARY KEY[CASCADE]

在创建表时设置外键约束
CREATE TABLE table1
(
    column_name datatype REFERENCES
    table2(column_name),...
);


在创建表时设置外键约束
CONSTRAINT constraint_name FOREIGN
KEY(column_name) REFERENCES
table_name(column_name)[ON DELETE CASCADE]

在修改表时添加外键约束
ADD CONSTRAINT constraint_name FOREIGN
KEY(column_name) REFERENCES
table_name(column_name) [ON DELETE CASCADE]

删除外键约束
DISABLE|ENABLE CONSTRAINT constraint_name
DROP CONSTRAINT constraint_name

在创建表时设置唯一约束
CREATE TABLE table_name
(column_name datatye UNIQUE,...)

CONSTRAINT constraint_name
UNIQUE(column_name)

在修改表时添加唯一约束
ADD CONSTRAINT constraint_name
UNIQUE(column_name);

删除唯一约束
DISABLE|ENABLE CONSTRAINT constraint_name
DROP CONSTAINT constraint_name


在创建表时设置检查约束
CREATE TABLE table_name
(
    column_name datatype CHECK(expression),...
)

在修改表时添加检查约束
ADD CONSTRAINT constraint_name
CHECK(expressions);

删除检查约束
DISABLE|ENABLE CONSTRAINT constraint_name
DROP CONSTRAINT constraint_name


非空约束
主键约束
外键约束
唯一约束
检查约束



查询:
基本查询语句
SELECT [DISTINCT] column_name,...|*
FROM table_name
[WHERE conditions]

在SQL*PLUS中设置格式
COLUMN column_name HEADING new_name
COLUMN column_name FORMAT dataformat
COLUMN column_name CLEAR


查询所有字段
select * from table_name;
查询指定的字段
select column_name,... from table_name;

给字段设置别名
SELECT column_name AS new_name,...
FROM table_name

精确查询:
工资 大于800的  usernam
select uername from users where salary>800;
工资 大于800且不等于1800.5 的  usernam
select uername from users where salary>800 and salary<>1800.5;


模糊查询:
通配符的使用(_,%)

逻辑运算符的优先级:按not,and,or的顺序依次递减
含有a的查询
select column_name from table_name where column_name like '%a%';

范围查询
1、between...and
select * from table_name where colnmu_name between column值 and column值
select * from users where salary not between 800 and 2000;

2、in/not in
查询用户名是aaa或bbb的用户语句
select * from table_name where column_name in('users值','users值');
select * from users where username not in('aaa','bbb');

对查询结果排序
select ...from...[where]
order by column1 desc/asc,....
eg:
select * from users order by id desc(降序)
select * from users order by id desc(升序)

case...when语句的使用
CASE column_name
WHEN value1 THEN result,...
[ELSE result]END

select username,case username when 'aaa' then '计算机部门'
when 'bbb' then '市场部门' else '其他部门' end as 部门
显示如下:
username        部门
-----------------     ----------
aaa            计算机部门
bbb            市场部门
ccc            其他部门


CASE WHEN column_name=value1
THEN result1,...[ELSE result] END
eg:
select username,case when username='aaa' then '计算机部门'
when username='bbb' then '市场部门' else '其他部门' end as 部门
from users;
显示如下:
username        部门
-----------------     ----------
aaa            计算机部门
bbb            市场部门
ccc            其他部门

distinct可以去除多余的行,如,查询员工信息表中的部门编号,要求去除重复数据:select distinct deptno from employee.
使用as关键字设置字段别名的语法:select column_name as new_name,... from table_name;可以同时为多个字段设置别名。
使用column命令设置字段别名的语法:column column_name heading new_name,只能为一个字段设置别名。

decode函数的使用
decode(column_name,value1,result1,
...,dsfaultvalue)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值