当前位置: 首页 > news >正文

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 列原名称 列新名称 列类型;

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

http://www.lryc.cn/news/497218.html

相关文章:

  • Python语法之正则表达式详解以及re模块中的常用函数
  • 《地球化学》
  • alpine openssl 编译
  • 【AI模型对比】AI新宠Kimi与ChatGPT的全面对比:技术、性能、应用全揭秘
  • 【C#设计模式(17)——迭代器模式(Iterator Pattern)】
  • 二、部署docker
  • FFmpeg 4.3 音视频-多路H265监控录放C++开发十九,ffmpeg封装
  • ML 系列:第 39 节 - 估计方法:最大似然估计 (MLE)
  • Linux 权限管理:用户分类、权限解读与常见问题剖析
  • 网络原理之 UDP 协议
  • 并发框架disruptor实现生产-消费者模式
  • 【Vivado】xdc约束文件编写
  • Redis使用场景-缓存-缓存雪崩
  • 概率论相关知识随记
  • 【PlantUML系列】序列图(二)
  • WPF+MVVM案例实战与特效(三十四)- 日志管理:使用 log4net 实现高效日志记录
  • 前端测试框架 jasmine 的使用
  • Qwen2-VL视觉大模型微调实战:LaTex公式OCR识别任务(完整代码)
  • 「Mac玩转仓颉内测版42」小学奥数篇5 - 圆和矩形的面积计算
  • Groom Blender to UE5
  • 开发一套ERP 第十弹 图片作为配置文件,本地读取图片,定时更新图片类型
  • 第七十六条:努力保持故障的原子性
  • Word分栏后出现空白页解决方法
  • 基于HTML和CSS的校园网页设计与实现
  • 【算法day7】字符串:反转与替换
  • 分布式存储厂商
  • 合合信息扫描全能王线下体验活动:科技与人文的完美交融
  • 单链表在Go语言中的实现与操作
  • 网关整合sentinel无法读取nacos配置问题分析
  • 简化XPath表达式的方法与实践