MySQL——操作

一.库的操作

1.基本操作

创建数据库

create database 数据库名称;

查看数据库

show databases;

删除数据库

drop database 数据库名称;

执行删除之后的结果:

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

所以不要随意删除数据库

使用数据库

use 数据库名称;

查看当前所处数据库

select database();

修改数据库

alter database 数据库名称 新字符集 新校验规则;

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

查看创建数据库的详细信息

show create database 库名称;

能够查看当时创建该数据库时所编写的语句的信息。


2.数据库编码

创建数据库时,有两个编码集:

  • 数据库编码集:数据库未来存储的数据。
  • 数据库校验集:支持数据库进行字段比较使用的编码,本质也是一种读取数据库中数据采用的编码格式。

数据库无论对数据采用任何操作,都必须保证操作和编码必须是编码一致的。

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

show variables like 'character_set_database';

show variables like 'collation_database' ;
查看数据库支持的字符集

show charset;

字符集主要是控制用什么语言。比如utf8就可以使用中文。

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

show collation;

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

create database db3 charset=utf8 collate utf8_general_ci;

不同的校验码规则,会影响数据库的数据读取,例如:

校验规则使用utf8_ general_ ci,不会区分数据的大小写
校验规则使用utf8_ bin,会区分数据的 大小写


3.备份与恢复

备份

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

这里的路径,最终要是一个以".sql"为后缀的文件

打开 .sql 文件,会发现备份实际上把整个创建数据库,建表,导入数据的语句都装载这个文件中。

还原

source****数据库备份存储的文件路径 ;

还原要在MySQL服务中操作。

备份的不是整个数据库,而是其中的一张表

mysqldump -u root -p 数据库名 表名1 表名2 > 数据库备份存储的文件路径

同时备份多个数据库

mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库备份存储的文件路径

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


4.查看库连接状态

show processlist

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


二.表的操作

1.基本操作

创建表

create table 表名称(

列名称 列类型 comment '列的描述',

...

)character set 字符集 collate 校验规则 engine 存储引擎;

列名可以有很多个,字符集和校验规则如果没有指定,则保持与所在数据库一致。comment也可以省略。

查看表列表

show tables;

查看表结构

desc 表名称;

查看创建表的详细信息

show create table 表名称;

能够查看当时创建表的具体语句信息。

表插入数据

insert into 表名称 (列名称...) values (列数据...);

可以仅给指定的列添加数据,如果不指定特定的列,则默认表示为所有的列添加数据。

修改表名称

alter table 表名称 rename to 新名称;

删除表

drop table 表名称;

表添加新列

alter table 表名称 add 列名 列类型 comment '列的描述' after 列名称;

after表示要将新列添加在那一列的后边,如果不使用,则默认添加为最后一列。

修改列类型

alter table 表名称 modify 列名称 新类型;

删除列

alter table 表名称 drop 列名称;

修改列名称

alter table 表名称 change 列原名称 列新名称 列类型;

修改列名称需要给出完整的列定义。

相关推荐
jiayou6418 小时前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
于眠牧北19 小时前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql
李广坤2 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
Turnip12023 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
爱可生开源社区3 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1773 天前
《从零搭建NestJS项目》
数据库·typescript
加号33 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏3 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐3 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再3 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip