数据库的管理

news2024/12/29 10:10:38

目录

远程连接的方式

修改数据库uuid流程

数据库的概念

关系型数据库

非关系型数据库

关系型数据和非关系型数据库优缺点

mysql的数据类型

数据库的管理

sql中的名词

sql语言的分类

1.DDL:创建库和表的语句 create

2.DML:  插入数据  insert 

修改和更新 update

delete删除表的数据

3.DQL:查询语句 select

查看指定行查询 limit

去重查询 distinct

 where 语句  条件的筛选

模糊查询 like

alter 修改表名和修改表结构

修改表名

给表添加一个列

修改字段的数据类型

删除列

修改列的名称


sql语句  数据库用来增删改查的语句

备份  数据库的数据进行备份

主从复制,读写分离    (高可用)

远程连接的方式

drop user root@'%';

flush privileges;

清空用户信息(如果下面设置不行清空再操作即可)

mysql -u root -p123456
#进入数据库交互界面

show databases;

create user 'root'@"%" identified by '123456';

#创建用户并设置密码

grant all privileges on *.* to 'root'@'%';

#赋予远程连接的权限

flush privileges;

#刷新生效

alter user 'root'@'%' identified with mysql_native_password by "123456";

#修改加密方式,可以进行远程连接

修改数据库uuid流程

启动MySQL服务
systemctl restart mysqld

进入数据库
mysql -u root -p123456

我们的数据库都一样,用户root,密码123456
#进入数据库操作
select uuid();
#使用uuid函数生成新的uuid,在下方框里会生成新的uuid,把它复制下来保存,就是很长的那一段

show variables like 'datadir';
#查看auto.cnf文件存放的目录,在下方框里显示
#这一步可以不用做,因为我们源码安装的MySQL
#我们的auto.cnf存放的目录都是/usr/local/mysql/data/
quit
#退出数据库

修改auto.cnf文件
vim /usr/local/mysql/data/auto.cnf
server-uuid=(填入刚才生成的新的uuid)

重启MySQL服务
systemctl restart mysqld

数据库uuid修改完成

数据库的概念

数据库:组织,存储,管理数据的仓库

数据库的管理系统(DBMS):实现对数据有效组织,管理和存取的系统软件

软件:mysql、oracle、sql-server、MariaDB、postgreSQL大象数据库

关系型数据库

关系型数据库:mysql 、oracle、postgreSQL

关系型数据存储的结构:是一张二维的表格,表里有行和列

列是对象,字段

行是对象的信息,字段的属性

行+列组成一张表

非关系型数据库

缓存型数据库:redis

索引型数据库:ES

文档型数据库:MongoDB

以键值对形式存储的结构:key  value   

关系型数据和非关系型数据库优缺点

关系型数据库的优点:表的结构清晰,逻辑容易整理,记录的数据比较完整

                         缺点:读写速度比较慢,并发量差,数据迁移比较麻烦

非关系型数据库的优点:高并发速写,对海量数据依旧可以保持高效率的存储和访问,架构可拓展

                             缺点:键值对形式存储,数据逻辑比较复杂,数据是保存在缓存(内存)当中                                           (尤其是redis),如果意外重启所有数据就会丢失

mysql的数据类型

char:固定长度的自读类型,用于存储固定长度的字符串

varchar:可变长度的字符类型,存储的是可变长度的字符串

char和varchar的区别:

char定义好了长度之后,不论写的值是多少,都会占用固定长度的字节大小,保存在磁盘上都是4字节

varchar在保存字符串时,多少就保存多少,在保存的字符串结尾默认有一个隐藏的结束符,会多占一个字节

varchar比char要节约磁盘空间

char的读写速度性能要高于varchar。char是连续的磁盘空间,保存的内容是连续的;varchar在增删改查之后,会产生一个磁盘空间的碎片文件,影响读写性能

int  存储的数据类型为整数

float  存储的是单精度浮点数,小数点     格式:float(m,d);   m表示总位数,d表示小数位数

double  存储的是双精度浮点数   格式:double(m,d);

date 用于存储日期   格式 YYYY-MM-DD

datetime 用于存储日志和时间   格式 YYYY-MM-DD    HH:MM:SS

timestamp :和datetime类似,但是它可以自动记录当前时间

smallint  存储小整数

bigint  存储大整数

decimal(5,2);存储精度的浮点数   5表示总位数,2表示小数位

数据库的管理

增删改查——sql语句

sql中的名词

数据库:database

表:table

行:row

列:column

索引:index

视图:view

用户:user

权限:privilege

存储过程:procedure

存储函数:funcrion

调度器:exent

sql的语言规范:

在数据库系统中,sql语句不区分大小写,但是建议用大写;sql语句可以分单行和多行,但是必须要以“;”结尾

命令规范:库名、表名、列的名字,都必须以字母开头,后面可以用数字,也可以跟上特殊符号,不要使用mysql的保留字(table,select,show databases);数据库名,表名,用户名严格区分大小写

sql语言的分类

1.DDL 数据库定义语言:创建数据库的对象语言,比如库、表和索引等等比如create   drop

2.DML 数据库操作语言:对表里的数据进行管理 比如 select update insert delete

3.DQL  数据库查询语言:数据库的查询语言  select

4.DCL 数据控制语言:控制和管理数据库用户的角色和权限   grant 赋权   revoke 取消权限

5.TCL 事务控制语言:用来管理数据库的事务,用于脚本开发,存储过程等等,比如commit rollback savepoint

1.DDL:创建库和表的语句 create

desc test01\G;查询表

create 创建  create database xy102 创建库   create table test 创建表

drop 删除  drop databases xy102

xshell里面查看表

key:表示是否是主键或者外键

default:如果没有数据的默认展示结果

extra:提供列的附加信息,比如自增长等等

2.DML:  插入数据  insert 

insert into 表名(字段1,字段2,字段3) values(1,2,3);

null和空值之间的区别:

null就是啥也没有,就是为空;空值也是值,只是值是空

insert into test01 values(4,'  ',null);   空格也是值,但是null不是值就是空的

修改和更新 update

update 表名 set   列名=值   where 条件;

update test01 set score=90 where id  =  4;

delete删除表的数据

delete from 表名 where 条件;

delete from test01 where id=2;

3.DQL:查询语句 select

select  score from test01;

select name,score from test01;

查看指定行查询 limit

select * from test01 limit 2,3; 第二行后面的三行

select * from test01 limit 0,3; 第一行到第三行

去重查询 distinct

select distinct name from test01;

 where 语句  条件的筛选

and 逻辑且    or   逻辑或

select * from test01 where id=7 and score=71;

模糊查询 like

select * from test01 where name like '顾%';  顾%  以什么为开头     %顾 以什么为结尾

select * from test01 where name like '%顾%';   包含内容 

alter 修改表名和修改表结构
修改表名

alter table test01 rename test02; 修改表名改为test02

给表添加一个列

alter table test01 add address varchar(50) default '地址不详';

修改字段的数据类型

alter table test01 modify column address char(10);

删除列

alter table test01 drop address;

修改列的名称

alter table test01 change name username char(10);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1927712.html

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

相关文章

内存函数(C语言)

内存函数 以下函数的头文件:string.h 针对内存块进行处理的函数 memcpy 函数原型: void* memcpy(void* destination, const void* source, size_t num);目标空间地址 源空间地址num,被拷贝的字节个数 返回目标空间的起始地…

STM32智能医疗监测系统教程

目录 引言环境准备智能医疗监测系统基础代码实现:实现智能医疗监测系统 4.1 数据采集模块 4.2 数据处理与控制模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景:医疗监测与管理问题解决方案与优化收尾与总结 1. 引言 智能医疗监测系统通…

RocketMQ源码学习笔记:Producer发送消息流程

这是本人学习的总结,主要学习资料如下 马士兵教育rocketMq官方文档 目录 1、Overview2、验证消息3、查找路由4、选择消息发送队列4.1、选择队列的策略4.2、源码阅读4.2.1、轮询规避4.2.2、故障延迟规避4.2.2.1、计算规避时间4.2.2.2、选择队列 4.2.3、ThreadLocal的…

正运动控制器:EtherCAT总线初始化

1、EtherCAT总线初始化的目的 运动控制器的EtherCAT 总线接口可用于连接 EtherCAT 伺服驱动器和 EtherCAT 扩展模块,无论连接什么模块, EtherCAT 总线都需要编写一段 EtherCAT 总线初始化程序来进行电机和 EtherCAT 扩展模块的使能。使能之后的应用与脉…

QT多线程下,信号槽分别在什么线程中执行,如何控制?

可以通过connect的第五个参数进行控制信号槽执行时所在的线程 connect有几种连接方式,直接连接、队列连接和 自动连接 直接连接(Qt::DirectConnection):信号槽在信号发出者所在的线程中执行 队列连接(Qt::QueuedConn…

LeetCode-返回链表倒数第K个节点、链表的回文结构,相交链表

一、返回链表倒数第k个节点 . - 力扣(LeetCode) 本体思路参展寻找中间节点的方法,寻找中间节点是定义快慢指针,快指针每次走两步,慢指针每次走一步,当快指针为空或者快指针的下一个节点是空时,…

vue实现提交时对不同板块的表单内容进行校验

需求 1、需要对第一个红色框框板块内所有带星号的地方进行校验,并将提示语显示到对应的输入框下面,如图: 2、第二个红色框框板块中,点击 “添加相关人员” 能实现对多人的添加功能,并且能绑定相对应的校验规则 3、在…

linux进行redis的安装并使用RDB进行数据迁移

现在有两台电脑,分别是A,B,现在我要把A电脑上的redis的数据迁移到B电脑上,B电脑上是没有安装redis的 1.找到A电脑的redis的版本 1.先启动A电脑的redis,一般来说,都是直接在linux的控制台输入:re…

数据结构与算法(1):递归函数的设计技巧

1.前言 哈喽小伙伴们大家好哦~从今天开始笔者就要开始正式学习数据结构与算法了,在这里写知识博客既是做一些学习笔记,又相当于给大家做知识分享咯,希望大家一起加油哦! 2.正文 2.1递归的引入 在正式讲解递归之前,…

创建鸿蒙手机模拟器(HarmonyOS Emulator)

文 | Promise Sun 一.前提条件: 鸿蒙项目开发需要使用模拟器进行开发测试,但目前想在DevEco Studio开发工具中使用模拟器就必须到华为官网进行报名申请,参加“鸿蒙模拟器(HarmonyOS Emulator)Beta活动申请”。 申请审…

中间件的理解

内容来源于学习网站整理。【一看就会】什么是前端开发的中间件?_哔哩哔哩_bilibili 每日八股文~白话说mq,消息中间件_哔哩哔哩_bilibili 例如: 1)两个人打电话,中间的通信网络就是中间件。 2)菜鸟驿站&…

SpringBoot以及swagger的基本使用

1、SpringBoot是什么? 一种快速开发、启动Spring的框架、脚手架 遵循“约定优于配置”的思想,使得能够快速创建和配置Spring应用 2、SpringBoot的核心特性 自动配置,一些依赖、默认配置都预设好了,减少了配置量起步依赖&#x…

ROS2-Navigation2初体验:Gazebo“打不开”

输入ros2 launch nav2_bringup tb3_simulation_launch.py headless:False后只能打开RVIZ而无法打开Gazebo的问题,多次尝试解决后发现只是多等待一会儿即可,在此给同样学习Navigation2的朋友们提个醒 。 Getting Started — Nav2 1.0.0 documentation 1…

Mindspore框架CycleGAN模型实现图像风格迁移|(二)实例数据集(苹果2橘子)

Mindspore框架:CycleGAN模型实现图像风格迁移算法 Mindspore框架CycleGAN模型实现图像风格迁移|(一)CycleGAN神经网络模型构建Mindspore框架CycleGAN模型实现图像风格迁移|(二)实例数据集(苹果2橘子&#…

补充性文件

第一 二章 1,关系型数据库是什么?其中的关系是指什么? 答: 关系型数据库是一些相关的表和其他数据库对象的集合。数据模型符合满足一定条件的二维表格式。 2,E-R模型? 实体为表。用矩形表示。属性为字…

嵌入式物联网在工业中的应用——案例分析

作者主页: 知孤云出岫 目录 嵌入式物联网在工业中的应用——案例分析引言1. 智能工厂1.1 实时监控与数据采集 2. 智能物流2.1 库存管理 3. 智能维护3.1 设备故障预测 4. 智能交通4.1 交通流量监测 总结 嵌入式物联网在工业中的应用——案例分析 引言 嵌入式物联网(…

回车不搜索直接页面刷新问题解决

使用技术栈:vue3、elementUiPlus 问题:回车触发方法,会刷新整个页面,不执行搜索 解决方法:在搜索的表单中增加submit.native.prevent submit.native.prevent

项目管理:不懂跟进,项目白做

在职场上,工作的本质其实就是信息的传递与处理。而信息的及时传递,也就是我们常说的及时跟进,往往被许多项目经理和职场人忽视。 他们或许在暗地里埋头苦干,却忽略了明面上的沟通与汇报,最终导致合作方和内部团队都对…

利用AI辅助制作ppt封面

如何利用AI辅助制作一个炫酷的PPT封面 标题使用镂空字背景替换为动态视频 标题使用镂空字 1.首先,新建一个空白的ppt页面,插入一张你认为符合主题的图片,占满整个可视页面。 2.其次,插入一个矩形,右键选择设置形状格式…

【SpringBoot】SpringCache轻松启用Redis缓存

目录: 1.前言 2.常用注解 3.启用缓存 1.前言 Spring Cache是Spring提供的一种缓存抽象机制,旨在通过简化缓存操作来提高系统性能和响应速度。Spring Cache可以将方法的返回值缓存起来,当下次调用方法时如果从缓存中查询到了数据&#xf…