MySQl单表查询数据记录where条件语句的运用-章节4

单表查询数据记录

简单数据查询

约定 field是字段,table_name是数据库的表名

1、查询所有字段数据
select field1,field2,field3,...,fieldn

​		from table_name;
2、使用通配符 * 查询所有字段数据
select * from table_name;
3、查询指定字段数据
select field2,field4,field1 from table_name;

提示:在查询指定字段和查询所有字段的时候select后的查询的字段的位置是可以根据实际需求调整

避免重复数据查询----distinct

约定 field是字段,table_name是数据库的表名

实现查询不同的数据
select distinct field1,field3

​			from table_name;

实现数学四则运算数据查询

运算符描述
+加法
-减法
*乘法
/(DIV)除法
%(MOD)求余

约定 field是字段,table_name是数据库的表名

field2为公司员工的名字

field4为double数据类型的月薪,doule(10,2)则 表示双精度浮点型,总长度是*10,*小数点后保留两位小数

查询字段filed2字段的的年薪
select filed2,field4*12from table_name;
查询字段并修改字段名
select field2,field4*12 as otherfield 

​		from table_name;

注意:因为select语句仅仅是查询语句,as后面的新字段仅仅也是在语义上更直观的妥协,并不是真的修改table_name表里的字段

desc table_name;或者select * from table_name;后发现表里的数据并没有发生改变

设置显示格式的数据查询

介绍前先学个单词:concat n. 合并多个数组;合并多个字符串

约定 field是字段,table_name是数据库的表名

field2为公司员工的名字

field4为double数据类型的月薪,doule(10,2)则 表示双精度浮点型,总长度是*10,*小数点后保留两位小数

特殊定制格式的数据查询
select concat(filed2,'雇员的年薪为:',sal*12)  as otherfield

​		from table_name;

条件数据记录查询

带有关系运算符和逻辑运算符的条件数据查询

MySQL支持的比较运算符的表

运算符描述
>大于
<小于
=等于
!=(<>)不等于
>=大于等于
<=小于等于

MySQL支持的逻辑运算符的表

运算符描述
and(&&)逻辑与
or(||)逻辑或
xor逻辑异或
not(!)逻辑非

约定 field是字段,table_name是数据库的表名

field2为公司员工的名字

field3为公司员工的家庭地址

field4为double数据类型的月薪,doule(10,2)则 表示双精度浮点型,总长度是*10,*小数点后保留两位小数

伯克利为table_name表中众多地址的一个

1、单条件数据查询
select field2

​		from table_name

​				where field3='伯克利';

解释:查询table_name表中field2字段下,列出field3的值为伯克利的数据

2、多条件数据查询
select field2

​		from table_name

​				where field3='伯克利' and field4<300;

解释:查询table_name表中field2字段下,列出field3的值为伯克利和field4的值小于300的数据

在MySQL支持的逻辑运算符的表中可以发现 可以使用&&来替换and,两者执行后的结果一致

带between and关键字的范围查询

field2为公司员工的名字

field4为double数据类型的月薪

value1是field4下的数据为100

value2是field4下的数据为200

1、符合范围的数据记录查询
select	field4

​		from table_name

​				where field4 between value1 and value2;		
2、不符合范围的数据记录查询
select field4

​		from table_name

​				where field4 not between value1 and value2;

带is null关键字的范围查询

field2为公司员工的名字

field4为double数据类型的月薪

1、空值数据记录查询
select field2

​		from table_name

​				where filed4 is null;
2、不是空值记录查询
select field2

​		from table_name

​				where not filed4 is null;

带in关键字的集合查询

field2为公司员工的名字

field1为公司员工编号

1001 1003 1100为field1中的值

1、在集合中数据记录查询–用in
select field2

​		from	table_name

​				where field1 in (1001 1003 1100);

或逻辑运算也可以实现:

select field2

​			from table_name

​					where field1=1001 or field1=1003 or field=1100;
2、不在集合中数据的查询-用in
select field2

​		from	table_name

​				where field1 not in (1001 1003 1100);

非逻辑运算也可以实现

select field2

​		from	table_name

​				where not field1  in (1001 1003 1100);

带like关键字的模糊查询

“_”通配符,能匹配单个字符

“%”通配符,该通配符值可以匹配任意长度的字符串,可以是0,1,也可以是多个

带百分号%通配符的like模糊查询

1、like模糊查询以a字母开头的数据记录–带百分号%
select field2

​		from table_name

​				where filed4 like 'a%';
2、非运算符解决like模糊查询查询不以a字母开头的数据记录—带百分号%
select field2

​		from table_name

​				where not filed4 like 'a%';

带下划线_通配符的like查询

1、like模糊查询第二个字母是a开头的数据记录–带下划线_
select field2

​		from table_name

​				where field like '_a%';
2、非逻辑运算符解决like模糊查询第二个字母不是a开头的数据记录–带下划线_
select field2

​		from table_name

​				where not field like '_a%';

带like关键字的模糊查询的注意点

查询没有字母为a的记录-----就是除了a字母以外的数据记录

其实like关键字提供了 not like 关键字

select field2

​		from table_name

​				where  field2 not like '%a%';
非逻辑运算符解决查询没有字母为a的记录

方法1

select field2

​		from table_name

​				where  not field2  like '%a%';

方法2

select field2

​		from table_name

​				where  !( field2  like '%a%');
查询所有数据记录%%
select field2

​		from table_name

​				where  field2  like '%%';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值