Mysql库操作

news2024/11/27 10:37:04

一:库的操作

1:创建数据库

mysql> create database test1;
Query OK, 1 row affected (0.00 sec)

mysql> create database test2 charset=utf8;
       create database test2 character utf8;

Query OK, 1 row affected (0.00 sec)

mysql> create database test3 charset=utf8 collate=utf8_general_ci;
       create database test3 character utf8 collate=utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

上面的字符集2种方式都可以

一共创建了3个数据库:

  • test1创建时没有指定字符集和校验集,会采用数据库默认字符集和校验规则。
  • test2创建时指定了字符集为utf8。
  • test3创建时指定了字符集和校验规则。

 2:字符集和校验规则

2.1:概念

字符集:数据库存储数据的编码集。

校验规则:数据库进行字段比较所用的编码集,也就是读取数据库时采用的编码集。

2.2:查看系统默认的字符集和校验规则

 2.3:查看数据库支持的字符集和校验规则

show charset;
show collation

2.4:查看当前数据库采用的字符集和校验规则

cd /var/lib/mysql/数据库名

cat db.opt

我们再创建一个数据库,使用的校验规则采用区分大小写。

test3:

test4:

因此我们可以得出结论,创建数据库的字符集和校验集采用就近原则,如果不指定,就采用数据库默认的字符集和校验集。

 2.5:字符集和校验集对数据库的影响

可以看到test3采用的不区分大小写,查询出来的a大小写都有。

而对test4进行查询只能查到小写的。

因此字符集是存储时采用的一种编码格式,校验集是在读取数据库时进行字段比较时采用的一种编码规则。

3:查看数据库

mysql> show databases;//查看有什么数据库
+---------------------+
| Database            |
+---------------------+
| information_schema  |
| README_TO_RECOVER_A |
| jfhelloworld        |
| mysql               |
| performance_schema  |
| sys                 |
| test1               |
| test2               |
| test3               |
| test4               |
+---------------------+
10 rows in set (0.00 sec)

mysql> show create database test1;//查看创建数据库时的语句
+----------+----------------------------------------------------------------+
| Database | Create Database                                                |
+----------+----------------------------------------------------------------+
| test1    | CREATE DATABASE `test1` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+----------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> select database();//查看当前正在使用哪个数据库
+------------+
| database() |
+------------+
| test4      |
+------------+
MySQL 建议我们关键字使用大写,但是不是必须的。
数据库名字的反引号 ``, 是为了防止使用的数据库名刚好是关键字

/*!40100 default.... */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话  

 4:修改数据库

mysql> alter database test3 collate utf8_bin;#修改校验规则
Query OK, 1 row affected (0.00 sec)

5:删除数据库

#删除数据库————本质是在/var/lib/mysql中删除一个目录
#不建议直接删除数据库,建议备份后删除
mysql> drop database database1;
Query OK, 0 rows affected (0.01 sec)

 6:备份数据库

mysql> mysqldump -P 3306 -u root -p -B test3 > /home/wjw/test3.sql;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysqldump -P 3306 -u root -p -B test3 > /home/wjw/test3.sql' at line 1
注意,备份数据库的时候不能在mysql中使用,因为这是一个操作系统的bash。所以要退出数据库连接再使用。

 我们先进入/var/lib/mysql目录下

使用指令

# mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
[root@hcss-ecs-efdb mysql]# mysqldump -P 3306 -uroot -p -B test3 > /home/wjw/test3.sql
Enter password: 
打开备份的文件
可以看到备份其实是把我们整个创建数据库,建表,导入数据的语句都装载这个文
件中。

7:还原数据库

bash: test3.sql: line 1: syntax error near unexpected token `('
bash: test3.sql: line 1: `-- MySQL dump 10.13  Distrib 5.7.43, for Linux (x86_64)'

 报错是因为还原指令是mysql的语句,不是bash。所以要先连接到数据库才行。

mysql> source /home/wjw/test3.sql;
Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected, 1 warning (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 1 row affected (0.00 sec)

Database changed
Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 5 rows affected (0.01 sec)
Records: 5  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected, 1 warning (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

实际上备份和恢复都是采用query的形式,也就是备份query语句,通过query再重新创建。

8:备份一个或多个表或者多个数据库

#仅备份几张张表
mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql

#同时备份多个数据库
mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

9:查看数据库连接情况

记住是在mysql中查询。

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

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

相关文章

Linux学习笔记之二(环境变量)

Linux learning note 1、环境变量1.1、修好PATH环境变量 1、环境变量 环境变量(environment variables)即系统运行的一些环境参数。主要的环境变量有以下这些: PATH:决定了系统查找可执行文件的目录范围。HOME:指定当前用户的主目录路径。U…

【C++心愿便利店】No.11---C++之string语法指南

文章目录 前言一、 为什么学习string类二、标准库中的string类 前言 👧个人主页:小沈YO. 😚小编介绍:欢迎来到我的乱七八糟小星球🌝 📋专栏:C 心愿便利店 🔑本章内容:str…

4.网络之TCP

TCP协议(传输层) 文章目录 TCP协议(传输层)1. TCP报文格式2. TCP相关机制2.1 确认应答机制2.2 超时重传机制2.3 连接管理机制(重点)2.3.1 三次握手2.3.2 四次挥手 2.4 滑动窗口机制2.5 流量控制机制2.6 拥塞控制机制2.7 延迟应答机制2.8 捎带应答机制 3.…

c++ | 字符串与指针的恩断情仇

我想&#xff0c;c/c中难的不是指针&#xff0c;而是其中的变化&#xff0c;尤其是思维的转变。很多东西 就是容易掉进陷阱。好在&#xff0c;你我都是善于思考的码农&#xff01; 大致情况是这样的&#xff0c;底层<–>c语言<–>c<–>应用 而数据的传输的最…

攻击域控丝滑小连招~

点击星标&#xff0c;即时接收最新推文 如果已经获得本地管理员账号或是域管理员账号&#xff0c;那么下一个目标通常是域控制器&#xff0c;对于渗透测试人员来说&#xff0c;光荣与荣耀的那一刻就是成功从域控制器提取所有的哈希值。但即使是拥有管理员权限&#xff0c;也无法…

windows10编译高版本openssl

参考文章 参考文章中的windows编译为低版本&#xff0c;在高版本的openssl编译中已经没有&#xff1a;“ms\do_ms.bat”这个脚本了&#xff0c;现记录下编译过程 1、准备工作 安装ActivePerl&#xff0c;安装后会自动写入环境变量&#xff0c;参照参考文章测试安装成功与否&a…

封装element-table合计行Hooks方法

背景: 在我们常做的后台管理系统中&#xff0c;经常的会遇到关于表格合计行的计算以及显示&#xff0c;如下图&#xff0c;我们采用的是element框架这一套 封装&#xff1a; 由于考虑到该需求是最常见的&#xff0c;每个中心可能都会涉及到&#xff0c;我们封装公共方法&#…

解决方案中word中分节符的使用

解决方案中必不可少的两个“符号”&#xff0c;分页符&#xff0c;分节符 有了分节符&#xff0c;可以为不同节设置不同的页眉页脚、分栏格式、纸张大小及方向、页边距、不同节间采用不同的页码序号&#xff0c;常用的功能主要是把word下一次的由原来的“竖版”&#xff0c;变…

pygame游戏编程库:初始化和显示(01/8)

一、说明 pygame是一个Python库&#xff0c;用于编写2D游戏和多媒体应用程序。它提供了一整套工具&#xff0c;可以帮助开发者创建图像、声音、动画等内容&#xff0c;并与用户进行交互。pygame还可以用于创建交互式教育软件、演示文稿、音乐应用程序等。它基于SDL库&#xff0…

线程锁、进程锁、分布式锁_Linux网络编程

线程锁 1、互斥锁&#xff1a;互斥锁首先是一个睡眠锁&#xff0c;如下图当线程C没有获取到资源时&#xff0c;线程锁会结束线程B切换到线程C。 2、自旋锁&#xff1a;而自旋锁在未获取到资源时线程C循环等待&#xff0c;尝试获取锁&#xff0c;一直占用核心。 3、读写锁:若一…

css基础之实现轮播图

原理介绍 图片轮播的原理是通过控制显示和隐藏不同的图片来实现图像的切换&#xff0c;从而创建连续播放的效果。用到的知识点有定位和定时器。 实现步骤&#xff1a; HTML 结构&#xff1a; 首先&#xff0c;需要在HTML中创建一个包含轮播图片的容器&#xff0c;通常使用 &l…

采用springboot、avue框架开发的:大型医院绩效考核系统成品源码

医院绩效考核系统全套源码&#xff08;演示自主版权医院应用案例&#xff09; 医院绩效考核系统&#xff0c;建立以医院发展目标为导向&#xff0c;以医务人员劳动价值、工作量为评价基础&#xff0c;统筹效率、质量、成本的绩效管理和绩效工资分配体系。系统支持RBRVS&#xf…

0003Java安卓程序设计-springboot基于Android的学习生活交流APP

文章目录 **摘** **要**目 录系统设计开发环境 编程技术交流、源码分享、模板分享、网课教程 &#x1f427;裙&#xff1a;776871563 摘 要 网络的广泛应用给生活带来了十分的便利。所以把学习生活交流管理与现在网络相结合&#xff0c;利用java技术建设学习生活交流APP&…

python机器学习——实现Kmeans算法

K-means算法 关于K-means算法&#xff0c;它是一种无监督学习算法&#xff0c;用于将数据集分成预定数量的簇&#xff08;clusters&#xff09;。 K-means算法比较适合用来做聚类分析&#xff0c;而不是用来预测&#xff0c;换句话来说&#xff0c;K-means算法不擅长预测 K-…

基于SSM的搬家预约系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

数据结构之堆的实现(图解➕源代码)

一、堆的定义 首先明确堆是一种特殊的完全二叉树&#xff0c;分为大根堆和小根堆&#xff0c;接下来我们就分别介绍一下这两种不同的堆。 1.1 大根堆&#xff08;简称&#xff1a;大堆&#xff09; 在大堆里面&#xff1a;父节点的值 ≥ 孩子节点的值 我们的兄弟节点没有限制&…

“利用Lazada API揭秘电商数据:一键获取海量商品评论列表!“

要使用Lazada API获取Lazada商品评论列表&#xff0c;您需要先注册Lazada开发者账号并获取授权码和密钥。然后&#xff0c;通过调用Lazada API的item_comments接口&#xff0c;传入商品ID和国家域名后缀&#xff0c;即可获取到商品的评论列表。 以下是使用Lazada API获取Lazad…

4+1视图的理解和使用

软件架构 原文&#xff1a; Architectural Blueprints—The “41” View Model of Software Architecture 老外的原文还是很值得一看的&#xff0c;互联网上的很多文章理解得都比较粗浅 什么是软件架构&#xff1f;面试的时候很多面试官可能会问你最近在做的项目的架构。其实这…

uniapp原生插件之安卓TCP原生插件

插件介绍 安卓TCP插件支持自定义心跳数据&#xff0c;自定义心跳时间&#xff0c;断开连接时返回自定义数据等 插件地址 安卓TCP原生插件 - DCloud 插件市场 超级福利 uniapp 插件购买超级福利 详细使用文档 uniapp 安卓TCP原生插件使用文档 用法 在需要使用插件…

Nginx反向代理(入门)

前言 反向代理 --> 服务器 Nginx反向代理是一种服务器架构模式&#xff0c;通过将客户端的请求转发给后端服务器来分担服务器的负载压力&#xff0c;同时提高了系统的可用性和灵活性。它是一种常用的应用程序负载均衡技术&#xff0c;通常被用来处理大量同时连接的Web请求…