MySQL库操作

目录

建库语句

字符集

操纵数据库

备份与恢复

查看连接情况


建库语句

sql 复制代码
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

我们可以对比着目录去理解一下建库语句

我们就会在数据库的存储目录建立这个**目录。**注意这个库本质就是个目录。

字符集

数据库编码集------存储数据时使用的字符集

数据库校验集------用来进行字段比较的字符集,读取数据时用的字符集。

一般这两个字符集是两个一一对应的东西。

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

sql 复制代码
show variables like 'character_set_database';  //默认编码集
show variables like 'collation_database';      //默认校验集

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

sql 复制代码
show charset;

这是我之前配置文件的编码集和字符集

我们默认的编码集和校验集,我们是可以在配置文件设置的。如果我们没有设置,就会继承我们root用户下的编码集和校验集。

这里举例一个校验集的栗子

上面是不区分大小写,下边是区分大小写。

sql 复制代码
create database test1 collate utf8_general_ci; //collate指定校验集
sql 复制代码
create database test1 collate utf8_bin; //collate指定校验集

utf8_general_ci结果(不区分大小写)

建个表

我们建立一个person表再传入一些元素

我们再来查一下a

我们是可以查到两个元素的。

utf8_bin结果(区分大小写)

省略上面步骤,直接出结果

只会出现a。

操纵数据库

查看数据库

sql 复制代码
show databases;

显示创建语句

sql 复制代码
show create database 数据库名;

可以查看建表时用的字符集

数据库删除

sql 复制代码
DROP DATABASE [IF EXISTS] db_ name;

修改数据库

sql 复制代码
ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

比如我们要修改一个数据库的字符集

sql 复制代码
alter database test1 charset=gbk;

数据库备份

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

注意这个是在bash中执行的命令

这种打包文件要指定文件名字后缀为.sql

备份与恢复

恢复的时候我们是在sql客户端里面进行恢复的。

例如:

sql 复制代码
mysql> source D:/mysql-5.7.22/mytest.sql;

所谓恢复其实就是将之前的数据库的操作重新全部执行一遍。

如果备份的不是整个数据库,而是其中的一张表,怎么做?

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

同时备份多个数据库

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

注意:

查看连接情况

sql 复制代码
show processlist

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

相关推荐
watermelonoops1 小时前
Deepin和Windows传文件(Xftp,WinSCP)
linux·ssh·deepin·winscp·xftp
云和数据.ChenGuang1 小时前
Django 应用安装脚本 – 如何将应用添加到 INSTALLED_APPS 设置中 原创
数据库·django·sqlite
woshilys2 小时前
sql server 查询对象的修改时间
运维·数据库·sqlserver
Hacker_LaoYi2 小时前
SQL注入的那些面试题总结
数据库·sql
疯狂飙车的蜗牛2 小时前
从零玩转CanMV-K230(4)-小核Linux驱动开发参考
linux·运维·驱动开发
建投数据3 小时前
建投数据与腾讯云数据库TDSQL完成产品兼容性互认证
数据库·腾讯云
Hacker_LaoYi4 小时前
【渗透技术总结】SQL手工注入总结
数据库·sql
岁月变迁呀4 小时前
Redis梳理
数据库·redis·缓存
独行soc4 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
你的微笑,乱了夏天4 小时前
linux centos 7 安装 mongodb7
数据库·mongodb