-
MySQL语句规范
关键字与函数名称全部大写
数据库名称、表名称、字段名称全部小写
SQL语句必须以分号结尾
查看全部 -
5-4[NOT] IN/EXISTS引发的子查询
查看全部 -
5-4[NOT] IN/EXISTS引发的子查询
-- = ANY 或 = SOME 等价于 IN
SELECT goods_id,goods_name,goods_price FROM tdb_goods
WHERE goods_price IN (SELECT goods_price FROM tdb_goods WHERE goods_cate = '超级本')
ORDER BY goods_price DESC;
查看全部 -
5-3使用比较运算符的子查询:
修饰符
SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price >= ANY(SELECT goods_price FROM tdb_goods WHERE goods_cate = '超级本') ORDER BY goods_price DESC;
SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price > ALL(SELECT goods_price FROM tdb_goods WHERE goods_cate = '超级本') ORDER BY goods_price DESC; # 查找价格比所有的超级本类型的商品价格还要大的商品
#-- 查询价格大于或等于"超级本"价格的商品,并且按价格降序排列
SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price = ANY(SELECT goods_price FROM tdb_goods WHERE goods_cate = '超级本') ORDER BY goods_price DESC;
#-- 查询价格等于任意"超级本"价格的商品,并且按价格降序排列
查看全部 -
5-3使用比较运算符的子查询:
修饰符
在子查询返回多个结果时,可以使用any、some或者all来修饰。
查看全部 -
5-3使用比较运算符的子查询:
SELECT goods_price FROM tdb_goods WHERE goods_cate='超级本';#查询商品类型为超级本的价格都有哪些
select * from tdb_goods where goods_cate='超级本';#查询类型为超级本的商品的全部信息
查看全部 -
5-3使用比较运算符的子查询:
SELECT AVG(goods_price) FROM tdb_goods;#查找表中商品的平均价格
SELECT ROUND(AVG(goods_price),2) FROM tdb_goods;#查找表中商品的平均价格,并四舍五入保留两位小数。
SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price >=5636.36;
#查询表中价格大于等于平均价格的goods_id,goods_name,goods_price
把上上一个求平均价格的sql语句代入>=后面,用()包裹成子查询语句:
SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price >=(SELECT ROUND(AVG(goods_price),2) FROM tdb_goods);
查看全部 -
5-3使用比较运算符的子查询:
查看全部 -
5-2mysql子查询:
查看全部 -
5-2mysql子查询:
查看全部 -
5-2mysql子查询:
查看全部 -
SET NAMES gbk;
以gbk形式编码;
只影响客户端的显示,不影响真实的数据表
查看全部 -
存储过程与自定义函数的区别
【1】存储过程实现的功能要复杂一些;而函数的针对性更强(实际工作中很少使用函数针对表进行操作,都是使用存储过程对表进行操作)。
【2】存储过程可以返回多个值,而函数只能有一个返回值。
【3】存储过程一般独立的来执行(CALL 存储过程名),而函数一般作为SQL语句的组成来出现和内置函数功能一致。
查看全部 -
MySQL创建带有多个OUT类型参数的存储过程(创建存储过程根据年龄age字段删除记录,返回的信息有两个,一个是删除的用户数,一个是剩余的用户数)
调用多个OUT类型参数的存储过程
ROW_COUNT()函数:得到插入、删除、更新、被影响到的记录总数(SELECT ROW_COUNT())。
CONCAT(参数1,参数2):在原有参数1值上加上参数2.
查看全部 -
创建带有IN和OUT类型参数的存储过程(存储过程中删除指定Id的记录并且返回剩余记录数)
INTO作用:将select结果放入变量。
调用带有IN和OUT类型参数的存储过程(由于删除后第二个参数会返回一个数值,这里需要用变量去承接)SELECT 变量名;
在BEGIN和END中通过declare声明的变量为局部变量,作用范围只在BEGIN和END之间(BEGIN和END语句块运行完后,也就消失了),而且在BEGIN和END使用declare声明变量必须位于第一行。还可以通过SET 变量名=值,来声明变量,这种方式声明的变量为用户变量,用户变量和Mysql客户端绑定的,作用域只对当前用户所登陆的客户端生效,尤其带@符号,称为用户变量。
查看全部
举报