1、事务

mysql事务是用于处理操作量大、复杂性高的数据

    1. 事务特性

        原子性:保证每个事务所有操作要么全部完成或全部不完成,不可能停滞在中间环节;如事务在执行过程中出现错误,则会回滚到事务开始之前状态。

        一致性:事务开始结束后保证数据库的完整性没有被破坏,数据都是按照数据库要求的规范写入。

        隔离性:数据库允许多个事务同时对数据进行读写改操作,隔离性则可以防止多个事务由于交叉执行时导致数据不一致;事务中隔离分为4个级别。【出现:√ 不会出现:×】

 
脏读
不可重复读 幻读
读未提交
读已提交
可重复读
串行化

        

        持久性:事务提交后对数据库中的修改则是永久性的。

    2. 事务并发时出现的问题

     脏读:一个事务在处理过程中读取了另一个未提交的事务数据,当未提交的数据提交后,最终导致数据不一致。

        不可重复读:一个事务在多次进行查询返回数据时,另一个事务将数据修改后提交,导致前事务数据产生不同的结果。

        幻读:A事务将数据修改完毕时,同一时间B事务新增一条数据,A事务提交后查询发现还有一条数据没有进行修改,好似产生幻觉一样则为幻读。

  3、索引

    索引能加快数据库的查询速度并高效获取指定的数据。

    • 优势

      • 提高数据检索效率,降低数据库IO成本
      • 通过索引列可以对数据进行排序,降低CPU消耗
    • 劣势
      • 占据磁盘空间
      • 降低更新表的效率
1. 索引使用

代码如下

        创建索引
普通索引:
create index 索引名称 on 表名(列名) 其他索引(举例唯一索引unique):
公式:
create unique index 索引名称 on 表名(列名)
实例:
create table Demo(id int,
name varchar(20),
sex int,
unique index Demo_id(id ASC));
删除索引
删除:
公式:
drop index 索引名 on 表名;
实例:
drop index Dmoe_id on Demo;
2. 索引类型
    • 主键索引:对主键进行索引,主键不允许空值。
    • 普通索引:默认类型,无限制,允许定义索引时有重复值和空值。
    • 唯一索引:专注于对唯一类型数据进行索引,允许空值。 
    • 全文索引:用于数值比较、范围过滤、关键字匹配的范围性快速查询。 
    • 联合索引:多列值组成索引,用于多列组合查询。

       
4、SQL语法&关键字

SQL是一种结构化查询语言,用于对数据进行插入、查询、更新、删除操作来管理数据库系统。

    • insert into:数据插入操作,语法为insert into 表名(列1,列2)value(值1,值2),插入时列名和值需要一一对应。
    • select from:数据查询操作,语法为select * from 表名;*则代表全部列名,可通过输入列名来查询特定数据。
    • update set:更新操作,语法为update 表名 set 条件A where 条件B,条件A为修改条件,条件B为修改操作。
    • delete from:删除操作,语法为delect from 表名 where 条件A,条件A为删除条件。
    • where:用于sql中条件判断、条件过滤等操作。
    • having:类似于where,一般使用于group by之后,与where区别在于where过滤行,having过滤组。
    • like:用于模糊查询,主要只针对于“字符型”字段,常用"_"和"%"这两种通配符,前者充当占位符,后者代表匹配任意字符。
    • order by:用于数据排序,常用ASC升序排列和DESC降序排列。
    • group by:用于对字段进行分组。
    • not:用于判断表达式真假,类似于java语言中boolean。
    • and:用于在where子句后面将多个条件结合起来。
    • between:用于取两个值之间的数据范围。
    • lnner join:内连接,多表连接时只会显示满足条件的数据结果。
    • left join:左连接,多表连接时只会以左表为基准显示左表全部数据,右表只会显示对应数据,若无对应数据显示null。
    • right join:右连接,与左连接相反;多表连接时只会以右表为基准显示左表全部数据,左表只会显示对应数据,若无对应数据显示null。
    • in:用于嵌套语句查询,常用语子查询中。
5、数据库设计
1. 数据库三大范式
    • 每个字段具有原子性不可再分。
    • 建立在第一范式的基础上,确保数据库表列中只保存一种数据,不可以把多种数据保存在一个数据库表列中。
    • 建立在地二范式的基础上,数据不能存在传递关系,数据库中每个字段和主键都是直接关系。
2. 数据库规范设计
    • 系统需求分析
    • 概念结构设计
    • 逻辑结构设计
    • 物理结构设计
    • 数据库实施
    • 数据库运维

Mysql自序整理集的更多相关文章

  1. MySql常用命令集

    MySql 常用命令集 Mysql常用命令 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop ...

  2. PHP调用mysql函数整理

    mysql函数整理 名称:mysql_connect() 用途:打开非持久的 MySQL 连接.如果成功,则返回一个 MySQL 连接标识,失败则返回 FALSE. 语法:mysql_connect( ...

  3. Mysql 高可用集群PXC

    PXC是percona公司的percona  xtraDB  cluster,简称PXC.它是基于Galera协议的高可用集群方案.可以实现多个节点间的数据同步复制以及读写,并且可保障数据库的服务高可 ...

  4. 最全mysql笔记整理

    mysql笔记整理 作者:python技术人 博客:https://www.cnblogs.com/lpdeboke Windows服务 -- 启动MySQL net start mysql -- 创 ...

  5. Mysql 常用命令集

    1.mysqlbinlog工具使用方法如下: 先使用 show binary logs 查看 在使用导出命令 mysqlbinlog -R -uroot -pxxxx -hxxx.xxx.xxx.xx ...

  6. MySQL企业常用集群图解

      mysql集群架构图片 1.mysql企业常用集群架构 在中小型互联网的企业中.mysql的集群一般就是上图的架构.WEB节点读取数据库的时候读取dbproxy服务器.dbproxy服务器通过对S ...

  7. corosync+pacemaker and drbd实现mysql高可用集群

    DRBD:Distributed Replicated Block Device 分布式复制块设备,原理图如下 DRBD 有主双架构和双主架构的,当处于主从架构时,这个设备一定只有一个节点是可以读写的 ...

  8. 【MySQL】容器集群支持数据库实践

    京东容器数据库系统,管理1800台物理计算节点,生产1W+ 多MySQL Docker容器实例.架构简单可靠,Docker容器计算平台与MySQL集群管理平台解耦处理.为描述方便,京东容器化数据库系统 ...

  9. MySQL表空间集

    --MySQL表空间集 ----------------------2014-09-20 1. 收缩ibdata的方法,目前MySQL依然没有提供收缩ibdata的方法,只能重构,下面是5.7的步骤. ...

随机推荐

  1. POJ 1986:Distance Queries

    Distance Queries Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 18139   Accepted: 6248 ...

  2. Generative Adversarial Nets (GAN)

    目录 目标 框架 理论 数值实验 代码 Generative Adversarial Nets 这篇文章,引领了对抗学习的思想,更加可贵的是其中的理论证明,证明很少却直击要害. 目标 GAN,译名生成 ...

  3. CS5268替代AG9321MCQ 替代AG9321方案 TYPEC转HDMI多功能拓展坞

    台湾安格AG9321MCQ是一款TYPEC拓展坞产品方案,他集中了TYPEC 转HDMI  VGA  PD3.0快充  QC3.0数据传输 I2S接口的音频DAC输出以及可以各种读卡器功能. Caps ...

  4. 编写Java程序,以继承和多态思想模拟饲养员喂养不同动物的不同行为

    返回本章节 返回作业目录 需求说明: 以继承和多态思想模拟饲养员喂养不同动物的不同行为 动物园有饲养员和动物,其中动物有老虎.马.猴子.羊.狼等. 饲养员对不同的动物有不同的喂养行为. 实现思路: 以 ...

  5. SpringCloud集成Security安全(Config配置中心)

    1.说明 为了保护配置中心的敏感数据, 需要对Config Server进行安全保护, 本文基于Spring Security方案, 为Config Server增加最简单的Basic安全认证. 2. ...

  6. PostgresSQL客户端pgAdmin4使用

    1.说明 pgAdmin 4是一款为PostgreSQL设计的可靠和全面的数据库设计和管理软件, 它允许您连接到特定的数据库,创建表和运行各种从简单到复杂的SQL语句. 它支持的操作系统包括Linux ...

  7. java运算符2

    续: 位运算符(<<,>>,>>>) 1.<<: 3<<2,二进制左移2位,右边用0补齐       3的二进制:00000000 0 ...

  8. python 使用exec执行定义好的方法,提示“name 'XXX' is not defined”

    文件A中的exec(),调到了文件B中的方法,提示name is not defined exec()调用时,提示方法没有定义 试过了的方法: 1.百度上说是局部变量或者是全局变量之间的文件,然后在e ...

  9. unittest+ddt_实现数据驱动测试(7)

    我们设计测试用例时,会出现测试步骤一样,只是其中的测试数据有变化的情况,比如测试登录时的账号密码.这个时候,如果我们依然使用一条case一个方法的话,会出现大量的代码冗余,而且效率也会大大降低.此时, ...

  10. [ Flask ] myblog_flask问题集(RESTfull风格)

    VUE问题 前端VUE怎么捕获所有404NOT FOUND的路由呢? [ 解决方案 ] vue-router路由守卫,参考文档:动态路由匹配 对于路由.../edit/<id>,自己能编辑 ...