当前位置: 首页 > news >正文

网站关键词更改网页游戏平台官网

网站关键词更改,网页游戏平台官网,手机网站设计规格,建设网站的原则【一】筛选过滤条件 【1】完整的查询语句 -- 查询当前表中的全部数据select * from 表名 where 筛选条件;​-- 查询当前表中的指定字段的数据select 字段名,字段名 from 表名 where 筛选条件;# 执行顺序from where select ​select 你选择的列1, 你选择的列2, ... from 查询的…

【一】筛选过滤条件

【1】完整的查询语句

-- 查询当前表中的全部数据select * from 表名 where 筛选条件;​-- 查询当前表中的指定字段的数据select 字段名,字段名 from 表名 where 筛选条件;# 执行顺序from
where
select
​select 你选择的列1, 你选择的列2, ...
from 查询的表名
where 筛选条件;

例如:

  • 等于:=(例如:age = 25

  • 不等于:<>!=(例如:age <> 25

  • 大于:>(例如:salary > 5000

  • 小于:<(例如:rating < 4.5

  • 大于等于:>=(例如:quantity >= 10

  • 小于等于:<=(例如:price <= 100

  • 模糊匹配:LIKE(例如:name LIKE 'J%'

  • 范围:BETWEEN(例如:age BETWEEN 18 AND 30

  • 列表:IN(例如:department IN ('IT', 'Finance')

具体示例:

select * from employeewhere employee_id = '2';

image-20240125193149346

【2】数据准备

( 1 )创建数据库

create database Student;

( 2 )切换到Student数据库

use Student;

image-20240125194108716

( 3 ) 创建school表

create table school (id int primary key auto_increment comment'id 信息',course varchar(255),lecturer varchar(255),address varchar(255)
);

( 4 )再插入我们需要的数据

insert into school (id, course, lecturer, address) values(1, 'go', 'xiao', '301'),(2, 'java', 'mao', '302'),(3, 'paython', 'jing', '303'),(4, 'seo', 'yi', '304'),(5, 'API接口', 'bao', '305'),(6, 'Vue', 'peng', '306'),(7, 'CSS', 'ban', '307'),(8, 'Web', 'tian', '308'),(9, 'MySQL', 'yun', '309');

( 5 ) 查询信息

select * from school;

image-20240125194836222

select * from school\G;# MySQL 将以垂直格式显示查询结果

image-20240125194948244

【3】查询联系

  • 查询 id 在 1 ~ 5 之间的数据

-- 原始模版select * from * where *;
​
-- 最麻烦的写法select * from school where id>=1 and id <=5;
​
-- 在SQL语句中没有 select * from school where 1<= id <=5;
​
-- 优化后的写法select * from school where id between 1 and 5;

image-20240125201114725

or

select * from * where *;
​
-- 最原始的写法 三个 orselect * from school where course='go' or course='java' or course='API接口';
​
-- 简单写法,成员运算select * from school where course in ('go','paython','seo');

image-20240125201441810

  • 查询 课程名称中包含字母a的课程

select * from * where *;
​# % 匹配多个字符
# _ 匹配一个字符select * from school where course like "%a%";select * from school where course like "_a%";

image-20240125201632215

image-20240125201712554

  • 查询课程,跟老师姓名是由六个字符组成

select lecturer,course from school where char_length(lecturer) = 4;

image-20240125201943539

【二】分组条件

【1】分组条件group by

  • 每个,平均、最高、最低

【2】语法

select * from 表名 group by 分组条件;select 列名1, count(*), sum(列名2), avg(列名3)from table_namegroup by 列名1;# 查询所有列select group_concat(course) from 表名 group by 列名;
​# 拼接select group_concat(course : teachar_name) from 表名 group by 列名;group_concat 必须分组之后才能使用
concat 不分组也能使用

【3】准备工作

create table scores (student_id int,course varchar(255),score int
);
​insert into scores (student_id, course, score) values
(1, '数学', 80),
(1, '英语', 90),
(1, '物理', 70),
(2, '数学', 85),
(2, '英语', 92),
(2, '物理', 75),
(3, '数学', 90),
(3, '英语', 85),
(3, '物理', 80),
(4, '数学', 87),
(4, '英语', 88),
(4, '物理', 79);

case 这个就是如果的意思

SET就是更新表中数据的关键字。它用于指定要修改的列和新的值。

通常,SET 关键字与 UPDATE 语句一起使用,用于更新表中的记录。以下是使用 SET 的一般语法:

update 表名
set 列名1 = 新值1, 列名2 = 新值2, ...
where 条件;

示例:

假设我们有一个名为 scores 的表,其中包含学生的成绩信息。要更新学生ID为1的学生的成绩,将数学成绩修改为90分

update scoresset math_score = 90where student_id = 1;
select student_name,casewhen score >= 90 then '优秀'when score >= 80 then '良好'when score >= 70 then '中等'else '不及格'end as grade
from scores;

我这里可以插入一列老师名字信息

alter table scores
add column teacher_name varchar(255);

image-20240125220845793

update scores
set teacher_name = 
case student_idwhen 1  then '痴梦老师'when 2  then '赵老师'when 3  then '刘老师'when 4  then '张老师'
end;

image-20240125202624849

image-20240125202644197

  • 使用分组条件group by来计算每门课程的平均、最高和最低分数。

select course, avg(score) as avg_score, max(score) as max_score, min(score) as min_score 
from scores group by course;

image-20240125203423192

【4】分组注意事项

(1)where和group by可以同时使用,但是要注意顺序

select * from * where *;
select * from * group by *;
​
-- 同时出现要有先后顺序 
-- where 先对整体过滤 group by 再对局部过滤
select * from * where * group by *;

(2)where不能使用聚合函数

  • 先筛选出课程是英语的信息

-- 方法一
select student_id,course,score from scores where course = '英语' or course = '物理';
  • 先筛选出课程是英语跟语文的信息

-- 方法二
select * from scores
where course in ('英语', '物理');

  • 再对大于85分以上跟小于85分进行分组

select casewhen score > 85 then '大于85分'when score <= 85 then '小于等于85分'end as score_group,count(*) as count
from scores
group by score_group;
  • 成绩大于75分的学生

select student_id, avg(score)
from scores
where score > 75
group by student_id;
  • select student_id, avg(score):选择学生ID和成绩平均值,这里使用avg()聚合函数来计算每个学生的成绩平均值。

  • from scores:指定要查询的表为scores

  • where score > 75:指定筛选条件为分数大于75分。

  • group by student_id:按照学生ID进行分组。

image-20240125205532771

image-20240125211128852

【三】having(分组之后筛选)

【1】注意事项

  • having的语法和where是一致的

  • 只不过having是在分组之后进行的过滤操作

  • 即having是可以直接使用聚合函数的

select * from * where * group by * having *;

【2】练习

  • scores的表中选取所有分数大于85分的学生,然后按照学生ID进行分组,并计算每个学生的分数大于85分的成绩的平均值。

select student_id,avg(score) from scoreswhere score > 85group by student_idhaving avg(score)>=90;
​
  • SELECT student_id, AVG(score):选择学生ID和成绩平均值,这里使用AVG()聚合函数来计算每个学生的成绩平均值。

  • FROM scores:指定要查询的表为scores

  • WHERE score > 85:指定筛选条件为分数大于85分。

  • GROUP BY student_id:按照学生ID进行分组。

  • HAVING AVG(score):指定筛选条件为成绩平均值大于等于90,

image-20240125221426911

【四】筛选条件之distinct(去重)

【1】注意事项

  • 必须是完全一样的数据才可以去重

  • 一定要注意主键的问题

  • 在主键存在的情况下是一定不可能去重的

【2】练习

select distinct student_id,course from scores;

image-20240125221704868

select distinct course from scores;

image-20240125221829863

【五】筛选条件之(order by)排序

  • asc 默认省略不写 ----> 修改降序

  • order by 列名 desc; : 降序

  • order by 列名: 默认是升序

【1】将scores表中的数据按照分数排序(升序)

select * from scores order by score;

image-20240126153942758

【2】将scores表中的数据按照分数排序(降序)

select * from scores order by score desc;

image-20240126154133521

【3】将scores表中的数据按照分数排序(降序),年龄升序排序。

  • 先在表中插入新的老师年龄数据

alter table 表名 add 列名 数据类型;
alter table scores
add column age varchar(255);更新原始数据表scores中的数据update scores
set age = 
case teacher_namewhen '痴梦老师'  then 36when '赵老师'  then 39when '刘老师'  then 45when '张老师'  then 26
end;

image-20240126155602750

  • 将scores表中的数据按照分数排序(降序),年龄升序排序

select * from scores order by score desc,age asc;

image-20240126155909454

scores 表中选取两个列:student_idscore。对于每一个不同的 student_id,计算该学生的所有成绩(score)的平均值,并将其命名为 average_score

select student_id, avg(score) as average_scorefrom scoreswhere age > 38group by student_idorder by average_score desc;

image-20240126160730317

【六】筛选条件之(limit)限制条数

  • 针对数据太多的情况,我们大都是做分页处理

  • limit x,y : 第一个参数是起始位置, 第二个是条数

select * from * [where*] limit *;

【2】查看scores表中5条数据

select * from scores limit 5;

image-20240126160925727

【3】按照区间取数据

select * from * [where *] limit x,yselect * from 表名 limit 0,6;start_page = 0 # 起始位置step = 6 # 步长while True:sql = f"select * from emp limit {start_page},{step}"start_page += step
select * from scores limit 0,6;

image-20240126161122591

【七】正则

【一】正则语法

  • 简单版

 属性名 regexp '匹配方式'
  • 终极版

select * from * where 字段名 regexp 正则表达式;
  • “匹配方式”中有很多的模式匹配字符,它们分别表示不同的意思。

  • 下表列出了 regexp 操作符中常用的匹配方式。

image-20240126161656280

【1】创建表

create table `person`  (`name` varchar(255) character set utf8 collate utf8_general_ci null default null,`age` int(40) null default null,`heigh` int(40) null default null,`sex` varchar(255) character set utf8 collate utf8_general_ci null default null) engine = innodb character set = utf8 collate = utf8_general_ci row_format = dynamic;

【2】插入数据

insert into `person` values ('thomas ', 25, 168, '男');insert into `person` values ('tom ', 20, 172, '男');insert into `person` values ('dany', 29, 175, '男');insert into `person` values ('jane', 27, 171, '男');insert into `person` values ('susan', 24, 173, '女');insert into `person` values ('green', 25, 168, '女');insert into `person` values ('henry', 21, 160, '女');insert into `person` values ('lily', 18, 190, '男');insert into `person` values ('liming', 19, 187, '男');

image-20240126162116753

【3】案例

# 查询 name 字段以j开头的记录select * from person where name regexp '^j';
​
select * from person where name regexp 'y$';
​
select * from person where name regexp 'th*';
​
# sql语句中的正则表达式并不完善,所以功能不全select * from person where name regexp '....';

http://www.yayakq.cn/news/945286/

相关文章:

  • 网站制作窍门桂林象鼻山旅游攻略
  • 公司做网站的费用计什么科目安装wordpress注意什么意思
  • 网站建设需要什么东西公司网站备案电话
  • 淘金网站建设Wordpress虚拟资源交易
  • 网站只显示一个网址视频制作教学
  • 做网站备完备案需要干什么自己做的网站网页打开速度慢
  • 重庆微信网站开成都最值得一去的地方
  • 网站建设合作合同宁波网站制作定制
  • 集团网站设计建设教做年糕博客网站
  • 网站制作引擎泗洪网页设计
  • 该网站为悬挂备案号80端口被封怎么做网站
  • 遵义仁怀网站建设自己做网站需要学些什么
  • com域名网站排名优先dw使用模板做网站教程
  • 深圳微网站建设公司互联网保险经纪公司
  • 互动网站建设特点wordpress 百度链接
  • 宁乡网站开发公司推荐网站建设中html5
  • 企业免费网站优化服务免费的app开发工具
  • 青岛建设银行股份有限公司网站微信公众号人工咨询电话
  • 企业网站建设计划表国产卡一卡二卡三无线乱码新区
  • 丽水专业网站制作公司paypal绑定wordpress
  • 企业网站源码怎么用互联网技术怎么学
  • 广州网站推广解决方案网站建设与维护理解
  • 飞鸽网站建设wordpress入门视频教程
  • 医疗网站建设代理商云霄县建设局网站
  • 上海网站建设服务宁德网站建设的目的是什么
  • 网站什么内容cms可以做多少个网站
  • 网站文化制度建设做是么网站
  • 淘宝属于什么类型的网站营销型网站 平台
  • 榆林网站建设vs0912中小型网站建设与网络搭建
  • 网站查看空间商朋友圈软文范例