Mysql-库操作详解

1.创建库

①查看数据库

sql 复制代码
show databases;

②创建库

sql 复制代码
create database +db_name ;

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

是:utf8_ general_ ci

"校验规则" 校验规则 就是数据库比较字符串时用的那一套规则

不要忘记加;

③删除不想要的库

sql 复制代码
drop database +db_name;

④ 条件创建库

为了安全,防止已经有了还创建;

⑤ 查看当前在哪个库

⑥修改数据库

比如上图就是对test的校验集和编码集进行了修改,当然后续我们还是可以改别的;

⑦ 查看当前使用的库

使用哪个数据库的时候,一定要确定要使用的是哪一个

sql 复制代码
use +db_name;

⑧对数据库如何备份

备份一个数据库:

bash 复制代码
mysqldump -P3306 -uroot -p -B test2 >test2.sql

对数据库进行备份需要在linux中,其中-B选项的意思是指明你要备份的数据库名,>重定向到test2.sql;

但是当前的test2.sq只在我们当前的机器上,如何让它被还原到原来的mysql中呢?

在mysql中输入以下命令即可;

还原之后数据库名称任然和原来的一样;

备份多个数据库

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

⑨数据库的重命名

数据库不支持重命名嘿嘿;

⑩查看数据库使用人数

event_scheduler:简单来说,它是 MySQL 用来执行定时任务的后台线程。你可以把它理解为 MySQL 里的"闹钟管理员"。

2.数据库的编码集和校验集

①什么是编码集和校验集

编码集 :数据库未来存储的数据的

校验集: 支持数据库进行字符比较,使用同样的编码;读取数据库中的数据采用的编码格式;

数据库无论对数据做任何操作,必须保证数据用同一种编码;

② 查看系统默认支持的编码集命令;

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

③ 查看系统默认校验集的命令;

sql 复制代码
show variables like 'collation_database';
sql 复制代码
create database d4 collate=utf8_general_di;

④ 查看数据库支持的全部校验集和字符集的命令

sql 复制代码
show charset;
show collation;

⑤ 指定字符集和校验集创建库

指定字符集

sql 复制代码
create database charset=uft8;

指定校验集

sql 复制代码
create database d3 charset=UTF8;

当然,校验集和字符集可以同时指明;在创建数据库时指明对应的编码集和校验集的话,就会使用我们当前的命令下的,不再是我们之前配置的了;

补充:清理mysql的命令

sql 复制代码
system clear

3.对表的操作

① 建表

sql 复制代码
create table if not exists person(name varchar(20));

person是表的名字;name是表的列名;varchar是数据类型;20是数据大小;

② 查看当前数据库有那些表

③查看表的性质(persons是一个表)

④如何对表插入数据(编码规则)

如何查询数据(校验规则)

这里的* 的意思是查看这个表的里全部内容;

⑤ 如何查询表中具体的数据

⑥ 如何对表中数据进行排序

大写的ASCII码值大于小写的;默认是升序的;

⑦备份表

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

恢复:

⑧删除表

sql 复制代码
drop table tablename;

4.不同的校验集和编码集在编码层面上有什么区别

首先我们知道的是utf_general_ci的校验不区分大小写;

验证:

而utf8_bin的校验规则是不区分大小写的;

验证:

相关推荐
飞将1 小时前
从零实现数据库(2)——HashIndex + IndexManager
数据库
Nturmoils21 小时前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
渣波1 天前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
Jim6002 天前
【吃透 MySQL InnoDB连载】第 1 章・解密线上数据库高频故障
mysql
GreatSQL2 天前
gt-checksum v4.0.0 新功能解读系列文章(4):SSL 加密连接——数据校验传输安全再升级
mysql
倔强的石头_2 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
倔强的石头_5 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横5 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
沉默王二5 天前
面试官:RAG 不用向量数据库,用 MySQL 硬扛?我:100 万向量不是很轻松?
mysql·面试·ai编程