详解Mysql数据库知识点

本文详细介绍了SQL、数据库(DB)和数据库管理系统(DBMS)的概念,重点讲解了SQL语句的分类,特别是DQL查询,涵盖了Mysql命令实例,包括数据操作、数据定义、事务控制和数据控制。适合初学者理解数据库基本操作和SQL基础应用。
摘要由CSDN通过智能技术生成

SQL,DB,DBMS的概念以及三者的关系

DB(DataBase):数据库,数据库在硬盘上实际上是以文件的形式进行存储的。

DBMS(DataBase Management System):数据库管理系统,专门对数据库(表文件)进行调用和管理的,常见的有:Mysql,Orcal,Sqlserver,DB2,Sybase,其中Mysql,Orcal,Sqlserver属于关系型数据库,主要指的是数据库中的数据都是相关联的,不是单一的。目前Mysql是常用的,因为Mysql是免费的,Orcal是收费的,而且价格非常高。

SQL:结构化查询语言,是一门标准通用的语言,标准的SQL适合于所有的数据库产品。SQL语句在执行的时候,实际上在内部先由DBMS进行编译成功,然后再执行SQL语句。

三者之间的关系:
DBMS----(执行)—>SQL语句-------(操作)-------->DB
首先用户通过SQL语句向数据库管理系统DBMS发送请求,然后DBMS编译并执行SQL语句,通过执行SQL语句来操作数据库DB中的数据。

一、SQL语句的分类

学习SQL语句主要是对数据库里面的数据进行增删改查,SQL语句的分类如下:

  1. DQL:数据查询语言,凡是select语句,都是查询语言
  2. DML:数据操作语言,insert,update,delete操作语言对表中的数据进行增删改。
  3. DDL:数据定义语言,create,drop,alter,对表结构进行增删改。
  4. TCL: 事务控制语言,commit提交事务,rollback回滚事务。
  5. DCL:数据控制语言,grant授权,revoke撤销权限等等。

二、编程语言命令

1.Mysql命令

show databases;------------->查看有哪些数据库

create database 数据库的名字;----------->创建自己的数据库

use 数据库的名字;------------->使用自己的数据库

show tables;------------------>查看当前自己的数据库有哪些表

source sql脚本的绝对路径;----------->导入数据库脚本,完成数据库的初始化。当一个文件的扩展名为.sql,并且该文件中编写了大量的sql语句,这种就称为sql脚本。

drop database 数据库名;----------->删除数据库。

desc 表名;------------>查看表结构。

select database();------------>查看当前使用的数据库。

select version();------------->查看当前mysql的版本号。

\c;---------------------->命令,结束一条sql语句。

exit;------------------->命令,退出mysql。

2.DQL命令

提示:任何一条sql语句以“;”结束。
sql语句不区分大小写。

2.1 简单的查询语句:
语法格式:select 字段名1,字段名2,字段名3,…from 表名;
给查询结果的列重新命名:当新字段名是中文时,用单引号‘’
select 字段名 as 新字段名 from 表名;

2.2 条件查询:
语法格式:select 字段名1,字段名2 from 表名 where 条件;
条件主要包含以下几个:
(1) between and在使用的时候必须左小右大,当用在数字方面的时候,符合前闭后闭原则;当用在字符串方面的时候,符合前闭后开的原则。
(2) is null 和is not null,null不是一个值,在判断是否为null时,不能使用==。
(3) in 和not in后面主要表示的是一个个具体的值,不是区间。注意:使用Not in的时候记得排除里面数据的null。使用方法:ifnull(可能为null的数据,被当作什么数据处理)。
(4) 模糊查询like:%代表任意多个字符,_代表任意一个字符。

2.3 排序(升序或者降序):
select sal,ename from emp order by sal;默认进行升序排序.
select sal,ename from emp order by sal asc; //升序
select sal,ename from emp order by sal desc; //降序

2.4 分组函数(group by和having):
所有的分组函数都是对“某一组”数据进行操作的,并且自动忽略null。
count:计数;sum:求和;avg:求平均值;
max:最大值;min:最小值
其中count()与count(字段名)的区别:
count(
):统计表中的总记录条数
count(字段名): 统计表中字段名不为null的条数

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

注意:分组函数一般都会和group by联合使用,并且任何一个分组函数(count,sum,avg,max,min)都是在group by语句结束之后才会执行的。因此:当一条语句中有group by的话,select后面只能跟分组的字段名以及分组函数。

注意:分组函数不能出现在where语句之后:因为分组函数在group by执行完之后才会执行的,而group by是在where语句结束之后才会执行的。

2.5 查询结果集的去重(distinct):
语法格式:select distinct 字段名1.字段名2 from 表名;
distinct关键字表示去除重复记录,并且distinct关键字只能出现在多个字段名的最前面,表示多个字段联合去重。

总结

以上就是今天要讲的内容,本文仅仅简单介绍了Mysql数据库知识的DQL(select)查询部分,下几篇博客将会介绍连接查询,DML,约束,引擎,事务等知识点。

觉得博主讲的还可以的点个赞呗!我也会努力做好每个知识点的,当然,欢迎大家一起讨论。在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值