查询
语法
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类私有的维护。