MySQL基本知识
目录
一,MySQL的元数据库
1.1.什么是元数据库
1.2.有哪些元数据库
1.3.切换数据库
二,账户管理
2.1.设置权限
2.2.授权用户
2.3.查看权限
2.4.撤销权限
三,MySQL引擎
3.1什么是数据库引擎
3.2.查看数据引擎
3.3.MyISAM引擎
3.4.memory
3.5.InnoDB
3.6.ARCHIVE
四,数据库命令
4.1.创建
4.2.查看
4.3.删除
五,建表与约束
5.1.建表
5.2.主键约束
5.3.非空约束
5.4.外键约束
5.5.唯一约束
5.6.默认值约束
一,MySQL的元数据库
1.1.什么是元数据库
记录MySQL自身数据的数据库
1.2.有哪些元数据库
information_schema:信息数据库,保存mysql所维护的其他数据库信息,例如:数据库名,数据库的表,表栏的数据类型与访问权限等
mysql:核心数据库,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息
performance_schema:用于mysql的监控数据的存放
1.3.切换数据库
-- 示例
use mysql
二,账户管理
2.1.设置权限
命令格式
grant privileges on databasename.tablename to username@'host'-- privileges-- 指定select,update等权限,全部权限使用all-- databasename-- 指定数据库,所有数据库请使用*-- tablename-- 指定数据表,所有表请使用*-- username-- 需要赋权的用户名,@带的是Host,表示赋权操作针对那些链接,详情查看【host列说明】
使用示例
GRANT SELECT, UPDATE ON bookshop.`t_book` TO test@'%';-- 将bookshop数据库中的t_book表的select,update权限赋予test用户,并且不对ip地址限制
grant all on *.* to dba@'localhost'-- 一般用于赋予管理员最高权限,谨慎使用
grant create view on testdb.* to developer@'192.168.0.%'; -- 以192.168.0开头的账户名deveoper用户针对testdb数据库赋予创建视图的权限
grant show view on testdb.* to developer@'192.168.0.%'-- 以192.168.0开头的账户名deveoper用户针对testdb数据库赋予查看视图的权限
grant index on testdb.* to developer@'192.168.0.%';-- 以192.168.0开头的账户名deveoper用户针对testdb数据库赋予创建索引的权限
grant create routine on testdb.* to developer@'192.168.0.%'-- 以192.168.0开头的账户名deveoper用户针对testdb数据库赋予操作存储过程与函数的权限
grant alter routine on testdb.* to developer@'192.168.0.%';-- 以192.168.0开头的账户名deveoper用户针对testdb数据库赋予创建删除存储过程与函数的权限
2.2.授权用户
命令格式
grant privileges on databasename.tablename to username@'host' with grant option
示例
grant select on testdb.* to dba@localhost with grant option
2.3.查看权限
-- 查看当前用户(自己)权限
show grants
-- 查看其他 MySQL 用户权限
show grants for dba@localhost;
2.4.撤销权限
-- 收回test用户对于bookshop库中t_book表的update权限(ip不限)
REVOKE UPDATE ON bookshop.t_book FROM test@'%';
命令格式
revoke privileges on databasename.tablename from username@'host'
示例
-- 收回test用户对于bookshop库中t_book表的update权限(ip不限)
REVOKE UPDATE ON bookshop.t_book FROM test@'%';
三,MySQL引擎
3.1什么是数据库引擎
数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据, 不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能
3.2.查看数据引擎
命令
show engines
- Support字段说明
- DEFAULT的为默认的引擎
- 为YES表示可以使用
- 为NO表示不能使用
3.3.MyISAM引擎
- MYISAM强调了快速读取操作
- 使用场景: 大量查询,很少修改的场景
- 存储限制:256TG
- 事务支持:不支持事务
-
3.4.memory
- 所有的数据都保存在内存中,一旦服务器重启,所有Memory存储引擎的表数据会消失但是表结构会保存下来
- 使用场景:由于易失性,可以用于存储在分析中产生的中间表
- 存储限制:取决与RAM
- 事务支持:不支持事务
3.5.InnoDB
- 后者修改快,支持事务
- 使用场景:一般事务性,均使用该引擎,用途最广,如果把握不准使用何种引擎,就使用该引擎
- 存储限制:64TG
- 事务支持:支持事务
3.6.ARCHIVE
- 只允许插入和查询,不允许修改和删除,压缩存储,节约空间,可以实现高并发的插入,支持在自增id上建立索引
- 使用场景:在日志和数据采集的时候可以使用
- 特点
- Archive表比MyISAM表要小大约75%,比支持事务处理的InnoDB表小大约83%
- 不支持索引(自增id列除外)
- 支持insert,select操作,但不支持delete,update操作
四,数据库命令
4.1.创建
命令格式
create database 数据库名
create database if not exists 数据库名 default charset utf8 collate utf8_general_ci;-- 默认的数据库编码集:utf8-- collate表示校验规则为utf8_general_ci-- 常用排序类型-- utf8_general_cs(区分大小写)-- utf8_genera_ci(不区分大小写)
4.2.查看
show databases
4.3.删除
drop database 数据库名
-- 危险操作,先备份
五,建表与约束
5.1.建表
命令格式
CREATE TABLE 表名称(列名称1 数据类型 NOT NULL,列名称2 数据类型,列名称3 数据类型,unique(列名称1[,列名称2,...,列名称N]))
示例
create table t_student
(sid int not null comment '学号',sname varchar(60) not null comment '姓名',sex tinyint not null default 1 comment '性别:1男, 2女',age tinyint not null comment ' 年龄',icard varchar(18) not null comment '身份证,唯一约束',primary key (sid),unique key AK_Key_2 (icard)
) comment '学生信息表';
5.2.主键约束
-- PRIMARY KEY
-- 增加主键ALTER TABLE 表名 ADD PRIMARY KEY(主键名称)
-- 删除主键ALTER TABLE 表名 DROP PRIMARY KEY
5.3.非空约束
sid INT NOT NULL COMMENT '学号',
5.4.外键约束
DROP TABLE IF EXISTS t_score;
CREATE TABLE t_score
(id INT NOT NULL COMMENT '记录流水号',sid INT NOT NULL COMMENT '学号',cid INT NOT NULL COMMENT '课程ID',score FLOAT COMMENT '成绩',PRIMARY KEY (id),FOREIGN KEY (sid) REFERENCES t_student (sid) ON DELETE RESTRICT ON UPDATE RESTRICT,UNIQUE KEY AK_Key_2 (sid, cid)
);
说明: sid为本表的外键,关联t_student表中的的sid主键,ON DELETE RESTRICT ON UPDATE RESTRICT说明在本表有数据的情况下,主表的关联键不能删除或更新。
增加外键
-- 增加外键
ALTER TABLE 表名 ADD FOREIGN KEY(外键名称) REFERENCES 主表名称(主键名称)
删除外键
-- 删除外键
ALTER TABLE 表名 DROP FOREIGN KEY 约束名
5.5.唯一约束
-- UNIQUE KEY 约束名 (字段)
-- 创建唯一约束ALTER TABLE 表名 ADD UNIQUE(列名称1[,列名称2,..])create unique index UserNameIndex on 't_user' ('username')
-- 删除唯一约束ALTER TABLE 表名 DROP INDEX 唯一约束缩影名称
5.6.默认值约束
default
相关文章:
MySQL基本知识
目录 一,MySQL的元数据库 1.1.什么是元数据库 1.2.有哪些元数据库 1.3.切换数据库 二,账户管理 2.1.设置权限 2.2.授权用户 2.3.查看权限 2.4.撤销权限 三,MySQL引擎 3.1什么是数据库引擎 3.2.查看数据引擎 3.3.MyISAM引擎 3.4…...

Vue3 (unplugin-auto-import自动导入的使用)
安装 参考链接 npm i -D unplugin-auto-importvite.config.ts里面配置 import AutoImport from unplugin-auto-import/viteAutoImport({imports:[ vue,vue-router]})重新运行项目会生成一个auto-imports.d.ts的文件 /* eslint-disable */ /* prettier-ignore */ // ts-nochec…...

【漏洞复现】大华智慧园区综合管理平台信息泄露漏洞
Nx01 产品简介 大华智慧园区综合管理平台是一款综合管理平台,具备园区运营、资源调配和智能服务等功能。该平台旨在协助优化园区资源分配,满足多元化的管理需求,同时通过提供智能服务,增强使用体验。 Nx02 漏洞描述 大华智慧园区…...

JavaScript的书写方式
JavaScript的书写方式 目前较为流行的是第二种和第三种,第一种很少见。在第二种和第三种推荐使用第三种,因为在日常开发/工作中,第三种是最为常见的 1.行内式 把JS代码嵌入到html元素内部 示例代码 运行效果 由于JS中字符串常量可以使用单引…...
第二十篇-推荐-纯CPU(E5-2680)推理-llama.cpp-qwen1_5-72b-chat-q4_k_m.gguf
环境 系统:CentOS-7 CPU: Intel Xeon CPU E5-2680 v4 2.40GHz 14C28T 内存: 48G DDR3 依赖安装 make --version GNU Make 4.3gcc --version gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9)g --version g (GCC) 11.2.1 20220127 (Red Hat …...
CSS常见选择器
CSS常见选择器 在Web开发中,层叠样式表(CSS)是用于描述HTML或XML(包括SVG和XHTML等其他XML语言)文档的样式的语言。CSS描述了文档的表现形式,包括布局、颜色和字体等。在CSS中,选择器是一种模式…...

[LWC] Components Communication
目录 Overview Summary Sample Code 1. Parent -> Child - Public Setter / Property / Function a. Public Property b. Public getters and setters c. Public Methods 2. Child -> Parent - Custom Event 3. Unrelated Components - LMS (Lightning Message…...

Unity中URP实现水体(水下的扭曲)
文章目录 前言一、使用一张法线纹理,作为水下扭曲的纹理1、在属性面板定义一个纹理,用于传入法线贴图2、在Pass中,定义对应的纹理和采样器3、在常量缓冲区,申明修改 Tilling 和 Offset 的ST4、在顶点着色器,计算得到 应…...

anaconda指定目录创建环境无效/环境无法创建到指定位置
已经设置目录到D盘 创建环境时还是分配到C盘 可能是指定位置没有开启读写权限,如我在这里安装到了anaconda文件夹,则打开该文件夹的属性->安全->编辑 allusers下的权限全都打勾...
《Docker极简教程》--Docker在生产环境的应用--Docker在生产环境的部署
一、准备工作 1.1 硬件和基础设施要求 硬件和基础设施要求是在部署 Docker 到生产环境之前需要认真考虑和准备的重要方面,以下是一般性的要求: 服务器硬件: CPU:建议使用多核处理器,以支持同时运行多个容器。内存&a…...
算法D31 | 贪心算法1 | 455.分发饼干 376. 摆动序列 53. 最大子序和
贪心算法其实就是没有什么规律可言,所以大家了解贪心算法 就了解它没有规律的本质就够了。 不用花心思去研究其规律, 没有思路就立刻看题解。 基本贪心的题目 有两个极端,要不就是特简单,要不就是死活想不出来。 学完贪心之后再…...

在IDEA中创建vue hello-world项目
工作中最近在接触vue前端项目,记录一下从0搭建一个vue hello world项目的步骤 1、本地电脑安装配置node、npm D:\Project\vue\hello-world>node -v v14.21.3 D:\Project\vue\hello-world>npm -v 6.14.18 D:\Project\vue\hello-world> 2、设置npm国内淘…...
如何获取pnpm存储目录
现在你可以做 得到:\path\to.pnpm-store\v3 pnpm store path注:从v7.0.0开始,pnpm 存储位于不同的文件夹中。它将位于$XDG_DATA_HOMELinux Linux : ~/.local/share/pnpm/store (default) Windows : C:\Users\YOUR_NAME\AppData\Local\pn…...
QT两个类之间使用信号槽
在做一些东西的时候,习惯性的引入头文件并且调用,因此出现了很多bug,qt的信号槽机制便可以有效的避免一些问题。 A类 #ifndef A_H #define A_H#include <QObject> #include <QDebug> class A : public QObject {Q_OBJECT public:explicit A…...

【Ubuntu】使用WSL安装Ubuntu
WSL 适用于 Linux 的 Windows 子系统 (WSL) 是 Windows 的一项功能,可用于在 Windows 计算机上运行 Linux 环境,而无需单独的虚拟机或双引导。 WSL 旨在为希望同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验。安装 Linux 发行版时,…...

【Node.js】自动生成 API 文档
目录 1、直接使用swagger-ui-express 2、配合swagger-jsdoc 如何在Node.js项目中使用 Swagger 来自动生成 API接口文档,使用生成方式有很多种。本文基于swagger-jsdocswagger-ui-express快速实现 1、直接使用swagger-ui-express // 方便来浏览和测试api npm i sw…...

小红书3C家电行业种草营销策略打法,纯干货
小红书作为国内种草营销的鼻祖,拥有庞大的年轻用户群体,特别是在3C家电行业,小红书的种草营销效应更是明显。据相关数据显示,小红书3C家电行业的用户关注度持续攀升,尤其是90后和00后,他们对新鲜事物的接受…...

防火墙的内容安全
目录 1. 内容安全 1.1 IAE引擎 DPI---深度包检测技术 DFI---深度流检测技术 结论(优缺点): 1.2 入侵防御(检测)(IPS) IPS的优势: 入侵检测的方法: 入侵检测的流程 签名 查看预定义签名的内容 新建自定义签名 入侵防御的检测…...

Redis 管道详解
Redis 管道 关键词:Pipeline Pipeline 简介 Redis 是一种基于 C/S 模型以及请求/响应协议的 TCP 服务。通常情况下,一个 Redis 命令的请求、响应遵循以下步骤: 客户端向服务端发送一个查询请求,并监听 Socket 返回(…...

【Redis】理论进阶篇------浅谈Redis的缓存穿透和雪崩原理
一、缓存穿透 1、概念 缓存穿透(查不到数据),是指当用户想要查询数据的时候,会先去Redis中取命中,如果Redis中没有该数据,那么就会向数据库中去查找数据。如果数据库中也没有,则该次查询结果失…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

【Linux】自动化构建-Make/Makefile
前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具:make/makfile 1.背景 在一个工程中源文件不计其数,其按类型、功能、模块分别放在若干个目录中,mak…...
【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?
FTP(File Transfer Protocol)本身是一个基于 TCP 的协议,理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况,主要原因包括: ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...