做别人一摸一样的网站犯法吗/郑州官网网站优化公司

做别人一摸一样的网站犯法吗,郑州官网网站优化公司,长春 万网 网站建设,wordpress author目录 触发器基本概念触发器操作创建触发器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.mzph.cn/pingmian/72978.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

能“嘎嘎提升”提升用户居住体验的智能家居物联网框架推荐!

智能家居在日常生活中给我们的带来了更多的便利,更让有些用户切实地体会到了科技的魅力,对于想要打造属于自己的智能家居氛围感的用户们,以下是一些能够帮助提升居住体验的智能家居物联网框架及应用: 1. 涂鸦智能(Tuy…

DevEco Studio的使用

目录 1.创建ArkTS工程 2.ArkTS工程目录结构(Stage模型) 构建第一个页面 构建第二个页面 实现页面间的跳转 1.创建ArkTS工程 若首次打开DevEco Studio,请点击Create Project创建工程。如果已经打开了一个工程,请在菜单栏选择…

性能监控——vmstat

性能监控——vmstat ​ 性能监控是对 IT 系统运行效率和有效性的系统观察和测量。它涉及收集、分析和报告各种组件(包括应用程序、网络、服务器和数据库)的关键性能指标 (KPI)。此过程使用专门的工具来跟踪响应时间、吞吐量、资源利用率和错误率等指标。…

图像分割的mask有空洞怎么修补

分享一个对实例分割mask修补的方法,希望对大家有所帮助。 1. 这是我准备分割的图片 2 分割结果 可以看到衣服部分有一些没分割出来,二值化图片能清晰看到衣服部分有些黑色未分出的地方。 3 补全mask区域 import cv2 import numpy as npdef fill_mask_h…

Qt 控件概述 QLabel

目录 QLabel显示类控件 label如何做到与窗口同步变化 边框 Frame QLabel显示类控件 ​​ ​​ textFormat :设置文件格式 ​ Pixmap :标签图片 label如何做到与窗口同步变化 Qt中对应用户的操作 : 事件和信号 拖拽窗口大小就会触发…

git 命令回退版本

1、查看提交记录 git log --oneline # 简化的提交历史&#xff08;推荐&#xff09; # 或 git log # 完整提交历史2、版本回退 git reset --hard <commit-hash>3、如果已推送过代码到远程仓库&#xff0c;需强制推送更新 git push -f

浅分析 PE3R 感知高效的三维重建

"近期&#xff0c;二维到三维感知技术的进步显著提升了对二维图像中三维场景的理解能力。然而&#xff0c;现有方法面临诸多关键挑战&#xff0c;包括跨场景泛化能力有限、感知精度欠佳以及重建速度缓慢。为克服这些局限&#xff0c;我们提出了感知高效三维重建框架&#…

汇编与反汇编:DEBUG 命令使用指南

前言 汇编语言是计算机底层编程语言&#xff0c;直接与 CPU 指令集对应。掌握汇编语言和调试工具&#xff08;如DEBUG&#xff09;是深入理解计算机工作原理的关键。本文将介绍汇编与反汇编的基本概念&#xff0c;并详细讲解如何使用 DEBUG 命令进行调试和内存操作。 目录 一、…

栈/堆/static/虚表

在 C 里&#xff0c;栈空间主要用来存放局部变量、函数调用信息等。下面为你介绍栈空间在 C 里的运用方式。 1. 局部变量的使用 在函数内部定义的变量会被存于栈空间&#xff0c;当函数执行结束&#xff0c;这些变量会自动被销毁。 #include <iostream>void exampleFu…

搭建个人博客教程(Hexo)

如何快速搭建一套本地的博客系统呢&#xff1f;这里有一套gitNode.jsHexo的部署方案来进行解决。 安装git Git 是一款免费开源的分布式版本控制系统&#xff0c;由 Linus Torvalds 于 2005 年为 Linux 内核开发设计。它通过本地仓库和远程仓库实现代码管理&#xff0c;支持分支…

鸿蒙NEXT开发问题大全(不断更新中.....)

目录 问题1&#xff1a;鸿蒙NEXT获取华为手机的udid ​问题2&#xff1a;[Fail]ExecuteCommand need connect-key? 问题3&#xff1a;测试时如何安装app包 问题1&#xff1a;鸿蒙NEXT开发获取华为手机的udid hdc -t "设备的序列号" shell bm get --udid 问题2&…

LiteratureReading:[2016] Enriching Word Vectors with Subword Information

文章目录 一、文献简明&#xff08;zero&#xff09;二、快速预览&#xff08;first&#xff09;1、标题分析2、作者介绍3、引用数4、摘要分析&#xff08;1&#xff09;翻译&#xff08;2&#xff09;分析 5、总结分析&#xff08;1&#xff09;翻译&#xff08;2&#xff09;…

ZMC600E,多核异构如何成就机器人精准控制?

ZMC600E主站控制器凭借其多核异构处理器的强大性能&#xff0c;实现了高算力与高实时性的完美平衡&#xff0c;让机器人动作流畅、精准无误。接下来&#xff0c;让我们深入了解其内核结构的奥秘。 在ZMC600E主站控制器控制机器人的时候&#xff0c;可以精准的控制机器人执行各种…

深入解析音频编解码器(Audio CODEC):硬件、接口与驱动开发

音频编解码器&#xff08;Audio CODEC&#xff09;是音频处理系统中的核心组件&#xff0c;负责 模拟信号与数字信号的相互转换&#xff0c;广泛应用于 智能音箱、嵌入式系统、消费电子产品 等设备。本篇文章将从 硬件结构、接口解析、驱动开发 和 软件配置 等方面&#xff0c;…

【QGIS_Python】在QGIS的Python控制台生成SHP格式点数据并显示标注

参考文章&#xff1a; 「GIS教程」使用DeepSeek辅助QGIS快速制图 | 麻辣GIS 示例代码说明&#xff1a;使用参考文章中的省会城市坐标点&#xff0c;左侧增加一列城市序号code, 图层标注显示 code 城市名称&#xff0c;同时在指定路径下生成对应SHP格式点数据。 import os fr…

k8s-coredns-CrashLoopBackOff 工作不正常

本文作者&#xff1a; slience_me 问题描述 # 问题描述 # rootk8s-node1:/home/slienceme# kubectl get pods --all-namespaces # NAMESPACE NAME READY STATUS RESTARTS AGE # kube-flannel kube-flannel-ds-66bcs …

Linux Vim 寄存器 | 从基础分类到高级应用

注&#xff1a;本文为 “vim 寄存器” 相关文章合辑。 英文引文&#xff0c;机翻未校。 中文引文&#xff0c;略作重排。 未整理去重&#xff0c;如有内容异常&#xff0c;请看原文。 Registers 寄存器 Learning Vim registers is like learning algebra for the first ti…

【Java/数据结构】队列(Quque)

本博客将介绍队列的相关知识&#xff0c;包括基于数组的普通队列&#xff0c;基于链表的普通队列&#xff0c;基于数组的双端队列&#xff0c;基于链表的双端队列&#xff0c;但不包括优先级队列&#xff08;PriorityQueue&#xff09;&#xff0c;此数据结构将单独发一篇博客&…

[数据结构]排序之 归并排序(有详细的递归图解)

一、非递归 基本思想&#xff1a; 归并排序&#xff08; MERGE-SORT &#xff09;是建立在归并操作上的一种有效的排序算法 , 该算法是采用分治法&#xff08; Divide andConquer&#xff09;的一个非常典型的应用。将已有序的子序列合并&#xff0c;得到完全有序的序列&#x…

docker安装向量数据库Milvus及可视化工具 Attu

前置条件 1.安装了docker 2.服务器网络正常&#xff0c;可以连接到容器下载地址 3.服务器磁盘空间正常&#xff0c;docker磁盘占用过大&#xff0c;请参考docker容量占用过大解决办法 一、下载yml文件 可在文章资源下载或者自行下载&#xff1a;下载yml 下载这个单机版本的…