MySQL01

目录

一.简单了解MySQL

二.简单查询

三.条件查询

四.排序

五.数据处理函数

六.分组函数(多行处理函数)

七.分组查询


一.简单了解MySQL

1.本地登录显示编写密码的形式:

mysql -uroot -p123456

 隐藏密码的形式:

mysql -uroot -p

2.MySQL常用命令(不见分号不执行,不区分大小写)

  • 退出:exit,
  • 查看MySQL中有哪些数据库:show databases;(要以;结尾)
  • 选择使用哪个数据库:use 数据库名称
  • 创建数据库:create database bjpowernode;(bjpowernode为数据库名称)
  • 查看当前使用的是哪个数据库: select database();
  • 查看表:show tables;
  • 查看数据:select * from 表名;(*代表所有数据,该表名中查看所有数据)
  • 不看表的数据只看表的结构:desc 表名;
  • 查看MySQL数据库的版本号:select version();
  • 终止一条语句:\c

3.数据库中最基本的单元是:表table,任何一个表中都有行和列

  • 行:(row)被称为数据/记录
  • 列:(column)被称为字段,每一个字段都有字段名、数据类型、约束(唯一性约束不能重复)等属性。

4. SQL语句分类

  • DQL:数据查询语言(凡是带有select关键字的都是查询语言)
  • DML:数据操作语言(凡是对表中的数据进行增删改的都是DML,操作的是表的数据)insert增delete删update改
  • DDL:数据定义语言(凡是带有create(新建,相当于增)、drop(删除)、alter(修改)都是DDL,主要操作的是表的结构,不是表的数据)
  • TCL:事务控制语言(事务提交commit,事务回滚rollback)
  • DCL:数据控制语言(授权grant、撤销权限revoke)

5.导入一下提前准备好的数据,路径中不要有中文

source 表的位置.sql
mysql> source D:\MySQL\document\document\bjpowernode.sql

查看:select * from 表名;

二.简单查询

1.查询一个字段:selsect和from都是关键字,字段名和表名都是标识符

select 字段名 from 表名;

 2.查询两个字段或者多个字段:

select 字段名1,字段名2 from 表名;

3.查询所有字段:

  • 把所有的字段名都写上
  • 使用*代替

4.列起别名:

  • as关键字只是显示改变,但是原表没有改变,只负责查询不会改变,其中as可以省略不写为空格
  • 假如别名中有空格,可以将别名用单引号括起来,双引号也可以(注意所有的数据库中,字符串统一使用单引号,单引号是标准,双引号在oracle数据库中无法使用,但是在mysql中可以使用)
select 字段1 as 别名 from 表名;

5.列参与数学计算:

字段可以使用数学表达式,直接在select语句中使用字段*n加减乘除。

三.条件查询

1.简单介绍

不是将所有的数据都查出来,而是查询出来符合条件的。字符串使用引号括起来

语法格式:

select 字段1,字段2~ from 表名 where 条件;

2.有哪些条件查询:数据库中null不能使用=衡量                                                                              

=等于
<>或!=不等于
<小于
<=小于等于
>大于
>=大于等于
between...and...两个值之间,等同于>=and<=,必须左小右大
is null为null(is not null 不为空)
and并且 
or或者,两者的优先级and比or高,可以加括号进行区分
in包含,相当于多个or(not or不在这个范围之间),不是一个区间,而是一个具体的值
not or可以取非,主要用在is或in中
like like可以称为模糊查询,支持%或下划线匹配
%匹配任意字符
下划线,一个下划线匹配一个字符,若寻找带下划线的字符,使用\转义字符

四.排序

1.简单介绍:

select 字段名 from 表名 order by 字段名;(默认升序)

2.降序:

select 字段名 from 表名 order by 字段名 desc;

3.指定升序:

select 字段名 from 表名 order by 字段名 asc;

4.按照多个字段排序:

select 字段名 from 表名 order by 字段名1 asc,字段名2 asc;

5.按照字段位置排序:(不健壮,列的顺序很容易发生改变)

select 字段名1,字段名2 from 表名 order by 2;(2代表第二列)

6.综合的话,先where再order by,顺序为: 第一步from,第二步where,第三部=步select,第四步order by(排序总是最后进行)

五.数据处理函数

1.数据处理函数又被称为单行处理函数,一个输入对应一个输出;

多行处理函数:多个输入对应一个输出;

2.单行处理函数常见的有哪些:

upper转换大写
lower转换小写
substr取子串(substr(被截得字符串,起始下标,截取的长度))起始下标从1开始
length取长度
trim去空格
str_to_date将字符串转换为日期
date_format格式化日期
format设置千分位
round四舍五入,round(a,1)保留一位小数
rand()生成随机数
ifnull可以将null转换成一个具体的值,infull(a,0)
case...when..then..when..then..else..end当什么时候,怎么样

concat函数进行字符串拼接,comcat(字符串1,字符串2)

select后面可以跟字段名,也可以是字面量/字面值(数据)

null只要参与运算,就是null为结果

六.分组函数(多行处理函数)

1.常见:分组函数在使用的时候必须先进行分组,然后才能用;如果没有分组,整张表默认一组。

自动忽略null,不需要提前对null处理。

count计数
sum求和
avg平均值
max最大值
min最小值
select 函数(数据字段名)from 表名

2.count(*)与count(具体字段名)区别:

  • count(具体字段名):统计该字段下所有不为null的数据
  • count(*):代表统计表当中所有行数,只要有一行数据,则count++

 3.分组函数不能出现在where子句中

4.所有的分组函数可以组合起来一起用

七.分组查询

1.什么是分组查询:在实际的应用中,可能需要先进行分组,然后对每一组的数据进行查询

select...(分组函数) from...(表名)group by...(分组依据)

2.执行顺序:

因为分组函数必须先分组再使用,where执行的时候还没有分组,所以分组函数不能在where中使用;select在执行的时候group by已经执行,所以可以在select中使用。

select...from...where...group by...having...order by...

3.在一条select语句当中,如果有group by语句的话,select后面只能跟:参加分组的字段,以及分组函数,其他一律不能跟。

4.两个字段联合分组:

select...(分组函数) from...(表名)group by...(分组依据1,分组依据2)

5.使用having语句可以对分完组之后的数据进行进一步过滤,不能单独使用,必须和group by一起使用。

where和having优先使用where,where解决不了的使用having

select...(分组函数) from...(表名)group by...(分组依据)having 分组函数满足的条件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值