当前位置: 首页 > wzjs >正文

ai logo设计网站东莞哪种网站推广好

ai logo设计网站,东莞哪种网站推广好,推几个学习网站,网站导航样式目录 触发器基本概念触发器操作创建触发器NEW 与 OLD查看触发器删除触发器 注意事项 存储引擎基本概念基本操作查询当前数据库支持的存储引擎查看当前的默认存储引擎查看某个表用的存储引擎创建表时指定存储引擎修改表的存储引擎 触发器 基本概念 概述: 触发器&a…

目录

  • 触发器
    • 基本概念
    • 触发器操作
      • 创建触发器
      • NEW 与 OLD
      • 查看触发器
      • 删除触发器
    • 注意事项
  • 存储引擎
    • 基本概念
    • 基本操作
      • 查询当前数据库支持的存储引擎
      • 查看当前的默认存储引擎
      • 查看某个表用的存储引擎
      • 创建表时指定存储引擎
      • 修改表的存储引擎

触发器

基本概念

概述:

  • 触发器,就是一种特殊的存储过程。触发器和存储过程一样是一个能够完成特定功能、存储在数据库服务器上的 SQL 片段,但是触发器无需调用,当对数据库表中的数据执行 DML 操作时自动触发这个 SQL 片段的执行,无需手动条用
  • 在 MySQL 中,只有执行 insert,delete,update 操作时才能触发触发器的执行
  • 触发器的这种特性可以协助应用在数据库端确保数据的完整性,日志记录,数据校验等操作
  • 使用别名 OLD 和 NEW 来引用触发器中发生变化的记录内容,这与其他的数据库是相似的。现在触发器还只支持行级触发,不支持语句级触发

触发器特点:

  • 什么条件会触发?insert、delete、update
  • 什么时候触发?在增删改前或者后
  • 触发频率:针对每一行执行
  • 触发器定义在表上,附着在表上

触发器操作

创建触发器

创建单执行语句的触发器

格式如下:

create trigger 触发器名 before|after 触发事件
on 表名 for each row
执行语句;

创建多执行语句的触发器

格式如下:

create trigger 触发器名 before|after 触发事件
on 表名 for each row
begin执行语句列表
end;

代码示例:

-- 用户表
create table user(uid int primary key ,username varchar(50) not null ,password varchar(50) not null
);-- 用户信息操作日志
create table user_logs(id int primary key auto_increment ,time timestamp ,log_text varchar(255)
);-- 定义触发器
create trigger trigger1 after inserton user for each rowinsert into user_logs values (null,now(),'有新用户添加');-- 在user表中添加数据
insert into user values (1,'张三','123456');

结果如下:

在这里插入图片描述

NEW 与 OLD

MySQL 中定义了 NEW 和 OLD,用来表示触发器的所在表中,触发了触发器的那一行数据,来引用触发器中发生变化的记录内容

触发器类型触发器类型 NEW 和 OLD 的使用
INSERT 型触发器NEW 表示将要或者已经新增的数据
UPDATE 型触发器OLD 表示修改之前的数据,NEW 表示将要或已经修改后的数据
DELETE 型触发器OLD 表示将要或者已经删除的数据

使用方法:NEW.columnName(columnName 为相应数据表某一字段名)

代码示例:

-- 用户表
create table user(uid int primary key ,username varchar(50) not null ,password varchar(50) not null
);-- 用户信息操作日志
create table user_logs(id int primary key auto_increment ,time timestamp ,log_text varchar(255)
);-- 定义insert触发器
create trigger trigger2 after inserton user for each rowinsert into user_logs values(null,now(),concat('有新用户添加,信息为:',new.uid,new.username,new.password));-- 在user表中添加数据
insert into user values (1,'张三','123456'),(2,'李四','123456'),(3,'王五','123456'),(4,'赵六','123456');-- 定义update触发器
create trigger trigger3 after updateon user for each rowinsert into user_logs values(null,now(),concat('有用户修改,修改前的信息为:',old.uid,old.username,old.password));
create trigger trigger4 after updateon user for each rowinsert into user_logs values(null,now(),concat('有用户修改,修改后的信息为:',new.uid,new.username,new.password));-- 修改user表中的数据
update user set password='234567' where uid=2;-- 定义delete触发器
create trigger trigger5 after deleteon user for each rowinsert into user_logs values(null,now(),concat('有用户删除,删除前的信息为:',old.uid,old.username,old.password));-- 删除user表中的数据
delete from user where uid=3;

结果如下:

在这里插入图片描述

查看触发器

格式如下:

show triggers;

代码示例:

show triggers;

结果如下:

在这里插入图片描述

删除触发器

格式如下:

drop trigger [if exists] trigger_name;

代码示例:

drop trigger if exists trigger2;
show triggers;

结果如下:

在这里插入图片描述

注意事项

MySQL 中触发器不能对本表进行 insert、update、delete 操作,以免递归循环触发

尽量少使用触发器,假设触发器触发每次执行 1s,添加 500 条数据就要触发 500 次触发器,就会导致效率变低

触发器是针对每一行的,对增删改非常频繁的表上不要使用触发器,会非常消耗资源

存储引擎

基本概念

概述:

  • 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据
  • 不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL 的核心就是存储引擎
  • 用户可以根据不同的需求为数据表选择不同的存储引擎
  • 可以使用 SHOW ENGINES 命令可以查看 MySQL 的所有执行引擎,我们可以到默认的执行引擎是 InnoDB,支持事务,行级锁定和外键

分类:

  • MyISAM:MySQL 5.5 之前的默认数据库引擎,最为常用。拥有较高的插入,查询速度,但不支持事务
  • InnoDB:事务型场景的首选引擎,支持 ACID 事务,支持行级锁定,MySQL 5.5 成为默认数据库引擎
  • Memory:所有数据置于内存的存储引擎,拥有极高的插入、更新和查询效率,但会占用与数据量成正比的内存空间,且内容在 MySQL 重新启动时会丢失
  • Archive:非常适合存储大量独立的历史记录数据(因不经常被读取),拥有高效的插入速度,但对查询的支持相对较差
  • Federated:将不同的 MySQL 服务器联合起来,逻辑上组成一个完整的数据库,非常适合分布式应用
  • CSV:逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每个数据表创建一个 .csv 文件。这是一种普通文本文件,每个数据行占用一个文本行。CSV 存储引擎不支持索引。
  • BlackHole:黑洞引擎,写入的任何数据都会消失,一般用于记录 binlog 做复制的中继。
  • ERFORMANCE_SCHEMA:存储引擎,该引擎主要用于收集数据库服务器性能参数。
  • Mrg_Myisam Merge:存储引擎,是一组 MyIsam 的组合,即将 MyIsam 引擎的多个表聚合起来,其内部没有数据,真正的数据仍在 MyIsam 引擎的表中,但可直接进行查询、删除、更新等操作。

常用引擎对比:

功能MyISAMMEMORYInnoDB
存储限制256TBRAM64TB
支持事务NoNoYes
支持全文索引YesNoNo
支持 B 树索引YesYesYes
支持哈希索引NoYesNo
支持集群索引NoNoYes
支持数据索引YesYesYes
支持数据压缩YesNoNo
空间使用率N/A
支持外键NoNoYes

基本操作

查询当前数据库支持的存储引擎

代码示例:

show engines;

结果如下:

在这里插入图片描述

查看当前的默认存储引擎

代码示例:

show variables like '%storage_engine%';

结果如下:

在这里插入图片描述

查看某个表用的存储引擎

格式如下:

show create table table_name;

代码示例:

create table student(id int ,name varchar(20)
);
show create table student;

结果如下:

在这里插入图片描述

创建表时指定存储引擎

格式如下:

create table table_name(...) engine = engine_name;

代码示例:

create table teacher(id int ,name varchar(20)
) engine = MyISAM;
show create table teacher;

结果如下:

在这里插入图片描述

修改表的存储引擎

格式如下:

alter table table_name engine = engine_name;

代码示例:

alter table teacher engine = InnoDB;
show create table teacher;

结果如下:

在这里插入图片描述

http://www.dtcms.com/wzjs/277050.html

相关文章:

  • 网站热力图怎么做软件推广的渠道是哪里找的
  • 贵州住房与城乡建设部网站南京seo网络推广
  • 重庆网站维护seo快速排名软件方案
  • 宝鸡市住房和城乡建设局网站今日军事头条
  • 用什么技术做网站广州做网站的公司哪家好
  • java做简易网站江门seo
  • 有哪些网站可以做兼职百度推广有哪些形式
  • 犀牛云做网站多少钱云优化seo
  • 什么网站允许搭建aso优化软件
  • 套用模板网站百度竞价排名费用
  • 阿里主机wordpressseo做关键词怎么收费的
  • 汕头网站推广优化成都网络营销策划
  • 衡阳市做淘宝网站建设国际新闻快报
  • 网站title在哪里站长工具ping
  • python可以做网站吗手机网站排名优化软件
  • 潍坊做网站建设厦门网站快速排名优化
  • 杭州优化建筑设计泰州seo网络公司
  • 游戏网站模江阴企业网站制作
  • 优秀茶叶网站设计怎样做一个网页
  • 做教师知识网站有哪些内容如何做网络宣传推广
  • 动态网站开发题加答案西安专业seo
  • 网站的毕业设计怎么做搜索引擎营销方案
  • 自己做物流网站关键词排名点击器
  • 黄的网站建设百度首页登录入口
  • 企业建设网站的方式有两种推广方式有哪几种
  • 个人网站可以做商业吗图片seo优化是什么意思
  • 网站做收藏任务有用吗上海有名网站建站开发公司
  • 南京建设工程网站常见的营销方式有哪些
  • 携程旅游网站官网页面设计漂亮的网站
  • 3g 手机网站网站移动端优化工具