当前位置: 首页> 健康> 知识 > 网站营销软文_html代码中align center_官方推广平台_网站排名查询

网站营销软文_html代码中align center_官方推广平台_网站排名查询

时间:2025/7/11 19:24:36来源:https://blog.csdn.net/weixin_60489641/article/details/144248200 浏览次数:0次
网站营销软文_html代码中align center_官方推广平台_网站排名查询

MySQL语句学习第三篇_数据库
专栏记录MySQL的学习,感谢大家观看。

本章的专栏📚➡️MySQL语法学习
本博客前一章节指向➡️MySQL语句学习第二篇
本人的博客➡️:如烟花般绚烂却又稍纵即逝的主页
在这里插入图片描述

文章目录

  • MySQL的基础操作(改与查)
      • 修改操作
      • 删除操作
  • 数据库约束
  • 查询操作的进阶
    • 聚合查询
      • 聚合分组查询
      • 聚合分组表达式查询
    • 联合查询/多表查询

MySQL的基础操作(改与查)

修改操作

修改指令:

通过update 表名 set 列名 修改的字段来修改数据,也可以增加条件(where/order by),指定修改行。

updata database_name set colName = val where conditions/order by;#for example1
update exam_result set math=math+10 where name='张三';
#for example2
update exam_result set math=math+30 order by chinese+english+math desc limit 3;

删除操作

删除操作:

delete from 表名 where条件/order by/limit;
不指定条件删除整张表内容(空表)。

delete from database_name where name ='张三';

数据库约束

1.NULL指令:

创建时添加not null/NOT NULL ,创建成功后,当插入或者修改字段时无法插入或者修改为空值。

create table table_name(valNmae type NOT NULL);
#for example
create table person(name varchar(10) not null,age int NOT NULL);

2.UNIQUE指令:

创建时将unique置入类型后面,不可再次重复插入或者修改为此类型的值。

create table table_name(valNmae type unique);
#for example
create table person(id int,name varchar(10) UNIQUE);

3.DEFAULT指令:

通过创建表,指定类型的默认值,在不赋值的情况下,插入或者修改指定的字段时,显示default默认值。

create table table_name(valName type default defaultName);
#for example
create table person(id int,name varchar(10) default '未命名');

4.PRIMARY KEY指令:

primary key主键的功能:在插入或者修改带有primary key 的类型字段时,不能为空,且不能有重复字段添加。
一个表中只能有一个primary key

create table table_name(valNmae type primary key);
#for example
create table person(age int primary key);

主键key的auto_increment自动增长指令:

通过自增方式通过数据库来自动分配字段,整数类型(int /bigint)

create table table_name(valName int primary key auto_increment);
#for example
create table person(id int primary key auto_increment);
##自动插入1,2
insert into person values(null),(null);

5.FOREIGN KEY指令:

foreign key 外键:描述两个表之间的关联关系(父表与子表)
父表约束子表,子表被约束。
当子表超出父表给定的关联值时,则会报错。需要搭配primary key来使用。
references 意思引用与父亲表中的val值。
当子表插入时,查看子表中的father_val1中的值在父表中是否存在,不存在则报错。
当父表中已经被子表引用,则无法删除或者修改,需要将子表删除后,在删除父表。

#父表
create table father(val1 int primary key,val2 varchar(10));
#子表
create table child2(val int primary key 
,father_val1 int,
foreign key(father_val1) references father(val1) );


查询操作的进阶

1.查询搭配插入使用:

将table2所有的查询结果插入table1中,可以在后面搭配表达式where来使用。
这里的两个表的类型和列数需要匹配,否则报错.

insert into table1 select*from table2;

聚合查询

sql中提供的聚合函数:

函数说明 (可以添加去重操作distinct
COUNT()使用*或者指定字段在查询计算结构中出现的个数(不指定情况下包含NULL值指定不包含NULL值)
SUM()只适用于数字类型的字段或变量(算数运算)。不包含NULL值
MAX()适用于数值类型、字符串类型、日期时间类型的字段(或变量)不包含NULL值
MIN()适用于数值类型、字符串类型、日期时间类型的字段(或变量)不包含NULL值
AVG()只适用于数值类型的字段或变量。不包含NULL值

1.COUNT指令:

查询行数(也可以通过运算符来计算获取值)
如果字符串为数字则转换为double类型的数字来进行计算
sum可以将每个列和行相加,获得一个最终的总和。

#先执行select(*)在进行统计具体几行.
#*来获取所有行
select count(*) from table;#当输入的是字段属性时,获取的是不为null的行数select count(val_name) from table_name;# 指定列

2.SUM指令:

针对数字类型进行求和的算数运算

select sum(val_name'数字类型的字段') from table_name;

3.AVG 指令:

支持数字类型进行平均值的算数运算

select sum(val_name'数字类型的字段') from table_name;

4.MAX和MIN指令:

获取最大值和最小值

#max
select max(val_name) from table_name;
#min
select min(val_name) from table_name;

聚合分组查询

使用group by进行分组,针对每个分组,在分别进行聚合查询。
通过将valName相同的值来分组,将每个组获进行计算。

elect valName,avg(val'整数') from emp group by valName;

聚合分组表达式查询

where表达式聚合查询:

先通过表达式来筛选,表达式需要在分组之前进行。
先执行where条件 在进行分组 在进行聚合。

select valName ,avg(salary) from emp where name!='张三' group by valName;

having表达式聚合查询:

通过分组后,然后进行条件筛选,最后进行聚合查询。表达式在分组之后
先执行分组 在进行筛选 在最后进行聚合。

select valName,avg(salary) from emp group by valName having avg(salary)<20000;

分组中可以包含两个表达式(包含分组前where和分组后having)。


联合查询/多表查询

笛卡尔积:两个集合(表)进行合并后的乘积,两张表的记录中表记录与另一张表的所有记录进行记录排列组合。在这里插入图片描述在这里插入图片描述
继续进行继续筛选
在这里插入图片描述

而这时候会出现许多非法的字段,无意义的数据,这时候对笛卡尔积需要限定条件,让每张表进行关联。

#笛卡尔积
select *from valName1,valName2;
# 筛选有效数据
select *from valName1,valName2, where table_name1.valName1=table_name2.valName2;# and 接表达式继续筛选
select *from valName1,valName2, where 
table_name1.valName1=table_name2.valName2 and.....;#having表达式,进行分组之后的表达式
select *from valName1,valName2, where
table_name1.valName1=table_name2.valName2 and.....
group by valName1 having ...;

关键字:网站营销软文_html代码中align center_官方推广平台_网站排名查询

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: