mysql数据库语句中='%s'什么意思_039_MySQL_单表查询

一,简单查询

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

--创建表

DROP TABLE IF EXISTS`person`;CREATE TABLE`person` (

`id`int(11) NOT NULLAUTO_INCREMENT,

`name`varchar(50) NOT NULL,

`age`tinyint(4) DEFAULT '0',

`sex` enum('男','女','人妖') NOT NULL DEFAULT '人妖',

`salary`decimal(10,2) NOT NULL DEFAULT '250.00',

`hire_date` dateNOT NULL,

`dept_id`int(11) DEFAULT NULL,PRIMARY KEY(`id`)

) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;--创建数据

--教学部

INSERT INTO `person` VALUES ('1', 'alex', '28', '人妖', '53000.00', '2010-06-21', '1');INSERT INTO `person` VALUES ('2', 'wupeiqi', '23', '男', '8000.00', '2011-02-21', '1');INSERT INTO `person` VALUES ('3', 'egon', '30', '男', '6500.00', '2015-06-21', '1');INSERT INTO `person` VALUES ('4', 'jingnvshen', '18', '女', '6680.00', '2014-06-21', '1');--销售部

INSERT INTO `person` VALUES ('5', '歪歪', '20', '女', '3000.00', '2015-02-21', '2');INSERT INTO `person` VALUES ('6', '星星', '20', '女', '2000.00', '2018-01-30', '2');INSERT INTO `person` VALUES ('7', '格格', '20', '女', '2000.00', '2018-02-27', '2');INSERT INTO `person` VALUES ('8', '周周', '20', '女', '2000.00', '2015-06-21', '2');--市场部

INSERT INTO `person` VALUES ('9', '月月', '21', '女', '4000.00', '2014-07-21', '3');INSERT INTO `person` VALUES ('10', '安琪', '22', '女', '4000.00', '2015-07-15', '3');--人事部

INSERT INTO `person` VALUES ('11', '周明月', '17', '女', '5000.00', '2014-06-21', '4');--鼓励部

INSERT INTO `person` VALUES ('12', '苍老师', '33', '女', '1000000.00', '2018-02-21', null);

使用的表和数据

#查询语法:

select [distinct]*(所有)|字段名,...字段名 from 表名;

#查询所有字段信息

select * from person;

#查询指定字段信息

select id,name,age,sex,salary from person;

#别名查询,使用的as关键字,as可以省略的

select name,age as'年龄',salary '工资' from person;

#直接对列进行运算,查询出所有人工资,并每人增加100块.

select (5/2);

select name, salary+100 from person;

#剔除重复查询

select distinct age from person;

二,条件查询

条件查询:使用 where关键字 对简单查询的结果集 进行过滤

1,比较运算符:>    <     >=     <=     =    <>     (!=)

2,null  关键字:is null,not null

3,逻辑运算符:与and  或or (多条件时,需要使用逻辑运算符进行连接)

select [distinct]*(所有)|字段名,...字段名 from 表名 [where 条件过滤]

#比较运算符: > < >= <= = <> (!=) is null 是否为null

select * from person where age = 23;

select * from person where age <> 23;

select * from person where age is null;

select * from person where age is not null;

#逻辑运算符: 与 and 或 or

select * from person where age = 23 and salary =29000;

select * from person where age = 23 or salary =29000;

三,区间查询

关键字 between 10 and 20 :表示 获得10 到 20 区间的内容

# 使用 between...and 进行区间 查询

select * from person where salary between 4000 and 8000;

ps: between...and 前后包含所指定的值

等价于 select * from person where salary >= 4000 and salary <= 8000;

四,集合查询

关键字:in, not null

#使用 in 集合(多个字段)查询

select * from person where age in(23,32,18);

等价于: select * from person where age =23 or age = 32 or age =18;

#使用 in 集合 排除指定值查询

select * from person where age not in(23,32,18);

五,模糊查询

关键字:like,not like

% :  任意多个字符

_  : 只能是单个字符

#模糊查询 like %:任意多个字符, _:单个字符

#查询姓名以"张"字开头的

select * from person where name like '张%';

#查询姓名以"张"字结尾的

select * from person where name like '%张';

#查询姓名中含有"张"字的

select * from person where name like '%张%';

#查询 name 名称 是四个字符的人

select * from person where name like '____';

#查询 name 名称 的第二个字符是 'l'的人

select * from person where name like '_l%';

#排除名字带 a的学生

select * from student where name not like 'a%'

六,排序查询

关键字:order by 字段1 desc,字段2 asc

升序: ASC 默认为升序

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值