select查询

1、DQL查询数据(最重点)

1.1DQL(data query language)

  • 所有的查询操作都用它
  • 简单的查询,复杂的查询都能做
  • 数据库中最核心的语言,最重要的语句
  • 使用频率最高

select 语法

SELECT [ALL | DISTINCT]
{* | table.* | [table.field1[as alias1][,table.field2[as alias2]][,...]]}
FROM table_name [as table_alias]
    [left | right | inner join table_name2]  -- 联合查询
    [WHERE ...]  -- 指定结果需满足的条件
    [GROUP BY ...]  -- 指定结果按照哪几个字段来分组
    [HAVING]  -- 过滤分组的记录必须满足的次要条件
    [ORDER BY ...]  -- 指定查询记录按一个或多个条件排序
    [LIMIT {[offset,]row_count | row_countOFFSET offset}];
    --  指定查询的记录从哪条至哪条

注意:[]括号代表可选的,{}括号代表必选的

指定查询字段

-- 查询全部学生select 字段 FROM 表
SELECT *FROM student
SELECT *FROM result
-- 查询指定字段
SELECT `studentno`,`studentname` FROM student
-- 别名,给结果起一个名字   AS  可以给字段起别名,也可以给表起别名
SELECT `studentno`AS 学号,`studentname`AS 姓名 FROM student AS a
-- 函数Concat(a,b)
SELECT CONCAT('姓名: ',studentname)AS 新名字 FROM student

有时,列名字不是那么见名知意,我们起别名 AS 字段名 as别名 表名 as
去重 distinct
去除SELECT查询出来的结果中重复的数据,只显示一条

-- 查询哪些同学有成绩
SELECT *FROM result -- 这是全部成绩
SELECT `studentno` FROM result -- 查询有哪些同学参加了考试
-- 发现重复数据。去重
SELECT DISTINCT`studentno`FROM result

数据库的列(表达式)

SELECT VERSION()-- 查询系统版本(函数)
SELECT 100-3*23-- 用来计算(表达式)
SELECT @@auto_increment_increment-- 查询自增的步长(变量)
-- 学员考试成绩+1分
SELECT `studentno`,`studentresult`+1 AS '提分后' FROM result

数据库中的表达式:文本值,列,null,函数,计算表达式,系统变量…

2、where条件字句

作用:检索数据中符合条件的值
所有的条件由一个或者多个表达式组成!结果 布尔值
模糊查询:比较运算符
| 运算符 |语法 | 描述|
|–|–|–|–|
|IS NULL | a is null| 如果操作符为null,结果为真 |
| IS NOT NULL |a is not null | 如果操作符不为null,结果为真|
| BETWEEN |a between b and c | 若a在b和c之间,结果为真| |
| Like |a like b |sql 匹配,如果a匹配b,则结果为真 | |
|In |a in(a1,a2,a3…) | 假设a在a1,或者a2…其中的一个值中,结果为真| |
| | | | |

-- 模糊查询
-- LIKE结合%(代表0到任意个字符)    _(一个字符)
SELECT `studentname`,`studentno`FROM`student`
WHERE studentname LIKE'刘%'
-- 查询姓刘的同学,名字后面只有一个字的
SELECT `studentname`,`studentno`FROM`student`
WHERE studentname like'刘_'
-- 查询姓刘的同学,名字后面只有2个字的
SELECT `studentname`,`studentno`FROM`student`
WHERE studentname like'刘__'
-- 查询姓刘的同学,名字后面只有一个字的
SELECT `studentname`,`studentno`FROM`student`
WHERE studentname like'刘_'
-- 查询名字中有嘉的    %嘉%
SELECT `studentname`,`studentno`FROM`student`
WHERE studentname like'%嘉%'


-- ========In(具体的一个或者多个值)=========
-- 查询1001,1002,1003号学员
SELECT `studentname`,`studentno`FROM`student`
WHERE studentno IN (1001,1002,1003)
-- 查询在北京的学生
SELECT `studentname`,`studentno`FROM`student`
WHERE address IN('山东烟台')


-- null   NOT NULL
SELECT `studentname`,`studentno`FROM`student`
WHERE address IS NULL
-- 查询有出生日期的同学   不为空
SELECT `studentname`,`studentno`FROM`student`
WHERE borndate IS NOT NULL

count() 是个聚合函数 作用是求表的所有记录数
select * from 表名 这个是查询表的所有记录
select count(*) from 表名 这个是查询表的所有记录数

SELECT count(*) FROM t_address WHERE uid=?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值