概述
目录
一.简单了解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:MySQLdocumentdocumentbjpowernode.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 分组函数满足的条件
最后
以上就是合适台灯为你收集整理的MySQL01的全部内容,希望文章能够帮你解决MySQL01所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复