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

数据库学习2

🌟欢迎来到 我的博客 —— 探索技术的无限可能!

🌟博客的简介(文章目录)

目录

查询

1 查询所有列

2 查询指定列

3 模糊查询

4 如何备份sql语句文件

5 如果列中有重复的则可以“去重”

6 将数值的列进行相加后生成一个列

7 如何给添加了ifnull条件的列起别名

8 升序和降序

9 聚合函数的介绍

10 分组查询

Group

Having

11 分页查询

12 合并结果集

13 多表查询

左连接

右连接

自然连接

子查询

子查询→(单行单列)

子查询→(多行单列)

子查询→(单行多列)

子查询→(多行多列)

完整性约束------主键(PRIMARY KEY)

非空约束

唯一约束


查询


1 查询所有列



Select * from 表名



2 查询指定列


Select juzi ,pingguo from shuiguolao ;



    条件查询就是在查询时给出WHERE子句,在WHERE子句中可以使用如下运算符及关键字:
=、!=、<>、<、<=、>、>=;

BETWEEN…AND;

IN(set);

IS NULL;

AND;

OR;

NOT;
 



3 模糊查询


4 如何备份sql语句文件


1、先找到需要备份的数据库



保存类型选择“全部文件”



运行完后点击“关闭”


此时在桌面可以看到备份的文件




导入备份的sql文件
导入之前要先创建这个需要导入的数据库


1、点击“运行sql文件”





1选择导入的数据库文件


1添加文件进来后,点击“开始”
去除勾选,然后点击开始



4、导入成功



5 如果列中有重复的则可以“去重”




6 将数值的列进行相加后生成一个列



7 如何给添加了ifnull条件的列起别名


给表起别名


8 升序和降序


1表中的列进行升序和降序的排列
升序 select * from school order by (列名) asc ;
降序 select * from school order by (列名) desc ;



9 聚合函数的介绍




10 分组查询


Group


1、where在分组之前进行限定,如果不满足条件,则不参与分组,
2、having是在分组之后进行限定,如果不满足结果,则不会被查询出来
3、where 后面不可以跟聚合函数,而having可以进行聚合函数的判断


即部门编号是10的有3人,部门编号20的5人,部门编号30的有6人


1分组后的查询


Having


11 分页查询


12 合并结果集


Union作用的条件是,合并的两个列的长度、列类型必须相同,行数可以不同。列名和数据类型可以不相同。


不去重


连接查询,即将两个表连在一起。


13 多表查询


用select * from emp,dept where emp.deptno=dept.deptno;来进行去除无用信息的查询是“方言”


用select * from emp e inner join dept d on e.deptno=d.deptno ;来查询是mysql的标准语言





1外连接


左连接


select * from dept d left outer join emp e on d.deptno =e.deptno ;
以左边的表为标准进行查询,如果右边表没有的则显示null



右连接




以select * from dept d left outer join emp e on d.deptno =e.deptno ;
以左边的表为标准进行查询,如果右边表没有的则显示null


 



自然连接


自然连接的表中,需要有两个相同的列(列名和列类型相同)
通过MySql自己的判断完成连接过程,不需要指定连接条件。MySql会使用表内的,相同的字段,作为连接条件。
自然连接分为内外之分。

Select * from emp natural join dept ;



自然连接的左连接


右连接查询




子查询



子查询→(单行单列)


子查询→(多行单列)


多行单列进行查询时要在子查询前面添加关键字ALL
select * from emp where sal > ALL(select sal from emp where deptno = 30) ;



子查询→(单行多列)


即第一步的查询条件是唯一的这样效果比较明显


 


子查询→(多行多列)


select e.ename ,e.sal ,d.dname ,d.loc from emp e ,dept d where e.deptno =d.deptno and empno =1006 ;


多行多列(2)




完整性约束------主键(PRIMARY KEY)


新建表时设置主键


主键的列下面不能有重复的值



主键的列的下面的值不能为null


同一个表不能多个主键,只能有一个主键



删除表的主键




表已创建时:修改表时指定主键:
ALTER TABLE stu ADD PRIMARY KEY(sid);


创建表时设置主键自增长


修改表时,设置主键自增长
Alter table 表名 change 旧列名 新列名 数据类型 auto increment


Alter table 表名 modify 列名 列类型 auto increment


修改表时删除主键自增长:
Alter table 表名 change 旧列名 新列名 数据类型 ;



非空约束



唯一约束


Insert into lll (sid,sname)values(0,1); 重复插入相同数据时会报错


http://www.mrgr.cn/news/35645.html

相关文章:

  • 基于SpringBoot - Netty框架的云快充协议(充电桩协议)
  • JavaScript (JS)与TypeScript (TS)------讲清楚二者的区别与联系 + 市场主流趋势
  • golang学习笔记32——哪些是用golang实现的热门框架和工具
  • 关系数据库标准语言SQL(3,4)
  • sql中的having与where对比
  • 洛谷P1205 [USACO1.2] 方块转换
  • Java服务端服务发现:Nacos与Eureka的高级特性
  • Oracle(145)如何进行数据库的日常维护?
  • 【Go语言】Go语言结构体全面解析
  • 2048 游戏AI实现,轻松达到8192
  • 网络安全科普系统小程序的设计
  • python-list-append-method
  • 心觉:如何重塑高效学习的潜意识(1)两种方法的优缺点
  • C#:动态为Object对象添加新属性的方法
  • 【Linux 从基础到进阶】Hadoop 大数据平台搭建与优化
  • DevOps学习路线图
  • **CentOS7安装redis**
  • 物理学基础精解【16】
  • 【day20240925】常见数据集科普
  • 【Linux-基础IO】文件描述符重定向原理缓冲区