库的相关操作

目录

一、创建数据库

1,创建数据库规则

2、创建案例

二、字符集和校验规则

1、查看系统默认字符集以及校验规则

2、查看数据库支持的字符集以及校验规则

3、校验规则对数据库的影响

三、操纵数据库

1、查看数据库和目前所在数据库

2、显示创建语句

3、修改数据库

4、删除数据库

5、备份和恢复

6、查看连接情况

一、创建数据库

1,创建数据库规则

语法:

sql 复制代码
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: 指定数据库字符集的校验规则;

2、创建案例

创建名为 db1 的数据库

sql 复制代码
create database db1;

创建一个使用 utf8 字符集的 db2 数据库

sql 复制代码
create database db2 charset=utf8;

创建一个使用 utf 字符集,并带校对规则的 db3 数据库

sql 复制代码
create database db3 charset=utf8 collate utf8_general_ci;

当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则
是:utf8_ general_ ci。

二、字符集和校验规则

数据库的字符集是指数据库中存储的字符所使用的编码方式 ,不同的字符集可以表示不同的字符范围和大小。数据库的检验规则是指数据库中比较和排序字符时所遵循的规则,不同的检验规则会影响到查询结果和性能。

1、查看系统默认字符集以及校验规则

sql 复制代码
show variables like 'character_set_database';
sql 复制代码
show variables like 'collation_database';

2、查看数据库支持的字符集以及校验规则

sql 复制代码
show charset;

\

sql 复制代码
show collation;

3、校验规则对数据库的影响

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

sql 复制代码
create database option1 collate utf8_general_ci;
use option1;
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');


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

sql 复制代码
create database option2 collate utf8_bin;
use option2;
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');

(3)对俩个数据库里面的表进行查找和排序

数据库option1校验规则使用utf8_ general_ ci不区分大小写

sql 复制代码
use option1;
mysql> select * from person where name='a';
select * from person order by name;

数据库option2校验规则使用utf8_ general_ ci区分大小写

sql 复制代码
use option2;
mysql> select * from person where name='a';
select * from person order by name;

三、操纵数据库

1、查看数据库和目前所在数据库

sql 复制代码
show databases;
select database();

2、显示创建语句

sql 复制代码
show create database option1;

3、修改数据库

对数据库的修改主要指的是修改数据库的字符集,校验规则

sql 复制代码
ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
sql 复制代码
alter database option1 charset=gbk;

上面的代码将 option1数据库字符集改成 gbk。

4、删除数据库

sql 复制代码
drop database option2;

执行删除之后的结果:
(1)数据库内部看不到对应的数据库
(2)对应的数据库文件夹被删除,级联删除,里面的数据表全部被删
注意:不要随意删除数据库

5、备份和恢复

(1)备份

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

示例:将option1库备份到文件(退出连接)

sql 复制代码
mysqldump -P3306 -uroot -p -B option1 >test1.sql

可以看到备份后,该路径下有了test.sql文件,接下来用vim打开看一下内容


这时,可以打开看看 test1.sql 文件里的内容,其实把我们整个创建数据库,建表,导入数据的语句都装载这个文件中。

2(恢复数据库)

sql 复制代码
source /var/lib/mysql/test1.sql;

(3)注意事项
如果备份的不是整个数据库,而是其中的一张表

sql 复制代码
 mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql

同时备份多个数据库

sql 复制代码
# mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

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

6、查看连接情况

sql 复制代码
show processlist;


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

相关推荐
liangsheng_g5 分钟前
Spring事务传播行为分派与挂起恢复源码实战
数据库·sql·spring
蓝速科技19 分钟前
信创终端 POC 测试实战与选型避坑指南丨蓝速科技
运维·数据库·人工智能·科技·自然语言处理
风哥2号34 分钟前
数据库教程FGMT29‑Linux平台MySQL5.7安装配置与管理入门
数据库
杨云龙UP1 小时前
MySQL Host is blocked because of many connection errors 导致 JDBC 连接失败排查与解决
linux·运维·网络·数据库·sql·mysql·登录失败
这个DBA有点耶3 小时前
数据库数据同步解决方案怎么选?6款主流工具横向对比与信创选型指南
数据库·架构·dba
刃神太酷啦3 小时前
Redis 核心进阶:哨兵、集群、缓存问题与分布式锁详解----《Hello Redis!》(6)
linux·c语言·数据库·c++·redis·分布式·缓存
小雷信息医学3 小时前
不会写复杂代码也能发 SCI?手把手教你用 InSpireR 交互系统一键提取、合并与导出临床科研宽表【第三章】
数据库
程序员梅雨3 小时前
MySQL底层探索(一):什么是脏页?什么是冷热分离?
mysql·面试
旺仔不是程序员3 小时前
复合索引最左前缀原则:PostgreSQL 的 WHERE 为什么必须命中第一列
数据库·后端·sql
旺仔不是程序员3 小时前
字段类型不一致:PostgreSQL 报错与索引失效的第一元凶
数据库·后端·sql