MySQL下对[库]的操作

目录

创建数据库

创建一个数据库案例:

字符集和校验规则: 

默认字符集: 

默认校验规则: 

查看数据库支持的字符集:

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

校验规则对数据库的影响:

操作数据库 

查看数据库: 

显示创建语句:

修改数据库: 

删除数据库: 

备份和恢复

备份: 

恢复:

查看连接情况


创建数据库

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]create_specification:[DEFAULT] CHARACTER SET charset_name[DEFAULT] COLLATE collation_name

说明:

  • 大写的表示关键字
  • []表示可选
  • CHARACTER SET:指定数据库采用的字符集
  • COLLATE:指定数据库字符集的校验规则    

一般就设置好character就好了,不适用SET来设置也可以用“=”,例如:character=utf-8

创建一个数据库案例:

  • 创建一个名为db1的数据库 
create database db1;

这里默认没有指定字符集和校验规则时,系统默认使用配置文件中的默认字符集: 

 

  • 创建一个使用utf8字符集的db2 数据库 
create database db2 charset=utf8;
  •   创建一个使用utf字符集,并带校对规则的 db3 数据库
create database db3 charset=utf8 collate utf8_general_ci;

字符集和校验规则: 

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

show variables like 'character_set_database';
show variables like 'collation_database';

默认字符集: 

默认校验规则: 

查看数据库支持的字符集:

show charset;

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

show collation;

校验规则对数据库的影响:

  • 不区分大小写 

创建一个数据库,校验规则使用utf8_general_ci(不区分大小写)

create database t1 charset=utf8 collate=utf8_general_ci;use t1;create table person(name varchar(20));insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');
  • 区分大小写 
create database t2 charset=utf8 collate=utf8_bin;use t2;create table person(name varchar(20));insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');
  • 进行查询

对于table t1来说它的查询结果是:

mysql> use t1;
mysql> select * from person where name='a';
+------+
| name |
+------+
| a  |
| A  |
+------+
2 rows in set (0.01 sec)

对于table t2来说它的查询结果是:

mysql> use t2;
mysql> select * from person where name='a';
+------+
| name |
+------+
| a  |
+------+
2 rows in set (0.01 sec)

操作数据库 

查看数据库: 

show databases;

显示创建语句:

show create database 数据库名;

 说明:

  • MySQL我们关键字用大写,但不是必须的
  • 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
  • /*40100 default */ 这个不是注释

修改数据库: 

 语法:

ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

说明:

  • 对数据库的修改主要指的是修改数据库的字符集,校验规则         
mysql> alter database mytest charset=gbk;
Query OK, 1 row affected (0.00 sec)mysql> show create database mytest;
+----------+----------------------------------------------------------------+
| Database | Create Database                        |
+----------+----------------------------------------------------------------+
| mytest  | CREATE DATABASE `mytest` /*!40100 DEFAULT CHARACTER SET gbk */ |
+----------+----------------------------------------------------------------+

删除数据库: 

DROP DATABASE [IF EXISTS] db_ name;

执行删除过后的结果:

  • 数据库内部看不到对应的数据库
  • 对应的数据库文件夹被删除,联级删除,里面的数据标注全部被删除 


备份和恢复

备份: 

# mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径

示例:

# mysqldump -P3306 -u root -p123456 -B mytest > D:/mytest.sql

 这时候可以打开mytest.sql文件里的内容,把我们创建数据库,建表,导入数据的语句全部都装载在这个文件中

恢复:

mysql> source D:/mysql-5.7.22/mytest.sql;
  •  如果备份的不是整个数据库,而是其中的一张表,怎么做?
# mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql
  • 同时备份多个数据库 
# mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

 如果在备份一个数据库时,没有带上-B参数,那么在恢复数据库时,需要先创建一个空数据库,然后使用数据库,再用source来还原

查看连接情况

show processlist;

可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HCIA——10实验:跨路由转发。静态路由、负载均衡、缺省路由、手工汇总、环回接口。空接口与路由黑洞、浮动静态。

学习目标: 跨路由转发、负载均衡、环回接口、手工汇总、缺省路由、空接口与路由黑洞、浮动静态 学习内容: 跨路由转发静态路由、负载均衡、缺省路由、手工汇总。环回接口空接口与路由黑洞、浮动静态 目录 学习目标: 学习内容&#xff1a…

基于Springboot的摄影分享网站系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的摄影分享网站系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…

linux基础学习(2):磁盘管理、分区、格式化

1.一些基本概念 一块磁盘从加入到可使用,需要经过3个阶段:分区-格式化-挂载。 1.1分区方式 linux有2种分区方式: (1)mbr:最大支持2.1T硬盘,最多支持4个分区。这4个分区可以全部为主分区&…

【java八股文】之计算机网络系列篇

1、TCP/IP和UDP模型 TCP/IP分层(4层):应用层,传输层,网络层,数据链路层 网络的七层架构 (7层):应用层,表示层,会话层,传输层&#xff…

C++核心编程——文件操作

本专栏记录C学习过程包括C基础以及数据结构和算法,其中第一部分计划时间一个月,主要跟着黑马视频教程,学习路线如下,不定时更新,欢迎关注。 当前章节处于: ---------第1阶段-C基础入门 ---------第2阶段实战…

2个堆叠的条形图+4个折线图,echarts配置

1、代码 <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>第一个 ECharts 实例</title><!-- 引入 echarts.js --><script src"https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js">&l…

C语言天花板——指针(经典题目)

指针我们已经学习的差不多了&#xff0c;今天我来给大家分享几个经典的题目&#xff0c;来让我们相互学习&#x1f3ce;️&#x1f3ce;️&#x1f3ce;️ int main() {int a[4] { 1, 2, 3, 4 };int* ptr1 (int*)(&a 1);int* ptr2 (int*)((int)a 1);printf("%x,%…

linux 内核ARM64启动

基于linux5.15内核翻译理解 Essentially, the boot loader should provide (as a minimum) the following: Setup and initialise the RAMSetup the device treeDecompress the kernel imageCall the kernel image1、安装与初始化物理内存 (必须的) boot loader需要初始化物理…

【Linux实用篇】Linux常用命令(2)

目录 1.3 拷贝移动命令 1.3.1 cp 1.3.2 mv 1.4 打包压缩命令 1.5 文本编辑命令 1.5.1 vi&vim介绍 1.5.2 vim安装 1.5.3 vim使用 1.6 查找命令 1.6.1 find 1.6.2 grep 1.3 拷贝移动命令 1.3.1 cp 作用: 用于复制文件或目录 语法: cp [-r] source dest ​ 说明: …

【Python数据可视化】matplotlib之设置子图:绘制子图、子图共享x轴坐标、调整子图间距、设置图片大小

文章传送门 Python 数据可视化matplotlib之绘制常用图形&#xff1a;折线图、柱状图&#xff08;条形图&#xff09;、饼图和直方图matplotlib之设置坐标&#xff1a;添加坐标轴名字、设置坐标范围、设置主次刻度、坐标轴文字旋转并标出坐标值matplotlib之增加图形内容&#x…

vscode安装和基本设置

目录 vscode安装和基本设置1.HTML标签2.标签属性3.HTML基本结构4.安装vscode5.安装Live Server插件6.HTML注释7.文档说明8.HTML字符编码9.HTML设置语言10.HTML标准结构 vscode安装和基本设置 1.HTML标签 标签 又称 元素&#xff0c;是HTML的基本组成单位。标签分为&#xff1…

HTML---Jquery选择器

文章目录 目录 文章目录 本章目标 一.Jquery选择器概述 二.Jquery选择器分类 基本选择器 层次选择器 属性选择器 三.基本过滤选择器 练习 本章目标 会使用基本选择器获取元素会使用层次选择器获取元素会使用属性选择器获取元素会使用过滤选择器获取元素 …