MySQL概述

一、SQL

1. 概述

  • 结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统

2. 表

  • 表(table)是一种结构化的文件,可以用来存储特定类型的数据,表有特定的名称,且不能重复
  • 列叫做字段,行叫做表中的记录,每一个字段都有:字段名称/字段数据类型/字段约束
  • 任何一张表包含:表结构、表数据、索引

3. 分类

  • 数据查询语言(DQL:Data Query Language)
    使用最多的是select关键字
  • 数据操作语言(DML:Data Manipulation Language)
    包括 insert,delete,update,用于添加、删除、修改,不改变表结构
  • 数据定义语言(DDL:Data Definition Language)
    包括create ,drop,alter,改变表结构
  • 数据控制语言(DCL:Data Control Language)
    通过grant或revoke实现权限控制,确定单个用户和用户组对数据库对象的访问
  • 事务控制语言(TCL:Transactional Control Language)
    包括commit,rollback,savepoint
  • 指针控制语言(CCL:Cursor Control Language)
    用于对一个或多个表单执行的操作
  • DQL 和DML 主要是为了完成对表中数据的增删改查,DDL主要是为了完成对表的增删改,DCL为给用户操作数据表和数据的权限,TCL主要是为了确保在执行增删改的操作的时候及时响应,全部提交或全部回滚,CCL 规定了SQL语句在程序中的使用规则 ,比如SQL中的游标

二、MySQL

1. 概述

  • MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品
  • MySQL开源、多平台,是目前使用最广泛、流行度最高的开源数据库
  • MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言
  • MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass- deployed)的软件中去
  • MySQL在Windows下不区分大小写,Linux下区分大小写

2. 特点

  • 支持事务,符合关系型数据库原理,符合ACID,支持多数SQL规范,以二维表方式组织数据,有插件式存储引擎,支持多种存储引擎格式;
  • 用编译安装的方式,或者二进制包的方式,按照“安装软件-创建实例-库表用户初始化”,可以很快完成数据库部署;
  • 使用标准的SQL语句进行数据库管理,简单SQL语句的并发和性能较好,对视图、存储过程、函数、触发器等支持的不是太好;
  • 在命令行界面有一些常用的命令显示状态和性能,在图形界面方面,有比较多的开源监控工具来监控和记录数据库的状态,比如zabbix,nagios,cacti,lepus等;
  • 逻辑备份用 mysqldump/mysqldumper ,物理备份用xtrabackup等工具进行备份;
  • MySQL高可用有多种方案,官方有基础的master-slave主从复制,新版本的innodb cluster,第三方的有MHA等高可用方案;
  • MySQL水平拆分,可以通过水平拆分proxy中间进行逻辑映射和拆分,扩大MySQL数据库的并发能力和吞吐量

三、MySQL常用命令

  • 查看MySQL版本
mysql --version
mysql -V(大写V)
  • 退出MySQL
exit;
quit;
\q;
  • 查询所有数据库
show database;
  • 使用数据库
use 数据库名称;
  • 查询该数据库下的所有表
show tables;
  • 创建数据库
create database 数据库名称;
  • 创建表
create table 表名(字段名1 数据类型(长度) 约束, 字段名2 数据类型(长度) 约束, ...);
  • 查看表结构
desc 表名

引、select语句总结

1. 一个完整的select语句格式:

select 字段
from 表名
where …….
group by ………
having …….(为了过滤分组后的数据而存在的,即不可以单独的出现)
order by ………

2. 语句执行顺序

1. 首先执行where语句过滤原始数据
2. 执行group by进行分组
3. 执行having对分组数据进行操作
4. 执行select选出数据
5. 执行order by排序

  • 原则:能在where中过滤的数据,尽量在where中过滤,效率较高,having的过滤是专门对分组之后的数据进行过滤的
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jayco江柯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值