mysql数据库基本概念简介
概述
为什么要使用数据库? 答:实现数据的持久化。
数据库存储类型多样,存储量大。由于其他文件等介质。
概念
DB:database(数据库),保存数据的仓库,本质是一个文件系统。
DBMS:数据库管理系统,常说的Mysql数据库,管理软件。
SQL:结构化查询语言。
通过SQL,使用DBMS管理DB实现数据的增删查改。
常见的DBMS:
-
Oracle -
Mysql -
SQL Server -
Sqlite -
Redis
关系型数据库RDBMS:Mysql是开源的关系型数据库管理系统。MariaDB是Mysql的分支。 以行和列的形式存储数据,构成表,多个表构成数据库。关系模型表示。
MYsql优点:
-
开源免费,使用成本低 -
性能卓越,服务稳定 -
体积小,使用简单,易于维护 -
社区活跃...
关系型数据库设计规则
表,记录,字段。
表的关联关系:
-
一对一 -
一对多 -
多对多 -
自我关联
基本名词定义
data:数据
database:数据库
dbms(database management system)数据库管理系统
rdbms(relational database management system)关系型数据库管理系统
table:表
field:字段
column:列
attribute:属性
type:类型
key:键值
index:索引
view:视图
sp(stored procedure):存储过程
trigger:触发器
primary key:主键
forerign key:外键
unique:唯一
performance:性能
tuning:调优
backup:备份
restore:恢复
user:用户
grant:授权
revoke:回收
privilege:权限
select:查询
update:修改
delete:删除
insert:添加
安装步骤
# 下载:
官网下载 GA版本
# 上传服务器并解压到指定文件:
一般默认/usr/local/mysql
# 配置数据目录和启动用户:
mysql:mysql ,数据目录为/usr/local/mysql/data,需手动创建
# 配置文件my.cnf,
进行端口,并发连接,字符集,存储引擎等设置
# 初始化:
cd /www/mysql
./bin/mysqld --defaults-file=/www/mysql/etc/my.cnf --user=mysql --basedir=/www/mysql --datadir=/www/mysql/data --character-set-server=utf8mb4 --initialize
# 配置启动方式,通过systemctl或者手动启动
cd /www/mysql-8.0.29/script
# 复制进程文件到目录下
cp mysqld.service /usr/lib/systemd/system/
# 刷新
systemctl-daemon-reload
# 修改默认密码
alter user 'root'@'localhost' identified by 'WZS134125'
# 迁移data目录
mv data /mnt
# 修改my.cnf
datadir=/mnt
# 通过sql查看内置变量
show VARIABLES LIKE '%bind_address%';
授权认证
mysql权限认证由用户名和主机名组成类似: root@localhost
root@localhost和root@192.168.131.101是两个不同的用户
# 创建用户,设置密码,通过create user
create user chuck@'localhost' identified by 'WZS134125';
# 授予权限,grant,revoke
grant all privileges on *.* to chuck@'localhost'; # 授予所有权限
GRANT SELECT, INSERT ON database_name.table_name TO user_name; # 授予特定权限
GRANT SELECT, INSERT ON database_name.table_name TO role_name; # 授予角色的权限
# 查看权限
show grants for chuck@'localhost';
# 撤销权限
REVOKE ALL PRIVILEGES ON database_name.* FROM user_name; # 撤销所有权限
REVOKE SELECT, INSERT ON database_name.table_name FROM user_name; # 撤销特定权限
REVOKE ALL PRIVILEGES ON database_name.* FROM role_name; # 撤销角色权限
# 针对字段或者列进行限制
GRANT SELECT(name)ON database_name.table_name TO user_name; # 针对特定字段进行控制
权限级别:
-
全局性,针对数据库示例所有的数据库权限控制 -
数据库级别,针对某些数据库的权限 -
数据库对象级别,针对特定的修改,查询,更新或者某个字段和列的权限
概述: 我们需要存储的一些有价值的数据如:姓名、年龄、职业、项目、薪资等数据以一种格式化的数据存储在数据表中,多个关联的表存储在同一个数据库中,使用数据库管理软件进行查询、修改、删除操作,实际物理存储路径在服务器的目录上。
本文由 mdnice 多平台发布
相关文章:
mysql数据库基本概念简介
概述 为什么要使用数据库? 答:实现数据的持久化。 数据库存储类型多样,存储量大。由于其他文件等介质。 概念 DB:database(数据库),保存数据的仓库,本质是一个文件系统。 DBMS:数据库管理系统,常说的Mysql数…...
前端开发_HTML
简介 CSS用于美化内容 HTML用于摆放内容 可以理解为HTML是基础,CSS是工具 HTML定义 HTML 超文本标记语言——HyperText Markup Language 超文本——链接 标记——标签,即带尖括号的文本 标签语法 双标签 开始标签: <xxx> 即尖…...
1.Spring源码解析-ClassPathXmlApplicationContext
此类是读取spring的xml配置文件并解析。也是源码入口之一。 我们调试即将开始。 传递给父类设置值 经调试我们得到是给AbstractApplicationContext设置默认的应用上下文父级的值,很明显是空 给父类AbstractRefreshableConfigApplicationContext设置属性 刷新容器…...
android 动态创建selector状态选择器 动态创建Drawable
最近在做一个使用接口返回的字符串:"#ff0000" 来动态设置drawable背景颜色与动态设置状态选择器selector的需求,之前写习惯了shape的xml,还是第一次写动态的,有点搞笑,搞笑的是自己没写过,不知道…...
Python与设计模式--责任链模式
23种计模式之 前言 (5)单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、(11)策略模式、责任链模式、命令模式、中介者模…...
(C)一些题6
1.正确定义符号常量PI的宏定义为 A.define PI 3.14 B.define PI 3.14: C。#define PI 3.14 D #define PI 3.14; 2。关于字符数组的描述中错误的是() A.字符数组可以存放字符串 B.字符数组中的字符串可以整体输入和输出 C。可以在赋值语句中通过运算符“”对…...
基于单片机的肺活量检测系统(论文+源码)
1.系统设计 在基于单片机的肺活量检测系统中,在硬件上整个系统通过利用主控制器STC89C52单片机来实现对整个系统进行控制的功能,通过采用LCD1602实现实时液晶显示数据的功能,通过肺活量传感器XGZP6847ADC0832实现监测肺活量的工作࿰…...
【开题报告】海洋多源数据质量控制应用服务的WebServer设计与实现
开 题 报 告 内 容 论文选题的意义、主要研究内容和文献资料调研情况 一、选题意义 在当今世界研究自然环境的大背景下,计算机技术与各学科、各领域的综合应用逐渐增多。作为地球上最广阔的水体,同时也是地球上决定气候发展的主要的因素之一࿰…...
接单平台在精不在多,劝诸位程序员找个好平台!
程序员想找兼职搞副业,结果知乎上逛了一大圈,各种平台推荐,可以说是眼花缭乱。要么就是平台一搜,各种劝退!好好好,就问一句,还搞不搞?Of course~有钱还不赚的是傻子。加班摸鱼的时候…...
mybatis关于namespace以及id以及Mapper接口命名的说明(了解)
1、建库建表 CREATE DATABASE mybatis-example;USE mybatis-example;CREATE TABLE t_emp(emp_id INT AUTO_INCREMENT,emp_name CHAR(100),emp_salary DOUBLE(10,5),PRIMARY KEY(emp_id) );INSERT INTO t_emp(emp_name,emp_salary) VALUES("tom",200.33); INSERT INTO…...
MySQL中的锁(简单)
目录 1. 共享锁(Shared Lock): 2. 排他锁(Exclusive Lock): 3. 行级锁(Row-Level Lock): 4. 页级锁(Page-Level Lock): 5. 表级锁…...
【独家OD2023C卷真题】20天拿下华为OD笔试【贪心】2023C-分配土地最大面积【欧弟算法】全网注释最详细分类最全的华为OD真题题解
文章目录 题目描述与示例题目描述输入描述输出描述备注示例一输入输出说明 示例二输入输出说明 解题思路单种颜色的最小覆盖面积多种颜色的最小覆盖面积 代码PythonJavaC时空复杂度 华为OD算法/大厂面试高频题算法练习冲刺训练 题目描述与示例 题目描述 从前有个村庄…...
省市区编码sql
CREATE TABLE area (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键,code varchar(64) COLLATE utf8mb4_bin DEFAULT NULL COMMENT 编码,name varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT 名称,parent_code varchar(64) COLLATE utf8mb4_bin DEFAULT NULL CO…...
实现电商平台与营销系统无缝集成:雅座的无代码开发与API连接
无代码开发:营销的新引擎 在数字化转型的浪潮中,无代码开发已成为企业提升效率、减少成本的新引擎。这种开发方式允许非技术人员通过图形界面构建应用程序,无需编写代码即可实现复杂功能。这对于营销、广告推广以及用户运营等业务尤为重要&a…...
win10下安装 Anaconda + Cuda + Cudnn + Pycharm + Pytorch
1.安装Anaconda (1-1)下载Ananconda, Anaconda官网 选择windows版本; (1-2)安装Anaconda,一般选择【Just Me】 (1-3)建议不要装在C盘,后期多环境的python环境和各种库文件会占用很多…...
第20章 多线程
创建线程 继承Thread 类 Thread 类时 java.lang 包中的一个类,从类中实例化的对象代表线程,程序员启动一个新线程需要建立 Thread 实例。 Thread 对象需要一个任务来执行,任务是指线程在启动时执行的工作,start() 方法启动线程&am…...
自定义类型:结构体,枚举,联合
1结构体的声明 1.1结构体基础知识 结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 1.2声明: struct tag {member-list; }variable-list; 描述一个学生: struct Stu {char name[20];//名字int age;//年龄char…...
C++:C++11新特性---右值引用
文章目录 初始化方式显示查看类型initializer_listdecltype左值引用和右值引用move左右值引用的场景 万能引用和完美转发 本篇总结C11新特性 初始化方式 C11对参数列表的初始化有了更明确的定义,可以这样进行定义 // 列表初始化 void test1() {// 旧版本int x 0…...
计算机人机界面
人机界面是指入与机器之间相互交流和影响的区域。人机界面包括对数据和信息的输入和输出方法,以及人们对机器的操作和控制。早期,人机交互界面是控制合,随后通过键盘进行操作,目前为鼠标和键盘操作,而智能手机采用触摸…...
【BUG合集】(一)①数据库存1/0,请求结果返回true和false;②sql查数据库能查,但mybatis查为空;③data64图片存储为异常;
前言 最近,在工作上接手的任务中,各种 bug 问题出现,在解决的同时也可以记录一下。因此,觉得可以出个记录 bug 合集。方便后来者碰到类似情况,可以作为一个参考进行解决。 文章题目就包含当前文章内容中所遇到的三个 b…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...
