SQL平常使用(1)

SQL平常使用简单操作(1)

连接数据库,操作数据库基本

conn 连接
disc 断开数据库连接
passw 修改用户密码
exit 断开数据库连接并且退出黑框或者退出sqlplus
show user 显示当前用户

检索数据

  • 检索一个表
select a.* from student  a;

简单的一条查询语句就出现了。要习惯给表起别名。

  • 检索单个列
 select a.STU_NO from student a;

STU_NO

0721001
0721002
0721003
0721004
0721005

  • 检索多列
 select a.STU_NO ,a.STU_NAME from student a;

STU_NO STU_NAME


0721001 张三
0721002 李四
0721003 王五
0721004 赵四
0721005 钱六

  • 检索去重 distinct
 select distinct a.STU_NO from student a;

使用DISTINCT关键字,它指示数据库只返回不同的值。如果使用DISTINCT关键字,它必须直接放在列名的前面。

警告:不能部分使用DISTINCTDISTINCT关键字作用于所有的列,不仅仅是跟在其后的那一列。
例如,你指定 select distinct a.STU_NO ,a.STU_NAME from student a;除非指定的两列完全相同,否则所有的行都会被检索出来

  • 限制显示行数(数据库不同,使用的方法也不同)
    如果你使用Oracle,需要基于ROWNUM(行计数器)来计算行,像这样:
 select a.STU_NO ,a.STU_NAME from student a where rownum<=5;

只显示检索出的前5行

  • 使用注释(类似于plsql中使用)

注释使用–(两个连字符)嵌在行内。–之后的文本就是注释,

 select distinct a.STU_NO from student a; --这是一条注释

注释从/开始,到/结束,//之间的任何内容都是注释。这种方式常用于给代码加注释。

 select distinct a.STU_NO from student a; /*这是一条注释*/

数据排序

检索出的数据并不是随机显示的。如果不排序,数据一般将以它在底层表中出现的顺序显示,这有可能是数据最初添加到表中的顺序。但是,如果数据随后进行过更新或删除,那么这个顺序将会受到DBMS重用回收存储空间的方式的影响。因此,如果不明确控制的话,则最终的结果不能(也不应该)依赖该排序顺序。关系数据库设计理论认为,如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有任何意义。

order by

 select a.STU_NO ,a.STU_NAME from student a order by  a.STU_NAME;
  • 按多个列排序

经常需要按不止一个列进行数据排序。例如,如果要显示雇员名单,可能希望按姓和名排序(首先按姓排序,然后在每个姓中再按名排序)。如果多个雇员有相同的姓,这样做很有用

SELECT prod_id,prod_price,prod_name 
FROM Products
ORDER BY prod_price,prod_name;

重要的是理解在按多个列排序时,排序的顺序完全按规定进行。换句话说,对于上述例子中的输出,仅在多个行具有相同的prod_price值时才对产品按prod_name进行排序。如果prod_price列中所有的值都是唯一的,则不会按prod_name排序。

  • 指定排序方向

DESC降序,ASC升序,默认升序。

SELECT  prod_id,prod_price,prod_name
FROM  Products 
ORDER BY  prod_price DESC;

对多行进行排序

SELECT  prod_id,prod_price,prod_name
FROM  Products 
ORDER BY  prod_price DESC,prod_name ASC;

使用where子句

学号为0721001的信息

select a.* from student a where a.stu_no=0721001;

商品价格小于10元(单位由设定的时候确定)

select  prod_id,prod_price,prod_name
from Products 
where prod_price<10;
操作符 说明
= 等于
< 小于
<= 小于等于
!= 不等于
<> 不等于
between and 在范围内,包括边界值
is null 等于空值

猜你喜欢

转载自blog.csdn.net/qq_42150316/article/details/88380374
今日推荐