您的位置:首页 > 数据库 > MySQL

mysql的查查查1

2016-03-02 23:23 579 查看
给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性别不等于女的 就是查男的用<>

在性别后面;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: