视图

 
视图本质就是对查询的封装
 
创建视图(定义视图 起名以v_开头)
create view v_students as select classes.name as c_name ,students.* from students inner join classes on students.cls_id=classes.id;
 
查看视图               
select * from v_students;
 
删除视图
drop view v_students;
 
 
 

事务

 

事务具有ACID特性:

原子性(A,atomicity)

一致性(C,consistency)

隔离性(I,isolation)

持久性(D,durabulity)

 
原子性:事务内所有操作要么都执行,要么都不执行,它是一个不可分割的工作单位
例如:
A给B转账,不会因为各种原因A账号已经发生扣款而B账户没有收到加款。
 
 
一致性:事务开始和结束前后,数据库的完整性没有被破坏
 
案例:
   对银行转帐事务,不管事务成功还是失败,应该保证事务结束后ACCOUNT表中aaa和bbb的存款总额为2000元。
 
隔离性:事务之间不相互影响,多个事务并发访问时,事务之间是隔离的
    事务查看数据更新时,数据所处状态要么是另一事务修改之前或者修改之后的状态,不会查看到中间状态的数据。事务1在修改表的时候提交之前事务2不能修改
 
持久性:事务完成一手,该事务所对数据库所做的更改会持久的存在数据库中
 
begin; 开启事务
update delete insert  更改删除添加数据
commit;提交事务   
rollback; 回滚事务,放弃修改
 
 

索引

当数据库中数据量很大时,查找数据会变得很慢,
优化方案:索引
索引缺点:不便于增删改   时间长占用内存大
show index from 表名;#查看表的索引
 
set profiling=1; #开启时间
                      索引名字          表名字(字段)
create index title_index on students(id);  #创建索引
desc students;#查看索引
show profiles; #查看时间
drop index 索引名称 on 表名;  #删除索引
 
建表时创建索引
create table create_index(
id int primary key,
name varchar(10) unique,
age int,
key (age)
);
 

外键

  • 如果一个实体的某个字段指向另一个实体的主键,就称为外键。被指向的实体,称之为主实体(主表),也叫父实体(父表)。负责指向的实体,称之为从实体(从表),也叫子实体(子表)
  • 对关系字段进行约束,当为从表中的关系字段填写值时,会到关联的主表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并报错
  • 添加外键
alter table students add constraint fk_students_gid foreign key (gid) references grade(gid) on delete cascade;
alter table students drop foreign key 外键名字;  删除外键
 

mysql(视图 事务 索引 外键)的更多相关文章

  1. mariadb 视图 事务 索引 外键

    视图 对于复杂的查询,在多个地方被使用,如果需求发生了改变,需要更改sql语句,则需要在多个地方进行修改,维护起来非常麻烦   假如因为某种需求,需要将user拆房表usera和表userb,该两张表 ...

  2. MySQL 视图 事务 索引 外连接

    视图 1.定义 select 语句的结果集,是一张虚拟的表2.创建视图语句create view 视图名 as select语句3.查看视图show views;4.使用视图select * from ...

  3. mysql字段约束-索引-外键---3

    本节所讲内容: 字段修饰符 清空表记录 索引 外键 视图 一:字段修饰符 (约束) 1:null和not null修饰符   我们通过这个例子来看看 mysql> create table wo ...

  4. MariaDB 连接查询,视图,事物,索引,外键

    1.连接查询 --创建学生表 create table students ( id int unsigned not null auto_increment primary key, name var ...

  5. 2-16 MySQL字段约束-索引-外键

    一:字段修饰符 1:null和not null修饰符 我们通过这个例子来看看 mysql> create table worker(id int not null,name varchar(8) ...

  6. mariadb(四)连接查询,视图,事物,索引,外键

    一.连接查询 1)进入自己创建的zz数据库 2)创建学生表: create table students ( id int unsigned not null auto_increment prima ...

  7. mysql 视图 事务 索引

    为什么需要有视图 * 对于复杂的查询,往往是有多个数据表进行关联查询而得到,而这种语句往往比较复杂,也可能非常频繁的使用. 比如这样的SQL语句 select goods.name,goods_cat ...

  8. 总结: MySQL(基础,字段约束,索引,外键,存储过程,事务)操作语法

    1. 显示数据库列表 show databases; # 查看当前所有数据库 show databases \G   #以行的方式显示 2. 在命令行中,执行sql语句 mysql -e 'show ...

  9. mysql常用命令添加外键主键约束存储过程索引

    数据库连接 mysql -u root -p123456 查看表 show databases 创建数据库设置编码 create table books character set utf8; 创建用 ...

随机推荐

  1. Java 持久层框架之 MyBatis

    MyBatis 简介 MyBatis 是一个基于 Java 的持久层框架,它内部封装了 JDBC,使开发者只需关注 SQL 语句本身,而不用再花费精力去处理诸如注册驱动.创建 Connection.配 ...

  2. Salesforce LWC学习(三十) lwc superbadge项目实现

    本篇参考:https://trailhead.salesforce.com/content/learn/superbadges/superbadge_lwc_specialist 我们做lwc的学习时 ...

  3. java 的IO类库的基本架构

    java IO 操作的类在java.io 包中,大概可以分为以下几组: 基于字节操作的接口:InputStream 和 OutputStream 基于字符操作的接口:Writer 和 Reader 基 ...

  4. 最全的Visual Studio Code配置及使用教程

    史上最全vscode配置使用教程 工欲善其事,必先利其器.想要优雅且高效的编写代码,必须熟练使用一款前端开发工具.但前端开发工具数不胜数,像HBuilder.Sublime Text.WebStorm ...

  5. easyui中加载table列表数据 第一次有数据第二次没有数据问题

    $('#allUsingProductTable').datagrid({  加载数据时,第二加载时table会发生变化会出现找不到问题.如果是弹框没有影响,弹框出现出现列表每次都会执行销毁方法. 解 ...

  6. 手把手教你用SonarQube+Jenkins搭建--前端项目--代码质量管理平台 (Window系统)

    前言 网上教程大多介绍的是Linux系统下SonarQube+Jenkins如何使用,这是因为这两款软件一般都是部署在服务器上,而大多数服务器,采用的都是Linux系统.大多数服务器用Linux的原因 ...

  7. 什么是CDN?哪些是流行的jQuery CDN?使用CDN有什么好处?

    内容传送网络或内容分发网络(CDN)是部署在因特网上的多个数据中心的大型分布式服务器系统.CDN的目标是为具有高可 用性和高性能的最终用户提供内容. 有3个流行的jQuery CDN:谷歌,微软jQu ...

  8. java图像开发学习——JTable之导入数据库

    package demo; import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.MouseAd ...

  9. C++把数字排序

    C++把数字排序 描述 思路 代码 描述 如题,详细如下: 输入不超过1024个数字,以特殊数字结尾,如(-999),把数字从小到大排序. 思路 目前,我们有两种思路可以写: 1是 在输入的时候,排序 ...

  10. Java NIO 文件通道 FileChannel 用法

    FileChannel 提供了一种通过通道来访问文件的方式,它可以通过带参数 position(int) 方法定位到文件的任意位置开始进行操作,还能够将文件映射到直接内存,提高大文件的访问效率.本文将 ...