oracle12数据库之SQL二

1. ORACLE数据库官网上下载ORACLE数据库时,一定要选择accept license agreement ,其意思是:接收许可协议。

2.windows 可以将Oracle服务器作为服务来运行,通常在安装时需要具有系统的管理员权限。

3.现有用户信息表 user_info;其表结构如下:   

  

        现在需要将字段USERNUM,USERNAME,PASSWORD三个字段添加非空约束,此时需要使用到 alter 命令 ,如果一个字段一个字段的修改,就需要输入三次 alter命令,这就显得有些麻烦,增加了代码量和个人工作负担。有没有一种方式能够使用一次alter命令,就修改USERNUM,USERNAME,PASSWORD 三个字段,为其添加非空约束呢?答案当然可以。

我们先来看一次修改一个字段,为其添加非空约束的方式:

l   usernum字段添加非空约束

alter table user_info modify USERNUM not null;      

l    username字段添加非空约束          

alter table user_info modify USERNAME not null;

l     password字段添加非空约束

alter table user_info modify PASSWORD not null;     

观察上述代码,发现很多语句重复。这样的确不太好。下面我们就使用另一种方法一次性为USERNUM,USERNAME,PASSWWORD三个字段添加非空约束。其SQL语句为:

alter table user_info modify(USERNUM NOT NULL,USERNAME NOT NULL,PASSWORD NOT NULL);

将需要修改的三个字段用括号括起来,字段之间使用逗号隔开。  

v     数据查询:数据查询一般分为简单查询,条件查询,子查询,多表查询。现在就简单查询和条件查询展开讨论。

简单查询需要用到select子句和from子句。

Eg : 查询user_info表中的全部数据。

Select *from uesr_info;   *号表示查询全部数据。

Eg : 查询user_info表中的ID,NAME字段的值。

Select  ID,NAME  from  user_info;

条件查询(限定查询)需要用到select,from,where子句。

Eg: 查询user_info表中ID=201701,NAME=admin的记录。

select id,name from dms_auth_code where id=-1 and name='编码管理';     

Eg: 查询user_info表中ID=1的全部记录。

Select * from user_info where ID=1;

通过上述例子,我们得出相关结论:

1. 条件查询的查询范围只能在同一张表的同一条记录中,不能将同表不同记录作为查询条件。这样的做法会导致查不到任何数据。

其中select,from,where子句的执行顺序一定是:

第一步:执行from子句,来控制数据来源。

第二步:执行where子句,使用限定符进行数据行的过滤。

第三步:执行select子句,确定要显示的数据列。

鉴于上述条件查询语句的执行顺序的问题,where子句无法使用select子句中定义的别名。因为where子句在select子句的之前执行。

发布了38 篇原创文章 · 获赞 19 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章