继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

MySQL T4 数据库操作——查询(一)

游戏10代
关注TA
已关注
手记 15
粉丝 10
获赞 273

一、查询的过程:

二、查询语法的基本结构

select 列名1,列名2,...,列名n | * --select 子句
from 表名 --from子句
[where 条件] --where子句、条件子句

条件的格式: 列名 = 值
等于 = 大于> 小于 <
大于等于>= 小于等于 <= 不等于 <>
条件有多个:用 and(且) 和 or (或)连接

1、查询表的所有数据(所有的字段,所有的行)
select *
from tb_student;

/ 创建学生表(学号,姓名,性别,年龄,院系,所在班级,地址,备注) /
create table tb_student(
sno char(6) primary key,
sname varchar(20) not null,
ssex bit default 1, /默认值为男/
sage int,
sdept varchar(10),
sclass char(8),
saddr varchar(20),
sremark varchar(50)
);

/插入基础数据/
insert into tb_student
values('tr001', '乔峰',1,28,'武打系','TR09','河南嵩山','契丹人'),
('tr002', '段誉',1,19,'美术系','TR16','云南大理','不是皇族的皇帝'),
('tr003', '阿紫',0,16,'捣蛋系','TR10','塞外星宿海',null),
('tr004', '阿朱',0,18,'舞蹈系','TR11','江苏苏州','阿紫的姐姐'),
('tr005', '慕容复',1,26,'美术系','TR16','江苏苏州','有点牛'),
('tr006', '虚竹',default,22,'武打系','TR09','湖北武当','逍遥派'),
('tr007', '天上童姥',0,125,'捣蛋系','TR10','湖北武当',null),
('tr008', '铁头人',1,20,'武打系','TR09','河南信阳','游家庄人'),
('tr009', '木婉清',0,20,'舞蹈系','TR11','湖南君山',null);

/1-查询表的所有数据/
select * from tb_student;

/2-查询部分列,所有行的数据/

select sno, sname, sdept
from tb_student

列名之间用逗号,分隔

/3-查询部分列,部分行(加了条件子句)的数据/
/所有女学员/
select sno, sname, sdept
from tb_student
where ssex = 0;

/3-2 对查询结果 按院系排序/
select sno, sname, sdept
from tb_student
where ssex = 0
order by sdept
;

/4:查询结果时,改变列的显示名称(取别名)/
select sno '学号', sname '姓名', sdept '院系'
from tb_student
where ssex = 0;

select sno as '学号', sname as '姓名', sdept as '院系'
from tb_student
where ssex = 0;

/5:合并的列的值,使用函数 concat/
/自我介绍:某系的某某/
select concat(sdept,'的',sname) as '自我介绍'
from tb_student

/6:算同学的出生年/
/
1、有年龄 sage
2、今年2015 - sage,就是出生年
/

select sno, sname, 2015-sage as '出生年份'
from tb_student
where ssex=1;

/7: 小写字母:lower
查询全体学生的姓名、出生年份和所有班,要求用小写字母表示所有班名。
/

select sname,2015-sage '出生年份', lower(sclass)
from tb_student;

/8:去掉重复行,使用关键字:distinct/
select distinct sdept
from tb_student;

总结:
查询语句基本有三个部分组成: select子句,from子句和where子句(也叫:条件子句)
select子句(控制查询结果的列)的写法:
1) ——显示所有列
2)列1, 列2, 列n ——显示部分列,这种格式也叫:列的列表。如:sno,sname,sdept
3)列名 as '别名' ——查询结果显示的列名。如:sname as '姓名'
4)数值列运算(+,-,
,/) 如:2015-sage
5)字符列连接,使用concat函数,concat(列1,列2,列3)。如:concat(sdept,sname)
6)去掉查询结果的重复行,如:distinct sdept
7)列值字母小写,lower。如:lower(sclass)

from子句——控制数据来源于哪些表
from 表名

where子句——控制查询结果的行(符合条件的才显示)
格式:列名 运算符 值 and|or 列名2 运算符2 值2
运算符有: 等于=;小于<;大于>;不等于<>;大于等于>=;小于等于<=
如: ssex = 0, sage < 20
基本上都用于数值型的列,其中 = 和 <> 也可以用于字符型的列

打开App,阅读手记
2人推荐
发表评论
随时随地看视频慕课网APP