mysql的查查查1

给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性别不等于女的 就是查男的用<>

在性别后面;

 

posted @ 2016-03-02 23:23  菜渣  阅读(226)  评论(0编辑  收藏  举报