数据库学习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); 重复插入相同数据时会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZShiJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值