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中没有该数据,那么就会向数据库中去查找数据。如果数据库中也没有,则该次查询结果失…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...
