视图

 
视图本质就是对查询的封装
 
创建视图(定义视图 起名以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. openstack高可用集群21-生产环境高可用openstack集群部署记录

    第一篇 集群概述 keepalived + haproxy +Rabbitmq集群+MariaDB Galera高可用集群   部署openstack时使用单个控制节点是非常危险的,这样就意味着单个节 ...

  2. Excel 多/整列(多/整行)移位操作

    步骤1:创建测试数据 步骤2:把B列和C列进行移位操作(整列移位操作,多列移位操作方法一样) 选中B列,鼠标放到B列边缘地带,直到鼠标显示带有四个箭头方向为止,点击键盘shift键进行拖拽,拖拽时显示 ...

  3. 简单测试linq to sql性能

         前些日子,做了一个物业收费系统,cs模式,用到了linq to sql 技术,这是我第一次使用这个东东写程序存取数据库,迷迷糊糊搞得一塌糊涂,当时有个同学他们找好的分页组件,然后写好了调用方 ...

  4. nginx反向代理部署springboot项目报404无法加载静态资源

    问题:nginx反向代理部署springboot项目报404无法加载静态资源(css,js,jpg,png...) springboot默认启动端口为8080,如果需要通过域名(不加端口号)直接访问s ...

  5. Java学习_反射

    什么是反射? 反射就是Reflection,Java的反射是指程序在运行期可以拿到一个对象的所有信息. 反射是为了解决在运行期,对某个实例一无所知的情况下,如何调用其方法. JAVA反射机制是在运行状 ...

  6. 读取平台管理员xlsx文件

    package com.cn.peitest.excel; import java.io.File; import java.io.FileInputStream; import java.io.Fi ...

  7. 关闭layer

    function closeBox() { var index = parent.layer.getFrameIndex(window.name); //获取当前窗体索引 parent.layer.c ...

  8. 使用Arduino点亮ESP-01S,ESP8266-01S上的板载LED

    因为在开发ESP-01s远程控制中觉得接线麻烦,又因为ESP-01s板子上带有LED灯,那就先点亮板载LED,  如图所示: 打开Arduino 把代码copy进去,再编译烧录,就可以看见LED灯每隔 ...

  9. ES6模板字符串及字符串的扩展方法

    一.ES6模板字符串 传统定义字符串的方式是: const str='hello es2015,this is a string' ES6新增了一种定义字符串的方式用反引号进行标识 const str ...

  10. C#:使用连接字符串连接数据库

    前言:在上学期选择专业时候,选择的是互联网(还有物联网),这学期相关课程便是使用c#完成一个管理系统:最近的作业是完成一个对数据库操作类,操作数据库?虽然是很简单的一个作业,但也是懵逼了很久,在网上找 ...