Mysql数据管理【DQL语言】(重点select)

图中选中的部分为运行的代码
DQL( Data Query Language 数据查询语言 )
 
查询数据库数据 , 如SELECT语句
简单的单表查询或多表的复杂查询和嵌套查询
是数据库语言中最核心,最重要的语句
使用频率最高的语句
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 student;

 

-- 查询指定列(学号 , 姓名)--
 SELECT studentno,studentname FROM student;

AS 子句作为别名
作用:
可给数据列取一个新别名
可给表取一个新别名
可把经计算或总结的结果用另一个新名称来代替
-- 这里是为列取别名(当然as关键词可以省略)--
SELECT studentno AS 学号,studentname AS 姓名 FROM student; 
-- 使用as也可以为表取别名 --
SELECT studentno AS 学号,studentname AS 姓名 FROM student AS s;
 
-- 使用as,为查询结果取一个新名字
 -- CONCAT()函数拼接字符串 
SELECT CONCAT('姓名:',studentname) AS 新姓名 FROM student;
DISTINCT关键字的使用(去除重复记录):
 
作用 : 去掉 SELECT 查询返回的记录结果中重复的记录 ( 返回所有列的值都相同 ) , 只返回一条
使用表达式的列:
数据库中的表达式 : 一般由文本值 , 列值 , NULL , 函数和操作符等组成
应用场景 :
SELECT 语句返回结果列中使用
SELECT 语句中的 ORDER BY , HAVING 等子句中使用
DML 语句中的 where 条件语句中使用表达式
 
SELECT @@auto_increment_increment; 
-- 查询自增步长

 

SELECT VERSION(); 
-- 查询版本号

 

SELECT 100*3-1 AS 计算结果; 
-- 表达式

-- pwd集体提加一查看 
SELECT studentno,StudentResult+1 AS '提分后' FROM result;

where条件语句

作用:用于检索数据表中 符合条件 的记录
搜索条件可由一个或多个逻辑表达式组成 , 结果一般为真或假 .
逻辑操作符
-- 在user表中查询pwd等于123,同时id为1的id,name和pwd
SELECT `id`,`name`,`pwd`  FROM `user` WHERE `pwd`=123 AND `id`=1;

-- 查询user表中id不等于1的id,name
SELECT `id`,`name`FROM`user`WHERE`id`!=1;

模糊查询 : 比较操作符

注意:
数值数据类型的记录之间才能进行算术运算 ;
相同数据类型的数据之间才能进行比较 ;
 
-- 查询user表中home为北xxxx的id,name;
SELECT`id`,`name`FROM`user`WHERE `home` LIKE '北%';

-- 查询user表中home为徐x的id,name,sex;
SELECT`id`,`name`,`sex`FROM	`user`WHERE `home`LIKE '徐_';

-- 查询user表中name为xxxx是xxxx的id,name;
SELECT`id`,`name`FROM `user`WHERE `name`like'%是%';

-- 查询user表中
SELECT`id`,`name`,`sex`,`home`FROM `user`WHERE `home`IN('徐州');

-- 查询user表中info不为空的id,name;
SELECT`id`,`name`FROM `user`WHERE `info`is not null;

-- 查询user表中info为空或者为null的id,name;
SELECT`id`,`name`FROM`user`WHERE`info`='' or `info`is NULL;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值