MySQL基础之查询语句

导入学习数据库

  • source /opt/yiibaidb.sql

SQL是什么?MySQL是什么?

  • SQL是结构化查询语言(Structured Query Language)。
  • SQL是一种专门用来与数据库沟通的语言。
  • MySQL是一个关系型数据库管理系统。

查询语句 SELECT FROM

  • 语句解释
    • SELECT 语句用于从表中选取数据。结果被存储在一个结果表中(称为结果集)
    • Java 中返回 ResultSet
  • 去重语句
    • select distinct colnum from table;
  • 前N个语句
    • select colnum from limit n offset 0;
    • 从第1行开始
  • CASE…END判断语句
    *

筛选语句 WHERE

  • 语句解释
    • 数据库表一般包含大量的数据,很少需要检索表中的所有行。通常只会 根据特定操作或报告的需要提取表数据的子集。只检索所需数据需要指 定搜索条件(search criteria),搜索条件也称为过滤条件(filter condition)。
    • 确定值是否为NULL,不能简单地检查是否= NULL。SELECT语句有一个 特殊的WHERE子句,可用来检查具有NULL值的列。这个WHERE子句就 是IS NULL子句。
      • select xxx from table where xxx is (not) NULL;
  • 运算符/通配符/操作符
    • or and and优先级高 (xx or xxx) and xxxx
    • in (xx,xx) 范围
    • not 否定
    • %表示任何字符出现任意次 数
    • _ 匹配一个
    • like `xxx%`
    • 通配符%看起来像是可以匹配任何东西,但有个例外,这就是 NULL。 子句WHERE prod_name LIKE '%'不会匹配产品名称为NULL的行。

分组语句 GROUP BY

  • 聚集函数
    • AVG—返回平均值
    • COUNT()–返回行数
    • FIRST()–返回第一个记录的值
    • LAST()–返回最后一个记录的值
    • MAX()–返回最大值
    • MIN()–返回最小值
    • SUM()–返回总和
    • ABS()–返回绝对值
  • 语句解释
    • 相同的分为一组
  • HAVING子句
    • 在分组的基础上进行筛选

排序语句 ORDER BY

  • 语句解释
    • SELECT prod_name FROM Products ORDER BY prod_name(对prod_name列以字母顺序排序数据)
  • 正序、逆序
    • DESC降序,默认升序(ASC)

函数

  • 时间函数
    • AddDate() 增加一个日期(天、周等)
    • AddTime() 增加一个时间(时、分等)
    • CurDate() 返回当前日期
    • CurTime() 返回当前时间
    • Date() 返回日期时间的日期部分
    • DateDiff() 计算两个日期之差
    • Date_Add() 高度灵活的日期运算函数
    • Date_Format() 返回一个格式化的日期或时间串
    • Day() 返回一个日期的天数部分
    • DayOfWeek() 对于一个日期返回星期几
    • Hour() 返回一个时间的小时部分
    • Minute() 返回一个时间的分钟部分
    • Month() 返回一个日期的月份部分
    • Now() 返回当前的日期和时间
    • Second() 返回一个时间的秒部分
    • Time() 返回当前的日期时间的时间部分
    • Year() 返回一个日期的年份部分
  • 数值函数
    • ABS() 返回一个数的绝对值
    • COS() 返回一个角度的余弦
    • EXP() 返回一个数的指数值
    • MOD() 返回除操作的余数
    • PI() 返回圆周率
    • RAND() 返回一个随机数
    • SIN() 返回一个角度的正弦
    • SQRT() 返回一个数的平方根
    • TAN() 返回一个角度的正切
  • 字符串函数
    • UCASE()–将某个字段转换为大写
    • LCASE()–将某个字段转换为小写
    • MID()–从某个文本字段提取字符
    • SubString(字段,1,end)–从某个文本字段提取字符
    • LEN()–返回某个文本字段的长度
    • ROUND()–对某个数值字段进行指定小数位数的四舍五入
    • NOW()–返回当前的系统日期和时间
    • FORMAT()–格式化某个字段的显示方式

SQL注释

  • 分单行注释和多行注释:
    • 单行注释使用 --
    • 多行注释采用 /*…*/

SQL代码规范

查找所有重复的电子邮箱

  • select email from email group by email having count(email) > 1;

查找大国

  • select name,population,area from world where area>3000000 or (population>25000000 and gdp>20000000);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值