给along表添加servlet和jsp 成绩列
ALTER TABLE along ADD servlet INT ,ADD jsp INT;
DESC along;
以上的意思 就加完了。。。俩列创建了 俩个列 servlet和jsp的
2:现在网 servlet和jsp 里添加数据;
UPDATE along SET servlet=70,jsp=85 WHERE id=1;
UPDATE along SET servlet=65,jsp=90 WHERE id=2;
along 是表 完了 给 id=1;的 赋值 severlt 70,jsp=85;
along 是表 完了 给 id=2;的 赋值 severlt 80,jsp=95;
现在 已经给 以上付完值了;
3: 现在 判空 条件(null 空字符串);
null 和啥都没有的空 是两个东西, is null/ is not null /==""
需求; 查询地址为空的学生(包括null 和空字符串)查询空
null vs 空字符串
null :表示没有值;
空字符串:有值的!
SELECT* FROM along WHERE address IS NULL;
3:判断空字符串 :
代码:SELECT* FROM along WHERE address=' ';
判断along表里的 address 列有没有 null
第二句代码的意思 跟上面一样 是判断 有没有空 就是什么都没有的
null 是有值的 空是 没有值的;
SELECT* FROM along WHERE address IS NULL OP address=‘ ’;
以上代码 即能判断空 又能判断 null;
4: 需求 查询 有地址的 学生(不包括null和空字符串的)
SELECT* FROM along WHERE address IS NOT NULL OR address<>'';
address交集 不等于空格式adderss<>''; 大写的‘’ 这个;
5: 模糊条件: like
通常 要使用以下的 替换标记:
第一个%:表示任意个字符
% 代表可以替换任意 一个字符,牛叉呀!
因为你后面写个张 也没讲 姓张三 还是 张四 所以要用个%
顺序别差了
需求: 查询姓张的 学生
代码:SELECT* FROM along where NAME LIKE '张%';
这样就把那个姓张的查询出来了 要是想查李四就这样
代码:SELECT* FROM along where NAME LIKE '李%';
用LIKE替换= 这就叫模糊匹配
先增加一个6行的2 数 数据
INSERT INTO along VALUES(4,'陈六','男',28,75,80);
INSERT INTO along VALUES(4,'李四六','男',28,75,80);
一定要看好几横 不要多 不要少
1:% 表示任意个字符
2:_下划线表示一个字符
6: 需求 查询 姓 李 ,且 姓名只有两个字的学生
SELECT*FROM along WHERE NAME LIKE '李_';
:要是 要三个字的李 姓名的 就加__ 2个下划线三个在加
7:合并查询
需求 每个学生的servlet和jsp的总成绩
只能合并数值类型的就是数字的
通常统计 俩列数字类型的总和
SELECT id ,(NAME+servlet) FROM along;
就是用 id 查找 name+servlet的 总和 总成绩查找
6:查询时去除 重复记录 DISTINCT
需求 查询学生的性别 男女
SELECT DISTINCT gender FROM along;
就是固定班底查询 select 加去除重复的 distinct 完了
查gender from 的along 表;
还有一种语法
SELECT DISTINCT (gender) FROM along;
加个括弧啊!
查询地区 或者查询什么 用这招
SELECT address FROM along;
就是 固定模式 select 外加 要查的表的 行的单词 外加from固定模式along表;
SELECT DISTINCT address FROM along;
去除 重复的!
where 条件查询
2:1 类 逻辑条件 and(与) or(或)
需求:查询id 为2 且 姓名为李四的学生
SELECT *FROM along WHERE id=2;name=‘李四’;
他没显示 字段 就用* 显示
怎么理解呢 就是 一旦有俩个条件以上的需要判断的
就要设计到 与或者 或!一定要有个逻辑关系
一看就是 与 或是俩个一样的
与是 俩个不搭嘎的 东西
SELECT *FROM along WHERE id=2 AND NAME='李四';
这样搞 正常模式 along 的表 where 条件查询没给所以用where 完了 用
and 俩个不搭的 东西 所以这么写
SELECT *FROM along WHERE id=2; AND NAME='张三';
重点是 id 要对 1或2 完了 名字
现在演示或的 意思了 妹的看汉字 了解需求呀
#: 查询一个名为id=2的或 姓名为张三的学生;
select*feom along where id=2 OR name=‘张三’;
‘OR 代表或 就是 这个查询固定模式 along 表 没有指定的级 where 完了 id=2 或者找那么等于
张三的人;2选一 条件搜索 用or
and 是交集 or 是并集;
2类就 比较条件 :> < >= <= <> (不等于) between and
需求:查询 我们 select 是大于70分的学生
SELECT * FROM along WHERE Servlet>70;
正常查 完了along 表 没有特定的值就是where servlet>70 值大于70的
需求jsp 成绩大于等于70分的且小于等于90分
SELECT*FROM along WHERE JSP>=70 AND JSP<=90;
另一种写法
SELECT*FROM along WHERE JSP between70 AND 90;
between 相当于<= 或者=>
他还有个别名 叫包前 包后
SELECT*FROM along WHERE JSP BETWEEN 70 AND 90;
-不等号<> 需求 name 不等于男的代码
SELECT*FROM along WHERE gender<>'女';
就是用along 表查where gender性别不等于女的 就是查男的用<>
在性别后面;