ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql的第一篇关于DQL的文章

2022-01-28 21:05:03  阅读:183  来源: 互联网

标签:语句 ename sal 第一篇 mysql emp sql DQL select


1.DB:database(数据库,在硬盘上以文件出现)

DBMS:database manage system(数据库管理系统,常见的有MySQL,Oracle,db2)

sql:结构化查询语言,是一门标准通用语言,标准的sql适用于数据产品

sql属于高级语言,在执行时内部先会进行编译,然后再执行sql,sql的编译由dbms完成

DBMA负责执行sql语句,通过执行sql语句来操作DB当中数据

2.什么是表:

table是数据库的基本组成单元,所有的数据都以表格的形式组织,目的是可读性强。

一个表包括行和列:行被称为数据/记录

列被称为字段

每一个字段包括的属性:字段名,数据类型,相关的约束

学号(int)姓名(varchar) 年龄


110 张三 20

120 李四 21

3.学习MySQL还是得学通用的sql语句

DQL:查询语句,凡是select语句都是DQL

DML:对表当中数据进行增删改insert delete update

DDL:create drop alter 对表结构的增删改

TCL:事物控制语言,commit提交事务,rollback回滚事务

DCL:数据控制语言:grant授权,revoke撤销权限

4.导入数据

第一步:登录mysql

dos

第二步:查看有哪些数据库

show databases;(这个不是sql语句,属于MySQL的命令)

第三步:创建属于自己的数据库

create database bjpowernode

第四步:使用bjpowernode: use bjpowernode

第五步:查看当前使用的数据库中有哪些表

show table;

第六步:初始化数据

在存放MySQL的文件夹中找到resources里面的bjpowernode.sql

打开dos命令行输入source+把文件拖过来,完成初始化

5.bjpowernode.sql以sql结尾马,这样的文件被称为脚本

当一个文件的扩展名是sql,并且文件中编写了大量的sql语句,我们称之为该文件为sql脚本

可以直接使用source命令执行sql脚本

sql脚本中的数据量太大,无法打开,请使用source命令完成初始化

  1. 常用命令

    MySQL中SELECT命令类似于其他编程语言里的print或者write,你可以用它来显示一个字符串、数字、数学表达式的结果等等。如何使用MySQL中SELECT命令的特殊功能?

    1.显示MYSQL的版本 mysql> select version(); +-----------------------+ | version() | +-----------------------+ | 6.0.4-alpha-community | +-----------------------+ 1 row in set (0.02 sec)

    2.查看当前是那个数据库

    mysql>select database()

    7.查看创建表的语句

    show create table emp

    (怎么查看创建这张表的语句)

    8.

简单的查询

1.简单的查询语句(DQL)

语法格式:

select 字段名1,字段名2,字段名3。。。。form 表名

1.任何一条sql语句以;结尾

2.sql语句不区分大小写

例如 查询员工年薪

![image-20220127094027686](C:\Users\86150\AppData\Roaming\Typora\typora-user-images\image-20220127094027686.png)

怎么给查询结果的列重命名

select ename ,sal * 12 as yearsal from emp

标准sql语句要求字符串用单引号括起来。

2.条件查询

语法格式

select

字段,字段

from

表名

where

and和or和in的问题

and和or联合起来使用,找出薪资大于1000的并且编号20或者30的员工

select ename,sal,deptno from emp where sal >1000 and deptno=20 or deptno =30

这里执行可以看出,or的优先级高于and,所以正确的语句可以这样写

select ename,sal,deptno from emp where sal >1000 and (deptno=20 or deptno =30)

in等同于or

select ename,sal,deptno from emp where sal in(1000,5000);

in后面跟的不是区间,是两个值

not in :不在这几个值中

like模糊查询

支持% _匹配

找出名字中有o的

%代表任意多个字符,_代表任意一个字符

select ename from emp where ename like ‘_A%’

排序(升序,降序)

select ename,sal from emp order by sal;//默认升序

select ename,sal from emp order by sal asc;//升序

select ename,sal from emp order by sal desc;//降序

按照工资降序排列,当工资相同时按照名字的升序排列;

select ename,sal from emp order by sal desc,ename asc;

越靠前的字段越起到主导作用,只有前面的字段无法排序时候,才会启用后面的字段

分组函数

count 计数

sum求和

avg平均值

max最大值

min最小值

所有的分组函数都是对某一组的数据进行操作的

对sal求和,对工资求和

select sum(sal) from emp;

count所有和count具体某个字段的区间

select ename,sal from emp where sal>avg(sal)

分组函数不可直接使用在where语句中

count(*):不是统计某一个字段数据的个数,而是统计总记录条数

count(comm):表示统计comm字段中不为null的数据总数量

group by和having

group by:按照某个字段或者某些字段进行分组

having:having是对每个分组之后的数据进行再次过滤

找出 每个工作岗位的最高薪资

select max(sal)from emp group by job;

group by是在where之后才执行的

当一条sql语句没有group by的话,整张表数据会自成一组

select

。。

from

。。

where

。。

group by

。。

having

。。

order by

。。

标签:语句,ename,sal,第一篇,mysql,emp,sql,DQL,select
来源: https://blog.csdn.net/m0_62793535/article/details/122736462

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有