事务定义

就是将一组SQL语句放在同一批次内去执行

如果一个sql语句出错,则改批次内的所有sql都将被取消执行

(1)原子性

一个事务要么全部提交成功,要么全部失败回滚,不能只执行其中的一部分操作,这就是事务的原子性

(2)一致性

在事务开始之前和事务结束以后,数据库的完整性没有被破坏。[例如两账户的和不变]

(3)隔离性

数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。

(4)持久性

事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。

事物的常用命令:

  1. 开始事物:begin或者start transaction
  2. 提交事务:commit
  3. 回滚事物 rollback                             

流程是:先关闭自动提交(set  autocommit=0)开启事物(begin)运行代码 手动提交(commit)就可以同时进行多项操作    结束需要开启自动提交(set autocommit=1)否则,之后的操作都不会在表中显示,必须用手动提交才行  仅限于引擎类型为InnoDB,MyIsam不行

为什么需要视图

1.不同的人员关注不同的数据

2.保证信息的安全性

视图定义

  1. 视图是一张虚拟表(不是真实存在的)
  2. 一张表创建多个视图

        3.视图不存放数据,但是展示数据

视图的作用

1.筛选表中的行

2.防止未经许可的用户访问敏感数据

3.降低数据库的复杂程度

4.将多个物理数据库抽象为一个逻辑数据库

创建视图

create view v_shitu as select name,pwd from shitu;//创建视图

SELECT*from v_shitu;//查询视图

DROP VIEW v_shitu ;//删除视图

UPDATE v_shitu set name='xxxx';//修改视图:视图中的数据可以影响到原表中的数据,即使视图是虚拟的也可以

查询所有表和视图 show tables

查询视图 show table status where comment ='view'

索引

1.索引作用:

大大提高数据库的检索速度

改善数据库性能

  1. 拓展:索引可以提高查询的效率,但是会减低增删改的效率
  2. 索引的种类:普通索引 主键索引 全文索引 组合索引 全文索引
  3. alter table 表名 add primary key(主键索引的属性名)
  4. alter table 表名 add unique(唯一索引的属性名)
  5. alter table 表名 add index(普通索引的属性名)
  6. Alter table 表名add index(属性名,属性名)创建组合索引
  7. show index from 表名(查询所有的索引)
  8. drop index 索引的属性名 on 表名(删除索引)

alter table 表名 drop primary key(删除主键索引。

 

mysql拓展的更多相关文章

  1. MySQL拓展操作

    MySQL除了基本的增删该查功能,还有以下拓展功能: create table t1( id int ...., num int, xx int, unique 唯一索引名称 (列名,列名), con ...

  2. MySQL拓展 视图,触发器,事务,存储过程,内置函数,流程控制,索引,慢查询优化,数据库三大设计范式

    视图: 1.什么是视图 视图就是通过查询得到一张虚拟表,然后保存下来,下次直接使用即可 2.为什么要用视图 如果要频繁使用一张虚拟表,可以不用重复查询 3.如何使用视图 create view tea ...

  3. 前端学PHP之mysql扩展函数

    × 目录 [1]连接数据库 [2]使用数据库 [3]执行SQL查询[4]操作结果集[5]关闭连接 前面的话 mysql由于其体积小.速度快.总体拥有成本低,尤其是具有开放源码这一特点,许多中小型网站为 ...

  4. apache+mysql+php环境的手动搭建

    一.搭建Apache Http Server 官方下载地址:http://www.apachehaus.com/cgi-bin/download.plx 搭建环境:win10 64位 WIN10 64 ...

  5. PHP API中,MYSQL与MYSQLI的持久连接区别

    转载自:http://www.cnxct.com/some-differences-between-mysql-and-mysqli-of-persistent-connection/ 很久很久以前, ...

  6. 页游手游服务器(二)c支持mysql

    上一篇说的是liua的net拓展,这一篇说lua的sql拓展,准确说是mysql拓展,这里推荐下postgre,比mysql好用,支持数组,各种好,不过腾讯平台不支持,所以你的公司要和腾讯合作,掂量下 ...

  7. 2-22-实现jsp通过tomcat连接mysql

    所有软件的版本如下: MySQL-Connector-Java: mysql-connector-java-5.1.36 Tomcat: apache-tomcat-8.0.26 JDK: jdk-8 ...

  8. 记录Python学习中的几个小问题

    记录Python学习中的几个小问题,和C#\JAVA的习惯都不太一样. 1.Django模板中比较两个值是否相等 错误的做法 <option value="{{group.id}}&q ...

  9. guacamole 0.8.3 项目部署 桌面虚拟化

    Guacamole是一个基于HTML5的虚拟桌面应用程序,其中包含多个组件,由各组件共同构成Guacamole---一个完整的虚拟桌面解决方案,不需要任何插件,只要浏览器支持HTML5就可以实现,而且 ...

  10. 什么是php?以及mysqlnd与libmysqlclient

    今天想彻底搞清楚php与mysql的关系,于是在php官方网站(http://php.net/manual/en/mysqli.installation.php) 看了一下mysqli,mysql.感 ...

随机推荐

  1. 2021-07-20:最小区间。你有 k 个 非递减排列 的整数列表。找到一个 最小 区间,使得 k 个列表中的每个列表至少有一个数包含在其中。我们定义如果 b-a < d-c 或者在 b-a ==

    2021-07-20:最小区间.你有 k 个 非递减排列 的整数列表.找到一个 最小 区间,使得 k 个列表中的每个列表至少有一个数包含在其中.我们定义如果 b-a < d-c 或者在 b-a ...

  2. 2021-09-03:直线上最多的点数。给你一个数组 points ,其中 points[i] = [xi, yi] 表示 X-Y 平面上的一个点。求最多有多少个点在同一条直线上。力扣149。

    2021-09-03:直线上最多的点数.给你一个数组 points ,其中 points[i] = [xi, yi] 表示 X-Y 平面上的一个点.求最多有多少个点在同一条直线上.力扣149. 福大大 ...

  3. django安装依赖包报错No such file or directory: 'requirement.txt'和警告You are using pip version 22.0.4; however, version 23.0.1 is available.

    ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirement.txt'WARNI ...

  4. SQL Server2019 新增字段并设置默认值

    命令: ALTER TABLE 表名 add 列名 数据类型 default 默认值 not null 例如: ALTER TABLE LJEL005H add el_req int default ...

  5. django 整合 vue

    django 整合 vue   安装 vue 1. 安装 node.js , 官网地址: https://nodejs.org/zh-cn/download/ 2. 使用 npm 淘宝镜像 npm i ...

  6. 全网最详细解读《GIN-HOW POWERFUL ARE GRAPH NEURAL NETWORKS》!!!

    Abstract + Introduction GNNs 大都遵循一个递归邻居聚合的方法,经过 k 次迭代聚合,一个节点所表征的特征向量能够捕捉到距离其 k-hop 邻域的邻居节点的特征,然后还可以通 ...

  7. jmeter如何保存变量到结果jtl文件里

    将变量保存到结果jtl文件里,可以方便的在generate报告时,自行取用jtl中的变量进行展示,实现过程如下: 1.打开jmeter/bin目录下的jmeter.properties文件,将变量名加 ...

  8. 腾讯云 cloudbase 云开发使用笔记

    产品概述 云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为开发者提供高可用.自动弹性扩缩的后端云服务,包含计算.存储.托管等 serverless ...

  9. kafka的安装和基本操作

    基本概念 简介 Kafka 最初是由 LinkedIn 即领英公司基于 Scala 和 Java 语言开发的分布式消息发布-订阅系统,现已捐献给Apache 软件基金会.其具有高吞吐.低延迟的特性,许 ...

  10. c++中vector容器的用法

    C语言中const关键字是constant的缩写,通常翻译为常量.常数等,它可以修饰变量.数组.指针.函数参数. vector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器.ve ...