鱼C论坛

 找回密码
 立即注册
查看: 720|回复: 0

[mysql] MySQL(四)

[复制链接]
发表于 2023-3-17 20:46:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 yukari123 于 2023-3-21 14:53 编辑

sum()
max()
min()
count()
以上函数都是选择非空集合运算
如果要把空的也算进去需要
count(*)
distinct关键字表示对 distinct 后面的所有列进行组合去重

order by 分组子句
  1. SELECT
  2. 我靠。。。我没保存闪退了 数据全没了


  3. 从我现在学的开始吧。。之前的一大段没保存
  4. [quote][code]SELECT product_id
  5. FROM products p
  6. where NOT EXISTS (
  7.         SELECT product_id
  8.     FROM order_items
  9.     WHERE product_id=p.product_id)
复制代码
[/quote]数值函数:
round()四舍五入一个整数
round(a,b)b为需要四舍五入的精度
ceiling()返回大于或等于的整数
fool()地板函数
ABS()绝对值
RAND()返回随机0-1的浮点数

lower(‘’)字符串小写
LEIGHT(‘’)截取
SUBSTRING(‘’,3,6)截取其实位置3,长度为6的字符
LOCATE(''v,'love')查找后面字符串出现v的次数,不分大小写
REPLACE(‘原字符串’,‘需要替换的’,‘替换后的’)
CONCAT('','')连接两个字符

NOW() 获取当前完整时间
CURDATE()获取简写的日期
CURTIME()获取简写的时间
YEAR(NOW())
DATE(NOW())
MOUNTHNAME(NOW())
EXCEPT(YEAR FROM NOW())
格式化时间 DATE_FORMAT(NOW(),'%M %d %Y') 三月 11 2019
TIME_FORMAT(NOW(),' %H :%i %p')12:12 PM
DATE_ADD(NOW(),INTERVAL 1 YEAR/DAY) 返回一年前的时间,如果用负数就是未来
DATEDIFF('2019-07-21 12;00','2019-07-01 12;00')输出是-20 返回两个日期的时间差
TIME_TO_SEC(‘9:00’)-TIME_TO_SEC(‘9:02’) 输出的是-120 返回秒之差

IFNULL(shipper_id,'没有出货')AS shipper 定义空值
COALESCE(shipper_id,commend,'自定义') 挨个查找,返回

if语句
if(条件,正确输出,错误输出)
  1. SELECT
  2.         product_id,name,order_id,count(order_id) a,if(count(order_id)>1,'多家','单件')
  3. FROM sql_store.products
  4. join order_items using(product_id)
  5. group by product_id
复制代码


CASE语句
  1. CASE
  2.   when 条件 then ‘输入的字符’
  3.   when 条件 then ‘’
  4.   。。。
  5.   else ‘’
  6. END AS 列名
复制代码




                               
登录/注册后可看大图


                               
登录/注册后可看大图

视图view操作
创建
  1. CREATE VIEW 表名 AS
  2. SELECT 。。
复制代码
  1. CREATE VIEW seeseebalancebalance as
  2. SELECT
  3.         c.client_id,
  4.         c.name,
  5.     sum(invoice_total-payment_total) as banlance
  6. FROM sql_invoicing.clients c
  7. join invoices i USING (client_id)
  8. group by client_id,name
复制代码


删除
  1. DROP VIEW 表名
复制代码

覆盖更改
  1. CREATE OR REPLEACE VIEW  表名 AS
复制代码

删除列、更新列
  1. DELECT FROM 视图名
  2. where

  3. UPDATE 视图名
  4. SET
  5. where
复制代码

锁定视图
最后加
  1. WITH OPTION CHECK
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-19 05:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表