第二阶段 2019.4.3 数据库的查询

查询

语法

select * from 表名
星号 * 代表所有列


select 列名 from 表名


select 列名1,列名2, from 表名

查询的结果,仅仅是虚拟的 跟你你的查询语句显示出来的 而不是真正储存在数据库中表的形态(比如你只查了某一列 他就显示这一列,而不是说这个数据库中这个表就只有这一列)

  • 星号 不要用。 全部查出来 对于项目的性能开销比较大、。

加条件的查询

select * from 表名 where id =1(条件);

select name from student where age = 18;
查询student表中年龄=18岁的人的名字。
在这里插入图片描述

可以通过and加多个条件。

and关键字 表示同时满足多个条件。

or 关键字 表示满足其中一个条件即可

运算符 + - *
在这里插入图片描述


别名

as 关键字 为列\表名 取一个别名。
as 关键字可以省略
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
sal中的数据乘12 然后改成某个列名 显示出来
在这里插入图片描述
select name as (别名) from table 表名 (条件)。

别名是汉字的话加单引号。

AS可以不写 ,不会报错

在这里插入图片描述

运算符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

between and 判断某个值是否在某个范围内

like表示“包含”

在这里插入图片描述

通配符 %

在这里插入图片描述

栗子:需求:所有名字里面"张"的

  like ‘张%’

需求: 所有名字里面 张的

   like '%张%'

需求: 所有 张结尾

  like ‘%张’
下划线

在这里插入图片描述

下划线只能代表一个字符,百分号可以代表多个字符,

下划线和百分号都叫做 == 通配符。==
在这里插入图片描述
在这里插入图片描述

不以“拳”结尾的

关键字in

在这里插入图片描述
在这里插入图片描述

查询出 部门为 七班 武当 和拳击部中任意一个 和年龄小于20的所有符合条件的人的名字

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查询结果顺序排列方法:
在这里插入图片描述
在这里插入图片描述

注意,这个desc关键字在别的里面就不是这个意思了 只有和order by一起的时候才表示降序
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
查询作业:
在这里插入图片描述
在这里插入图片描述

D、查询从2006-5-7起值班列车长各自加班的天数。
E、假如列车提速,K字头列车保持不变、T字头提速20%、Z字头提速25%,请编写更新语句更新列车的速度信息;
F、因降雨道路冲毁,从武汉始发的列车全部停运,请编写删除语句删除所有相关的信息;

A、查询始发站是长沙的车次、到站、始发时间、到站时间;
在这里插入图片描述
在这里插入图片描述

B、查询所有票价大于200的车次、始发站、到站,并且按照票价从高到低排序;
在这里插入图片描述

在这里插入图片描述

C、查询2006-5-7日到长沙至北京的、还有剩余的硬卧票的车次、价格;
在这里插入图片描述
在这里插入图片描述


DML之

插入语句

语法:
insert into 表名(列名1,列名2,列名3) values (值1,值2,值3)。

示例:

insert into user(name,age,Usertimes) values ('虹桥一姐',34,’123‘);

注:不是varchar/char类不要加引号

注意:若写了第一个括号(表名),那后面加的列名的值要和表名数据类型一致,这个时候想插入什么值就写该表名即可。
若第一个括号(列名)不写的话,value后面的值必须要严格按照表头的顺序逐一添加值(包括自增长的id等)。


DML之

修改语句(更新语句)

用于在数据库内修改数据的值。
在这里插入图片描述

[ ] 括起来的表示可写可不写。

语法:update 表名 set 列名 = 值 where 条件;
在这里插入图片描述

若不加条件的话,会把该列的所有值全部改变,所以一般update会伴随着条件一起写。
注意:
1.条件可以为多个或者没有。比如name=’xx‘ and age=’25‘ 此类
2.若同时操作几个列的数据,数据之间要用逗号隔开。

实例:把某个值的数加三
在这里插入图片描述


DML之

删除语句

在这里插入图片描述
语法:delete 表名 where 条件
在这里插入图片描述


子查询:

当一个查询的结果是另一个查询的条件时,只要有两个条件(范围)的,多表关联的时候, 都可以写成子查询 先把结果筛选一遍(第一次查询)然后在筛选过的后面再查询一遍。

先通过select 查出一张“不完整”的表 得到一张只包含某些数据表,
在这里插入图片描述
用括号括起来,后面加上as as后加个别名()然后再次进行查询。

此时可能会出现歧义,那就用别名 加点 加列名
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

在这里插入图片描述

<>不等于的意思

在这里插入图片描述


排序

在这里插入图片描述
在这里插入图片描述

多个列排序

在这里插入图片描述

总结:

1.什么是查询? 查询的语法?
根据某种语法,寻找数据库某个表中符合条件的值。
select * from 表名。 select 列名 from 表名 where condition

2.between and 语法?作用? in 、 not in语法?作用?
a bewteen b and c表示 a在值b和c之间包括b和c 为true,

SELECT *
FROM family
WHERE date
BETWEEN 2011 -05 -06
AND 2011 -05 -10
ORDER BY id

a in(b1,b2,。。。) a为其中任意一个 为真。
a not in(b1 b2。。)a不是括号中任意一个数的时候为真
![在这里插入图片描述](https://im在这里插入图片描述
3.like语法? 作用(什么是通配符)? %与_的区别?
like 表示包含 用于判断数据(字符串)是否包含某个值。
%代表一个或多个数据
_下划线只代表一个数据

4.运算符?

	了解:^ | &  >>>  <<<  >>  <<     

5.什么是插入? 插入的语法?
插入就是向数据库中添加值(行的内容)
intsert into 表名(列名1,列名2.。。)values(数据1,数据2…);
insert into 表名 values(数据1,数据2,。。。)

6.什么是更新? 更新的语法?
更新就是修改数据库中的某个值。
update 表名 set 列名=更新值 [where<更新条件>]
[ ]中可写可不写。

7.什么是删除? 删除的语法?
删除符合条件的值
delete from 表名 where <条件>

8.什么是子查询?
前一个查询的结果是下一个查询的条件的时候,叫做子查询 先把结果筛选一遍 然后把筛选后的结果再筛选一遍。

9.什么是排序?语法? 升序|降序?

将输出的值按照某种条件进行排列

XXX order by (列名) asc/( 空 )/desc

10.修改某一列的默认值?

alter table 表名 alter 列名set default 值;

11.什么是字符串池?
在工作中,String类是我们使用频率非常高的一种对象类型。JVM为了提升性能和减少内存开销,避免字符串的重复创建,其维护了一块特殊的内存空间,这就是我们今天要讨论的核心,即字符串池(String Pool)。字符串池由String类私有的维护。

https://blog.csdn.net/qq_39887964/article/details/79525126

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值