mysql 查询和修改组合_## 超详细MySQL常用语句,增删查改
## MySQL常用语句,增删查改,安装配置mysql服务
***#新手博客,应届生,谢谢支持哟
记得点赞关注哟***
***-----sql常见命令:--------***
安装服务:mysqld --install
初始化:mysqld --initialize --consol
启动服务:net start mysql
关闭服务:net stop mysql
登录服务器:mysql -h 地址 -P 端口 -u 用户名 -p 密码 或者 mysql -u root -p
查看进程:show processlist
查看系统变量:show variables
查看当前使用的数据库:select database()
查看系统时间,用户,版本:select now(),user(),version()
查看表:show create table; decs table
**
**DDL 数据库定义语言:用来创建数据库,表,列等等
DML 数据库操作语言:用来操作数据库中的记录
DQL 数据库查询语言:用来查询数据库
DCL 数据库控制语言:用来定义数据库访问权限和安全级别****
**DDL语言:**
创建数据库:`create database 数据库名 character set utf8`
使用某个数据库:use 数据库名
列出所有数据库:drop database 数据库名
列出所有表:show tables
查看你表结构:desc 表名
删除表:drop table 表名
创建表:`create table 表名(id BIGINT PRIMARY KEY auto_increment,name varchar(20),age int)`
改表名:rename table 原始表名 to 新表名
改表的字符集:arter table 表名 chararcter set 要改成的字符集
改表的字段:arter table 表名 change 原字段 新字段 数据类型
添加表字段:arter table 表名 add 字段名 数据类型
修改字段的数据类型:arter table 表名 modify 字段名 数据类型
删除某个字段:arter table 表名 drop 字段名
**DML语言:**
插入值:insert into 表名(字段1,字段2)values(值1,值2)
更新值:update 表名 set 字段1=新值,字段2=新值 where 条件
删除一行:delete from table 表名 where 字段=值
清空表内容:truncate table 表名
**DQL语言:**
1.条件查询where
条件:= != > < >= <=
2.bewteen; 例如:`字段名 bewteen 值1 and 值2`
3.in; 例如:`字段名 in (条件1,条件2,条件3)`
4.is null 为空;is not null 不为空;性能比较差,一般用isnull(参数1,参数2)函数代替,
为空,则返回参数1,不为空,则返回参数2
5.and 与; or 或; not 非
6.算术运算符:+(加) -(减) *(乘) /(除) %(模除)
可接通配符:% 代表0-n个字母; _ 代表任意一个字母
```sql
例如:SELECT * FROM user where age LIKE 's%' ; SELECT * FROM user where age LIKE '_s'
```
**字段控制查询:**
1.去重:`SELECT DISTINCT 列名 FROM 表名`
2.把查询的字段结果进行运算,值必须是数值型
```sql
例如: SELECT *,字段1+字段2 FROM 表名
```
3.当查询结果为null时,可以用IFNULL处理:
例如:SELECT *,字段1+IFNULL(字段2,0) FROM 表名
4.对查询结果起别名:关键字:AS
例: SELECT *,字段1+字段2 AS 别名 FROM 表名
注释:(1)as可以省略(2)不能加引号
**排序:**
1.关键字:ORDER BY;
(1) 升序:ASC
(2)降序:DESC
```ruby
例:select * from 表名 order by 列名1 asc,列名2 desc;
```
**聚合函数:**
1)COUNT():统计记录行数;
```sql
select count(*/列名),count() from 表名;
```
count(列名)不统计空行, count()和count(*)统计包括空行
2)MAX():计算最大值,如果是字符串,则使用字符串排序运算;
3)MIN():计算最小值,如果是字符串,则使用字符串排序运算;
4)SUM():计算和,如果不是数值类型,则为0;//select sum(列名) from 表名;
5)AVG():计算平均数,如果不是数值类型,则为0;
//结果是一个可能不存在的数据,因此无法和表中的数据进行比对;
//聚合函数是对记录的一个压缩的过程,得到的是一个数值;
**分组查询:**
1)关键字:GROUP BY;
```sql
例:select 列名1 from 表名 group by 列名1;
```
2)显示组内集合:group_concat();
```sql
`例:select 列名1,group_concat(列名2) from 表名 group by 列名1;`
```
3)group by+聚合函数;
4)分组后条件查询:group by +having;
```sql
例:select 列名1,group_concat(列名2),sum(列名2) from test GROUP BY 列名1 having sum(列名2)>12;
```
书写顺序:select from where group by having order by limit
执行顺序:from where group by having select order by limit
**分页查询LIMIT:**
1)LIMIT参数1,参数2;
参数1:从哪一行开始;
参数2:一共查几行;
2)角标从0开始;
3)分页思路:
int curPage=1;//当前页
int pageSize=3;//每页数据;
--当前页为1第一页从0开始(1-1)*3=0;
--当前页为2第一页从3开始(2-1)*3=3;
--当前页为3第一页从6开始(3-1)*3=6;
```sql
select * from 表名 limit (curPage-1)*pageSize,pageSize;
```
**多表查询:**
1.合并结果集:
(1)方式:1)UNION去除重复记录;2)UNION ALL不去除;
```sql
(2)格式:1)select * from 表1 UNION select * from 表2;2)select * from 表1 UNION ALL select * from 表2;
```
2.笛卡尔积:select * from 表1,表2;
```sql
两表查询:select * from 表1,表2 where 表1.id=表2.id;
```
```sql
三表查询:select * from 表1,表2,表3 where 表1.id=表2.id and 表2.id=表3.id;
```
**连接查询:**
```sql
1.内连接(查左右相等):select * from 表1 as 别名 INNER JOIN 表2 as 别名 ON 表1.id=表2.id;112
```
```sql
三表查询:select * from 表1 join 表2 on 表1.id=表2.id join 表3 on 表2.id=表3.id;
```
//jion 和 inner join 是一样的
2.外连接:
(1)左外连接(查左右相等,加左表数据):left outer jion;左连接:left jion
(2)右外连接(查左右相等,加右表数据):right outer jion;//很少用;有连接 right outer jion;//很少用;
3.非等值连接:在等值连接的基础上,用运算符;
4.自然连接:natural join;
注释:
(1)使用自然连接必须有列名一致,否则产生笛卡尔集;
(2)两行列名一样,则两列数据都相等才会被查出;
5.自连接:如果需要查同一个表两次,可以给表起别名两次来查询
```sql
例如:SELECT a.Num,a.Stop,b.Stop FROM Route a,Route b WHERE a.NUM=b.NUM;
```
**子查询:**把一个select语句的结果,当作另一个select的条件值或者表(where或者from后面)
1.在WHERE子句中进行使用查询
```sql
SELECT *
FROM EMP
WHERE SAL < (SELECT AVG(SAL) FROM EMP);
```
2.HAVING子句是对分组统计函数进行过滤的子句,也可以在HAVING子句中使用子查询
```sql
SELECT JOB,AVG(SAL)
FROM EMP
GROUP BY JOB
HAVING AVG(SAL) = (SELECT MAX(AVG(SAL)) FROM EMP GROUP BY JOB);
```
3.FROM子查询就是将一个查询结构(一般多行多列)作为主查询的数据源
```sql
SELECT JOB,AVG(SAL)
FROM (SELECT JOB,AVG(SAL) AS AVGSAL FROM EMP GROUP BY JOB)TEMP
WHERE TEMP.AVGSAL>2000;
```
4.SELECT子查询在SELECT子句中使用查询的结果(一般会和dual空表一起使用)
```sql
SELECT (SELECT COUNT(*) FROM EMP WHERE JOB = 'SALESMAN')/(SELECT COUNT(*) FROM EMP)
FROM DUAL;
```
5.将主查询的数据带到子查询中验证,如果成功则返回true,否则发水false。主查询接收true是就会显示这条数据,flase就不会显示。
```sql
`SELECT` *
FROM EMP E
WHERE EXISIT (
SELECT *
FROM DEPT D
WHERE E.DEPTNO = D.DEPTNO);
```
mysql 查询和修改组合_## 超详细MySQL常用语句,增删查改相关推荐
- mysql 查询和修改组合_别崩溃,来看这个MySQL全面瓦解:子查询和组合查询
概述 子查询是SQL查询中的重要一块,是我们基于多表之间进行数据聚合和判断的一种手段,使得我们的处理复杂数据更加的便捷,这一节我们主要来了解一下子查询. 先做一下数据准备,这边建立三张表:班级.学生. ...
- MySQL表sql语句增删查改_学会这些操作你就不会栓Q(狗头)
目录 本章目标 CRUD 新增(Create) 单行数据,全列插入 多行插入,指定列插入 查询(Retrieve) 修改(Update) 删除(Delete) 本章目标 学会MySQL表中的sql语句 ...
- mysql安装check requirements出错_超详细的MySQL8.0.17版本安装教程
下载MySQL MySQL的官网地址:https://www.mysql.com/. 如下图所示: 然后点击DOWNLOADS ==> Community,选择MySQL Community S ...
- mysql查询结果输出文件_如何将MySQL查询输出保存到文件?
mysql查询结果输出文件 We can use the MySQL outfile statement to save the query output into a file. This is v ...
- mysql多字段数据统计_超详细的mysql元数据sql统计--information_schema
概述 information_schema 数据库跟 performance_schema 一样,都是 MySQL 自带的信息数据库.其中 performance_schema 用于性能分析,而 in ...
- mysql+sql语句赋值语句_超详细的SQL语句语法汇总
一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句)INSERT INTO 表名(字段名1, 字段名2, --) VALUES ( 值1, 值2, --); INSER ...
- mysql .pdb是什么文件_超详细讲解如何使用 pdb 在服务器上调试代码
Pycharm 的图形化界面虽然好用,但是在某些场景中,是无法使用的.而 Python 本身已经给我们提供了一个调试神器 -- pdb,可能你还不知道它,为了讲解这个神器,我写了这篇文章来帮助你轻松的 ...
- mysql查询男生基本情况_详解MySql基本查询、连接查询、子查询、正则表达查询...
select * from STUDENT; 2.2.按条件查询 (1) 比较运算符 > , < ,= , != (< >),>= , <= select * fr ...
- mysql 查询不使用索引_简单的mySQL查询不使用索引
我有一个非常奇怪的问题与MySQL和简单的查询与简单的索引.我试图使用这个查询: SELECT * FROM `counter_links` WHERE `link_id`=1544;正如你所看到的, ...
最新文章
- jenkins产生503错误的解决方法
- 什么是网络可见性?—Vecloud微云
- 通俗讲解自底向上构建知识图谱全过程
- idea 快捷键整理
- 5G领衔,十余名专家解析当下最火的“新基建”
- SQL Server 2012自动备份
- UI设计素材|等轴测图(2.5D插画)
- python 文件读写 newline_「Python」:文件读写
- ElasticSearch6.0 Java API 使用 排序,分组 ,创建索引,添加索引数据,打分等(一)...
- Oracle--sqlplus如何设置SQLPlus结果显示的宽度,ORACLE sqlplus提示符设置
- 问答 | 我适合做软件开发吗?
- 樊昌信 通信原理第七版 第九章思考题
- 超级机器人大战A(GBA)帅气攻略(超级系流程1)
- php开发微信会员系统,PHP实例:微信公众号实现会员卡领取功能
- 【Spring MVC 源码】MultipartResolver 的使用与解析
- 修改apk显示或隐藏桌面图标
- 微信授权之登录、注册、关联微信号全流程图
- js选中html的数字设置倒计时,JS实现的网页倒计时数字时钟效果
- 硬件学习_差模与共模
- 数据库指南-SQL与NoSQL