我们在使用Mysql数据库存储数据时,对数据的查询方法是至关重要的,此博客主要介绍Mysql数据库的查询数据方法。

单表查询

单表查询就是我们仅对一个表进行查询,我们可以首先创建一个名为table的表单:

create table student(id char(36) primary key,name varchar(8) not null,age int(3) default 0,mobile char(11),address varchar(150)
)
insert into student
values ('9b4435ec-372c-456a-b287-e3c5aa23dff4','张三',24,'12345678901','北京海淀');
insert into student
values ('a273ea66-0a42-48d2-a17b-388a2feea244','李%四',10,'98765432130',null);
insert into student
values ('eb0a220a-60ae-47b6-9e6d-a901da9fe355','张李三',11,'18338945560','安徽六安');
insert into student
values ('6ab71673-9502-44ba-8db0-7f625f17a67d','王_五',28,'98765432130','北京朝阳区');
insert into student
values ('0055d61c-eb51-4696-b2da-506e81c3f566','王_五%%',11,'13856901237','吉林省长春市宽平区');

查询语法:

select *|字段列表|表达式 from table_name [where 条件] [order by 字段列表]

1.  *:

*相当于按照表中字段顺序罗列表中的所有字段,但在日常工程开发时,由于使用*非常占用内存,我们通常不采用*进行查询,但在数据库规模较小时,使用*进行查询十分的方便。

2.  字段列表:

当我们不使用*对全部字段进行查询时,就说明我们的查询结果只是表中部分字段,所以我们要将显示的字段罗列出来,字段之间以逗号间隔。

比如我们对student表的name,address进行查询:

select name,address from student

3.表达式:

当然,查询结果也可以是算术运算符也可以是数据库中的函数:

select age+1 from student;
select length(name) from student;

4.table_name:

table_name为需要查询的表名

5.where:

指定查询过滤条件

6.order by:

对查询结果进行排序

别名

1.字段别名

select所选字段后面可以指定别名以使查出来的结果所显示的字段更好理解,字段名与别名之间使用空格或as关键字间隔;为了阅读方便,推荐使用as关键字这种方式定义字段别名。

select age+1 stu_age from student;
select length(name) as name_length from student;

在默认情况下,查询结果中显示的字段名为大写字母,如果别名中包含空格、特殊字符(例如%)或者对大小写敏感,则别名需要使用双引号引起来。

select age+1 "stu age" from student;
select length(name) as "name%length" from student;
#不加双引号,上面SQL语句均无法执行

2.表别名

表别名:表名与别名之间使用空格间隔(MySQL数据库中表的别名可以使用as关键字间隔,但Oracle数据库不允许)。

select student.name,student.address from student
select s.name,s.address from student s#表别名简化了SQL语句

表的别名最多可以有30个字符;

表别名的作用方法在整个select语句中都有效,离开select语句即无效。

WHERE

where是为了指定查询的条件

1.like

进行数据模糊查询

%:匹配0次或多次

select * from student where name like '张%’;#查询姓张的学生信息
select * from student where name like '%李%’;#查询姓名中含有“李”字的学生信息

_:只匹配1次    

select * from student where name like '张_’;#查询两个字的张姓学生信息

escape:取消%或_字符的通配符特性:

#查询姓名中含有%字符的学生信息
select * from student where name like '%#%%' escape ‘#’
#查询姓名中含有%字符的学生信息
select * from student where name like '%$_%' escape ‘$’
#查询姓名以%%结尾的学生信息
select * from student where name like ‘%A%A%' escape ‘A’;

注意: escape后面单引号中只能是单个字符; escape后面可以是字母、#、$、,、\等字符,不能是_;

逻辑条件:and、or

#查询张姓且地址中含有北京的学生信息
select * from student where name like '张%' and address like '%北京%’;
#查询张姓或地址中含有北京的学生信息
select * from student where name like '张%' or address like '%北京%’;

between 下限 and 上限:

等同于“(column_name>=下限) and (column_name<=上限)”

注意: “between 下限 and 上限”一定是小值在前大值在后,否则查不出数据; “between 下限 and 上限”查询数据包括边界值;

order by

查询结果进行排序,必须置于SQL语句的最后,语法:order by {column_name1, column_name2, column_name3, ......column_namen} [asc|desc] 说明: {column_name1, column_name2, column_name3, ......column_namen}:指定需要排列的字段 [asc|desc]:指定排列策略,asc以升序排列,desc以降序排列,默认以升序排列。

distinct

distinct:去除相同的行(“相同的行”指不同行之间的相同列中的数值相同)

例如: select distinct age from student; select distinct age,name from student; 注意:该关键字必须紧跟select关键字的后面,即如下写法是错误的: select age,distinct name from student

Mysql数据库的单表查询相关推荐

  1. mysql数据库之单表查询

    单标查询 单表查询语句 关键字执行的优先级 简单查询 where约束 group by 聚合函数 HAVING过滤 order by 查询排序 LIMIT限制查询的记录数 使用正则表达式查询 单表查询 ...

  2. MySQL数据库之单表查询--示例

    注释.*.条件查询.as取别名.比较-逻辑-算术运算符. and.or.模糊匹配(%._)--示例 1 /* 2 sql中有三种注释方式: 3 1.#:单行注释 4 2.--:代表单行注释,横杠后面要 ...

  3. mysql关键字使用顺序_MySQL数据库之单表查询中关键字的执行顺序

    MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 select distinct from where group by having order by limit 2 执行顺序 from ...

  4. mysql数据库查询关键字级别_MySQL数据库之单表查询中关键字的执行顺序

    MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 select distinct from where group by having order by limit 2 执行顺序 from ...

  5. mysql数据库实验3查询_MySQL数据库实验:任务三 数据库的单表查询设计

    任务三 数据库的单表查询设计 文章目录任务三 数据库的单表查询设计[实训目的与要求][实训原理][实训步骤]一.简单查询二.按条件查询1.比较大小查询2.带in关键字的查询(确定集合)3.带BETWE ...

  6. MySQL数据库实验:任务三 数据库的单表查询设计

    任务三 数据库的单表查询设计 文章目录 任务三 数据库的单表查询设计 [实训目的与要求] [实训原理] [实训步骤] 一.简单查询 二.按条件查询 1.比较大小查询 2.带in关键字的查询(确定集合) ...

  7. mysql 性别以女生升序_MySQL数据库实验:任务三 数据库的单表查询设计

    任务三 数据库的单表查询设计 文章目录 任务三 数据库的单表查询设计 [实训目的与要求] [实训原理] [实训步骤] 一.简单查询 二.按条件查询 1.比较大小查询 2.带in关键字的查询(确定集合) ...

  8. 7.数据库-查-单表查询

    7 .数据库-查-单表查询 因为查询有很多分支 所以分 单表查询 和 多表查询: 简单查询 1.1 SELECT语句 在MySQl中查询语句 最基本就是SELECT语句了,可以用不用的条件来查询表中的 ...

  9. 数据库实验3 数据库的单表查询

    数据库的单表查询 3.1实验目的及要求 掌握简单表的数据查询.数据排序和表链接查询的操作方法 3.2实验内容 简单查询操作和连接查询方式. 3.3实验步骤 3.3.1单表查询: 1.查询全体学生的学号 ...

最新文章

  1. redis 多数据库 database配置项解析
  2. 1.Slf4j使用log4j的配置参数、配置sl4j/log4j输出到不同的文件、案例
  3. 南京工业大学乐学python答案_铁乐学python_day09_作业
  4. 改变mysql的菜单栏的颜色_导航条——动态改变导航菜单的背景颜色
  5. TensorFlow的安装方法
  6. poj2406Power string
  7. zabbix_server
  8. install openni2 on ubuntu
  9. 图像处理1 高斯模糊
  10. React native连续按两次退出app
  11. 现有Unity项目修改渲染管线
  12. h5背景图片尺寸怎么设置_html如何设置图片大小
  13. 共享单车原理大揭秘:小编亲自示范如何“撬锁”
  14. 孤单终结者:神棍节十大“脱光”应用
  15. Java_多线程、并发控制、分布式锁、存储结构、消息队列常见问题
  16. 使用一片通用四运放芯片LM324组成电路(采用Multisim 进行的仿真)
  17. 读书笔记 | 《走出思维的误区》
  18. 条形碎片图纸的自动拼接规则算法matlab仿真
  19. sap销售凭证流mysql表_销售凭证至销售凭证的复制
  20. Ubuntu 16.04 Vysor 破解 和黑屏问题解决+ 闪屏问题解决

热门文章

  1. uniapp组件-uni-rate评分
  2. 如何为Github Pages设置动态的背景图片?
  3. 青云服务器控制台系统,青云QingCloud控制台小程序上线
  4. 回溯算法:从电影《蝴蝶效应》中学习回溯算法的核心思想
  5. (转载)32个Python爬虫项目
  6. CCPROXY的设置方法
  7. 用免疫算法解决TSP问题
  8. 解读高端PCB板的设计工艺!
  9. Java、JSP网上教务评教管理系统(教学评价系统)
  10. 工信部行业划分标准 《关于印发中小企业划型标准规定的通知(工信部联企业〔2011〕300号)》