动力节点MySQL数据库课堂笔记2021.11.28-12.1

1、数据库:导入数据
直接在cmd里面写命令来解决
1.dos命令窗口,mysql -u root -p 接着输入密码4444,进入了MySQL的服务器
2.show databases; 查看当前的数据表格
3.create database bjpowernode; 创建数据表格
4.use bjpowernode; 使用创建的数据
5.source 文件路径 初始化数据库,路径为sql后缀的文件

2、desc 查看表的结构
select语句

3、查询语句(简单)
语法格式:
select 字段名1,字段名2,字段名3,等 from 表名;

	提示:
			结束语句以分号结束
			SQL语句不区分大小写
			不遇到分号不结束语句的执行,而且长短也没有要求

	使用as对列名重命名 

4、条件查询
语法格式:
select
字段,字段
from
表名
where
条件;

	条件语句这里可以使用between  数据1   and   数据2      来进行连接,要求左小右大,也可以使用字符串

	and 和
	or    或
	not  非
	in    包含(针对单一的查询使用,即可以使用括号的形式来进行),但是括号里只是单一的值,而不是一个区间
	like  模糊查询(从名称上看,像什么的,在使用时,需要掌握两个特殊的符号,一个是%(代表多个字符),
										一个是_(代表任意的一个字符)。
										for example : 查找第二个字母为o的,使用  '_o%'
																	查找'_',也就是下划线字符,可以使用转义字符
	is null 为空
	is not null 不为空

	and和or的优先级为,and比or高,因此为了先执行or,需要使用括号的方式


	执行顺序:先from,然后where,最后select

5、排序(升序,降序)
语法格式:
select 字段名 from 表名 order by 类型名1,类型名2,等;

	默认为升序,asc表示升序,desc表示降序
	在排序时,只有类型1相等时,才会使用类型2来进行排序
	和查询混合时,需要将order写在后面

6、分组函数
处理多行,输出一行
count 计数
sum 求和
avg 平均值
max 最大值
min 最小值

	语法格式:
				select		count(字段名)		from	表名

	多行处理函数,将多行转变为一行来进行处理,在使用时会自动的忽略表格当中的空值NULL
	SQL语句当中语法规则,在where字句当中,不可以写分组语句

	count(*)和count(字段)的区别,一个只是针对字段当中不为空的记录,一个是整个表格的行数总量
	多行处理函数可以并列使用,即select		count(字段名)	,sum(字段名)	from	表名

7、单行处理函数
处理一行,输出一行
重点:所有的数据库都是一样的规定,只有有NULL参与的运算结果一定是NULL。
因此在处理的时候,需要对于表中的空NULL值进行处理,不然只要包含NULL的空值,就会出错

	ifnull()空处理函数
			语法规范:ifnull(可能为null的数据——一般为字段名,被当成什么处理)

8、group by 和 having 的区别

	group by :按照某个字段或者某些字段进行分组
	having:		对分组之后的数据再次过滤

	语法:
			select 语句	 from 表名	 group by 字段名1,字段2,...;

	分组函数一般会和group by进行联合使用,原有的多行处理函数如果不加group by的话,只会有一行
	但是添加了之后,会根据分组情况,再次进行求解,形成多行的格局
	从结构上看,group by语句是在分组函数之前才执行的,分组函数,需要先分组之后才可以进行执行
	如果没有分组函数,默认为一组
			mysql> select ename from emp where mgr>=avg(mgr);
			ERROR 1111 (HY000): Invalid use of group function
			所以上述错误的主要原因在于avg为分组函数,在group by 语句之后才执行,而where字句在group by语句之前
			导致了冲突,因为上述语法需要avg先执行,那么此时where语
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值