SQL 必知必会(学习笔记一)
作者:互联网
SQL 必知必会(学习笔记一)
了解SQL
大一的时候有开始接触过Mysql,下载下来完了下,创建root账号登录登出权限,接着搞了下数据库create DATABASE ,然后求知欲不是很强,弄了一个helloworld就止步于此了
一直到后面两门课程设计即使用了Mysql都直接用的别人现成的.sql文件,毕业设计就更简单了,mongodb有手就行。存的也是json,demo就几条数据用着还挺爽。
工作了就不行了,公司用的就是mysql,刚开始还好,写的都是内存相关,基本都没接触到数据库内容。
直到有一天我写了个 致命功能,误用write和update,我发现的时候已经在现网已经运行了一段时间,这个问题会导致用户的数据异常,更疯狂的是当时我为了改这个bug还差点误删了其他用户的数据,虽然后面都一一补救回来了,但是这个事情确实使我震撼住了,以后凡是涉及到数据库的操作一定要小心。正好的是今天需要找回一个用户的数据,我发现我对sql可以说一窍不通,百度了一条正确的语句成功搞定这个任务了。说着就今天就趁此机会深入学习了sql
检索数据
使用SELECT语句来检索
单列
SELECT prod_name
FROM Products;
多列
SELECT prod_id,prod_name,prod_price
FROM Products;
所有列
SELECT *
FROM Products;
是通配符*,代表返回表中所有列。
- 检索不同的值
SELECT DISTINCT vend_id
FROM Products;
只返回不同(具有唯一性)的vend_id行。如果需要使用DISTINCT关键字,必须放在列名的前面,并且作用于所有的列
- 找对应的行
SELECT prod_name
FROM Products
WHERE ROWNUM <=5;
小于五的行
排序检索数据
- 单列
前面使用的SELECET检索出来的数据是无序的,为了明确排序用SELECT语句检索出的数据,使用ORDER BY子句取一个或者多个列的名字
从A_Z是默认的排序顺序
SELECT prod_name
FROM Products
ORDER BY prod_name
ORDER BY必须放在末尾
- 多列
SELECT prod_id, prod_price,prod_name
FROM Products
ORDER BY prod_price,prod_name
优先按照prod_price排序,若相同按照prod_name排序
- 除了按照名字指出排序顺序以外,还可以使用相对列位置进行
- ORDER BY 2,3; 和上面的命令实现了同样的效果(不建议使用)
若要降序(Z_A),需要指定DESC关键字
SELECT prod_id,prod_price,prod_name
FROM Products
ORDER BY prod_price DESC;
按照价格降序排序(最贵的将会排在最前面)
DESC只应用到直接位于他前面的列名。如
ORDER BY prod_price DESC,prod_name;
这里的prod_price 将会按照降序排列,但是相同的价格,会按照prod_name 升序排列
标签:name,必知,price,SQL,Products,必会,prod,ORDER,SELECT 来源: https://www.cnblogs.com/celiachu/p/15948348.html