网络安全 Day23-mariadb数据库数据管理和备份
mariadb数据库数据管理和备份
- 1. 管理数据库中的库
- 2. 管理库中的表
- 3. 管理表中的字段(列)
- 4. 管理表中的数据(行)
- 5. 数据库数据备份与恢复
1. 管理数据库中的库
- 进入指定数据库:
use 数据库名字 - 库的增删改查
- 创建数据库:
create database 数据库名字 - 指定字符及创建数据库:
CREATE DATABASE oldgirl CHARACTER SET utf8; - 删除数据库:
drop database 库名 - 更改数据库的字符集:
alter database oldgirl character set utf8mb4; - 查看mysql的库:
show databases
- 创建数据库:
2. 管理库中的表
- 表的增删改查
- 创建表格语法
create table <表名> (<字段名1> <类型1> ,…<字段名n> <类型n>);- 字段名说明: 内容可以是数字 字母 下划线 开头不能用数字
- 字段类型(也可以说是选项 约束)说明
- 数据类型(Type)
- 整型:数字-整数
- 微小整型 (tinyint) :1byte=8bit=2^8=256
- 大整型 (int) : 4byte=2^32=(40亿+)
- 超大整型 (bigint) : 8byte=2^64(40亿*40亿=1600亿亿)
- 字符:所有符号都是字符,含整数
- 变长字符类型(varchar ): 创建指定空间大小的字符串但是不为它分配初始空间, 只为它分配上限
- 定长字符类型(char): 创建指定空间大小, 并为它分配初始空间
- 整型:数字-整数
- 是否为空(Null): YES or NO
- 此外还有很多约束这里就不一一列举了
- 数据类型(Type)
- 删除表:
drop table 表名 - 改表的名字:
rename table 原名字 to 新名字 - 查看库中的表:
show tables - 查看建表语法:
show create table stu1\G - 查看表结构:
desc 表名CREATE TABLE `stu1` ( #<== CREATE TABLE是创建表的固定关键字,stu1为表名。`id` int(4) NOT NULL, #<==学号列,数字类型,长度为4,不为空值。`name` char(20) NOT NULL, #<==名字列,定长字符类型,长度20,不为空值。`age` tinyint(2) NOT NULL DEFAULT '0', #<==年龄列,很小的数字类型,长度为2,不为空,默认为0值。`dept` varchar(16) DEFAULT NULL #<==系别列,变长字符类型,长度16,默认为空。 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 #<==引擎和字符集,引擎默认为InnoDB,字符集,继承库utf8。
- 创建表格语法
- 创建表例子
- 创建并进入库:
create database oldboy;use oldboy; - 建表
create table stu1( id int(10) not null, name varchar(20) not null, age tinyint(2) NOT NULL default '0', dept varchar(16) default NULL ); - 查看表:
show tables; - 查看表结构:
desc stu1; - 查看建表的语句:
show create table stu1\G - 修改表名:
rename table - 删除表:
drop table <表名>
- 创建并进入库:
3. 管理表中的字段(列)
- 增加字段
- 最后一行增加:
alter table stu1 add 字段名 varchar(类型大小) not null(是否为空) comment 'address'(注释); - 指定位置增加:
alter table stu1 add 字段名 varchar(类型大小) after 某个字段的名字; - 在首行添加:
alter table stu1 add number varchar(11) first; - 前后对比
+-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | id | int(10) | NO | | NULL | | | name | varchar(20) | NO | | NULL | | | age | tinyint(2) | NO | | 0 | | | dept | varchar(16) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 4 rows in set (0.01 sec)+--------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+--------------+------+-----+---------+-------+ | number | varchar(11) | YES | | NULL | | | id | int(10) | NO | | NULL | | | name | varchar(20) | NO | | NULL | | | qq | varchar(25) | YES | | NULL | | | age | tinyint(2) | NO | | 0 | | | dept | varchar(16) | YES | | NULL | | | addr | varchar(256) | NO | | NULL | | +--------+--------------+------+-----+---------+-------+ 7 rows in set (0.00 sec)
- 最后一行增加:
- 删除字段:
alter table 表名 drop 字段名字; - 改字段:
alter table 表名 change name sname varchar(128); - 查看表中的内容:
select * for 表名
4. 管理表中的数据(行)
- 重新建一个表
create table stu1( id int(10) PRIMARY KEY not null AUTO_INCREMENT, name varchar(20) not null, age tinyint(2) NOT NULL default '0', dept varchar(16) default NULL); - 往表里加入数据
- 语法:
insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )](方括号表示可选项) - 查看表结构
MariaDB [oldboy]> desc stu1; +-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+----------------+ | id | int(10) | NO | PRI | NULL | auto_increment | | name | varchar(20) | NO | | NULL | | | age | tinyint(2) | NO | | 0 | | | dept | varchar(16) | YES | | NULL | | +-------+-------------+------+-----+---------+----------------+ - 插入数据
- 方法一(指定列):
insert into stu1(id,name,age,dept) values(1,'oldboy',35,'net sec');(说明:字符列要加引号引起来,数字列不加引号) - 方法二(省略列):
insert into stu1 values(2,'oldgirl',25,'linux'); - 方法三:(同时插入多行):
insert into stu1 values(3,'littlegirl',5,'net sec'),(4,'littleboy',2,'Linux');
- 方法一(指定列):
- 语法:
- 删除表中的数据
- 命令:
delete from 表名 where 表达式 - 例子:
delete from stu1 where id=6;
- 命令:
- 修改表中的数据
- 语法:
update 表名 set 字段=新值 where 条件 - 例子:
update stu1 set name='zhangsan' where id=6;
- 语法:
- 查询表中的数据
- 基础语法:
select <字段1,字段2,...> from <表名> [WHERE 条件] - 例子:
SELECT * FROM city WHERE countrycode='CHN';
- 基础语法:
5. 数据库数据备份与恢复
- 备份原理: 以SQL语句的形式将数据导出
- 备份语法:
mysqldump -uroot -poldboy123 -B oldboy >/opt/oldboy.sql - 备份所有库
mysqldump -uroot --poldboy123 -A -B >路径- -A 所有
- -B库(没有B就是备份表)
- 备份多个库
5.mysqldump -uroot --poldboy123 -B 库名 >路径 - 压缩备份
mysqldump -uroot --poldboy123 -B 库名 |gzip>路径
- 检查备份的数据:
grep -Ev "^$|^-|^/" /opt/oldboy.sql - 还原恢复:
source /opt/oldboy.sql;或者mysql -uroot -poldboy123 </opt/oldboy.sql - 不登录查看内容(非交互式查看数据):
mysql -uroot -poldboy123 -e "select * from oldboy.stu1;"
相关文章:
网络安全 Day23-mariadb数据库数据管理和备份
mariadb数据库数据管理和备份 1. 管理数据库中的库2. 管理库中的表3. 管理表中的字段(列)4. 管理表中的数据(行)5. 数据库数据备份与恢复 1. 管理数据库中的库 进入指定数据库: use 数据库名字库的增删改查 创建数据库: create database 数据库名字指定字符及创建数据库: CREA…...
Centos7 上安装 redis-dump 和redis-load 命令
一、安装rvm 1、安装GPG keys gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDBcurl -sSL http://rvm.io/mpapis.asc | gpg2 --import - curl -sSL http://rvm.io/pkuczynski.asc | g…...
【NLP PyTorch】字符级RNN循环网络模型姓氏对应国家分类(项目详解)
字符级RNN模型姓氏对应国家分类 1 序言1 数据来源与加载1.1 数据来源1.2 数据加载2 数据预处理2.1 单个字符数据处理标准2.2 单词的张量构造3 模型创建4 模型训练5 模型检验6 模型预测7 模型部署1 序言 本文的任务主要来源于PyTorch的官方教程,即给定各国人名的数据集,你需要…...
C++设计模式之责任链设计模式
C责任链设计模式 什么是责任链设计模式 责任链设计模式是一种行为型设计模式,它允许多个处理请求的对象串联起来,形成一个处理请求的链。每个对象都有机会处理请求,如果该对象不能处理请求,则将请求传递给链中的下一个对象。 该…...
《Java-SE-第二十三章》之单例模式
文章目录 单例模式概述饿汉模式懒汉模式单线程版懒汉单例多线程版枚举实现单例 单例模式概述 单例模式是设计模式中的一种,其作用能保证某个类在程序中只存在唯一一份实例,而不会创建多份实例。单例模式具体的实现方式, 分成 “饿汉” 和 “懒汉” 两种.。饿汉模式中的饿不并不…...
如何快速同步第三方平台数据?
全量的数据主要是针对多个系统的历史数据,大概有几千万数据,只需要初始化一次即可。 而增量的数据,是系统后续变更的数据。 这个需求其实不简单,至少有以下难点: 不能直接访问第三方数据库。 不能将历史数据导出到excel中,有泄露数据的风险。 如何快速同步历史数据? 增…...
反射(一)
动态 VS 静态语言 动态语言:运行时,可以改变其结构。 Object-C、C#、JS、PHP、Python JS 就是动态语言。 function f() {var x "var a3; var b5; alert(ab)";eval(x); }静态语言:运行时,结构不可变。 Java、C、C J…...
29.利用fminbnd 求解 最大容积问题(matlab程序)
1.简述 用于求某个给定函数的最小值点。 使用方法是: xfminbnd(func,x1,x2) func是函数句柄,然后x1和x2就是函数的区间,得到的结果就是使func取最小值的x值 当然也可以使用[x,fv]fminbnd(func,x1,x2)的方式,这个时候fv就是函数…...
express学习笔记7 - docker跟mysql篇
安装Docker和Navicat Docker 进官⽹https://docs.docker.com/get-docker/ 选择机型安装即可。 Navicat(也可以在网上找个破解版本) 进官⽹https://www.navicat.com/en/products/navicat-premium 安装完之后连接新建⼀个数据库连接 然后再⾥⾯新建⼀个数…...
Leetcode(一):数组、链表部分经典题目详解(JavaScript版)
数组、链表部分算法题 一、数组1. 二分查找2. 移除数组元素3. 有序数组的平方4. 长度最小的子数组5. 螺旋矩阵 二、链表1. 删除链表元素2. 设计链表3.反转链表4.两两交换链表中的节点5.删除链表倒数第n个节点6.环形链表 提前声明:本博客内容均为笔者为了方便个人理解…...
内网穿透的底层原理是什么
目录 内网穿透的功能 内网穿透的底层原理 内网穿透的功能 前段时间研究了一下内网穿透,果真是一个神奇的技术,就拿企业级内网穿透-神卓互联来说,在需要在本地安装一个神卓互联客户端,简单设置一下服务应用的端口号,就…...
Bash配置文件
当Bash以登录Shell启动的时候,会首先读取并执行文件“/etc/profile”中的命令。 接着,Bash会依次查找文件“~/.bash_profile”,“~/.bash_login”,“~/.profile”,读取并执行找到的第一个文件中的命令。也就是说&…...
写Acknowledgement的时候,latex日志出现警告
用latex写论文的时候,\section{Conclusion}下面添加 \backmatter \bmhead{Acknowledgments}时报错:错误log: \bmhead Package hyperref Warning: Difference (4) between bookmark levels is greater than one, level....错误原因ÿ…...
GCC生成map文件
要生成GCC的map文件,可以使用以下指令: gcc <source_files> -Wl,-Map<output_file>.map 其中, <source_files>是要编译的源文件列表,<output_file>是生成的map文件的名称-Wl选项告诉GCC将后面的参数传…...
IOS看书最终选择|源阅读转换|开源阅读|IOS自签
环境:IOS想使用 换源阅读 问题:换新手机,源阅读下架后,没有好的APP阅读小说 解决办法:自签APP 转换源仓库书源 最终预览 :https://rc.real9.cn/ 背景:自从我换了新iPhone手机,就无法…...
easyui实用点
easyui实用点 1.下拉框(input框只能选不能手动输入编辑) data-options"editable:false"//不可编辑2.日期框,下拉框,文本框等class class"easyui-datebox"//不带时分秒 class"easyui-datetimebox"…...
算法训练营第五十六天||● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇
● 583. 两个字符串的删除操作 这道题涉及到两个字符串删除操作,注意递推公式,理解不到位,需要再次做 确定dp数组(dp table)以及下标的含义 dp[i][j]:以i-1为结尾的字符串word1,和以j-1位结尾…...
C语言每日一题:10.不使用+-*/实现加法+找到所有数组中消失的数。
题目一: 题目链接: 思路一: 1.两个数二进制之间进行异或如果不产生进位操作那么两个数的和就是就是两个数进行异或的结果。 举例:5(0101)2(0010)进行异或等于:7…...
LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
1、问题: https://github.com/CocoaPods/Specs.git/:LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443的解决办法 出现这个问题的原因基本都是代理的问题: 只需要加上代理就可以了: #http代理 git conf…...
JS数组的详解与使用
什么是数组? 数组是一种有序的集合,有长度和索引,以及身上有许多的API方法 面试题:数组和伪数组的区别:数组和伪数组都有长度和索引,区别是数组身上有许多的API方法 而伪数组身上不存在这些API方法创建数组…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
VSCode 没有添加Windows右键菜单
关键字:VSCode;Windows右键菜单;注册表。 文章目录 前言一、工程环境二、配置流程1.右键文件打开2.右键文件夹打开3.右键空白处打开文件夹 三、测试总结 前言 安装 VSCode 时没有注意,实际使用的时候发现 VSCode 在 Windows 菜单栏…...
深入理解 C++ 左值右值、std::move 与函数重载中的参数传递
在 C 编程中,左值和右值的概念以及std::move的使用,常常让开发者感到困惑。特别是在函数重载场景下,如何合理利用这些特性来优化代码性能、确保语义正确,更是一个值得深入探讨的话题。 在开始之前,先提出几个问题&…...
