数据库---库的操作

1.创建数据库

语法:

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: 指定数据库字符集的校验规则
举例:
1.创建名为db1的数据库,如果我们创建数据库时,没有指定字符集和校验规则,系统则使用默认字符集:utf8,校验过则是:utf8_general_ci

create database db1;

我们可以通过以下语句来查看系统默认的字符集和校验规则:

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

在这里插入图片描述
2.创建一个使用utf8字符集的db2数据库,并带校验规则的 db2数据库,其中指定字符集时,可以简写成charset就可以。

create database db2 character set=utf8 collate utf8_general_ci;
create database db3 charset=utf8 collate utf8_general_ci;

在这里插入图片描述
3.查看系统支持的字符集(字符集主要是控制用什么语言。比如utf8就可以使用中文)

show charset;

在这里插入图片描述
4.查看数据库支持的字符集校验规则

show collation;

在这里插入图片描述
5.校验规则对数据库的影响

  • 不区分大小写
    创建一个数据库,校验规则使用utf8-gengral_ci(不区分大小写)
create database test1 collate uft8_general_ci;//创建

use test1;//使用

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');
  • 区分大小写
    创建一个数据库,校验规则使用utf8_bin(区分大小写)
create database test2 collate utf8_bin;

use test2

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');
  • 进行查询
    1.第一个表查询结果,不区分大小写
    在这里插入图片描述
    2.第二个表查询结果,区分大小写
    在这里插入图片描述
    可以看出,collate校验规则不一样,所导致的查询结果也会不一样。

2.查看数据库

show databases;

在这里插入图片描述

3.显示创建语句

这个就是用来查询你当时创建数据库时所用的创建语句,当然,你没创建数据库,要查询的话是查不到的。

show create database mytest1;

在这里插入图片描述说明:

  • MySQL 建议我们关键字使用大写,但是不是必须的。
  • 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
  • /*!40100 default… */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话

4.修改数据库

对数据修改一般主要修改的是字符集和校验规则

语法:

ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]

alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

举例:
将test1数据库的字符集修改成gdk

alter database test1 charset=gdk;

show create database test1;

在这里插入图片描述

5.数据库删除

执行删除后,数据库内部看不到对应的数据库,并且对应的数据库文件被删除,级联删除,里面的数据表全部删除,所以不要随意删除数据库。

DROP DATABASE [IF EXISTS] db_ name;

6.备份和还原

1.我们可以把我们的数据库保存到本地文件里面,这样当删除后还可以恢复。

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

例如:将我的test1数据库保存到本地文件,此时本地就有了一份test1.sql文件,我们可以用vim查看此文件,里面其实就是一些sql语句。

# mysqldump -p3306 -u root -p  -B test1 > ./test1.sql

在这里插入图片描述
当然备份还可以只备份数据库一张表.

# mysqldump -u root -p 数据库名 表名1 表名2 > ./test1.sql

也可以备份多个数据库

# mysqldump -u root -p -B 数据库名1 数据库名2 ... > ./test1.sql

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

7.还原

source ./test1.sql

在这里插入图片描述
还原后,
在这里插入图片描述
查看是否存在
在这里插入图片描述

8.查看连接情况

可以看见当前有哪些用户连接到我们的Mysql,来查是否某个用户入侵了你的数据库。

show processlist;

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值