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

【MySQL】--- 库表操作

【MySQL】--- 库表操作

  • 一、库操作
    • 1、增(创建)
      • 字符编码集
      • 备份
    • 2、删
    • 3、查
    • 4、改
  • 二、表操作
    • 1、增
    • 2、删
    • 3、查
    • 4、改

一、库操作

1、增(创建)

创建一个数据库

1、

create database db_name;

在这里插入图片描述

此时就创建了test1数据库,可以通过show databases查看。

1)站在操作系统的角度:实际上,一个数据库,就是一个目录,use + 数据库,就相当于cd,进入数据库

2)我们的数据库在操作系统里面,存储的默认路径/var/lib/mysql

在这里插入图片描述

2、

create database [if not exists] db_name;

可以加这个选项,也可以不加!~

主要作用:如果 没有这个数据库,就创建!

字符编码集

在MySQL中,数据库有两种字符编码集合:

  1. 字符集:字符存储时,采用的编码方式
  2. 校验集:字符读取时,采用的编码方式

查看系统支持的字符集

show charset;

在这里插入图片描述

查看系统支持的校验集

show collation;

在这里插入图片描述
此时系统就列出了支持的各种集合,比如utf8

可以在创建数据库时,指定使用的字符集与校验集

指定字符集:

create database [if not exists] 数据库名 charset=xxx;
create database [if not exists] 数据库名 character set xxx;

以上两种方式,都可以指定字符集xxx

指定校验集:

create database [if not exists] 数据库名 collate xxx;

示例:

执行create database db_1 charset=utf8 collate utf8_general_ci

在这里插入图片描述
该指令创建了数据库db_1,并指定字符集为utf8校验集为utf8_general_ci

在数据库对应的目录中,会存在一个文件dp.opt,其内部存储了数据库对应的校验集与字符集

在这里插入图片描述
当然,如果你不指定字符集和校验集,此时会使用系统默认的。

查看系统默认的字符集

show variables like 'character_set_database';

在这里插入图片描述
即默认的校验集utf8_general_ci

备份

拷贝数据库指令

mysqldump -P 端口号-u 用户名 -p 密码 -B 数据库名 > 数据库备份存储的文件路径

注意:该指令要在bash中执行,而不是数据库中。

比如备份bit_index数据库:

mysqldump -B bit_index > ~/test/bit_index.sql

上述指令指定了一个名为bit_index 数据库,将其保存在路径~/test/bit_index.sql。

此时在对应路径下,就产生了对应.sql文件:

在这里插入图片描述
通过vim查看一下sql内部的数据:

可以发现:.sql文件并不是简单的拷贝一份数据库,而是保留了整个数据库的SQL语句

在这里插入图片描述

还原数据库

source 路径.sql;

该指令要在MySQL内部执行,而不是命令行。

2、删

删除数据库:

drop database test1;

在这里插入图片描述

3、查

查看存在哪些数据库:

show databases;

在这里插入图片描述

查看自己当前处于哪一个数据库:

select database();

在这里插入图片描述

4、改

修改数据库

一般来说就修改字符集和校验集

修改字符集:

alter database 数据库名 charset=xxx;

在这里插入图片描述

修改校验集:

alter database 数据库名 collate xxx;

在这里插入图片描述

二、表操作

1、增

创建一个表:

create table [if not exists] 表名 (field1 datatype,field2 datatype,// 这些都是表的属性!field3 datatype
) character set 字符集 collate 校验集 engine 存储引擎;// 校验集,字符集可以省略,使用默认即可

在这里插入图片描述
注意事项:

  1. 每一个列(属性)后面都有一个逗号,但是最后一个没有
  2. 整个语句末尾有分号

在这里插入图片描述

此时在/var/lib/mysql下的db_1目录下,出现了三个文件:tb1.frm,tb1.ibd,db.opt这三个文件共同维护了tb1这张表。
在这里插入图片描述
可见:数据库中的表的本质,就是多个文件!

2、删

删除一个表:

drop table [if exists] 表名 [, 表名, ...];

在这里插入图片描述

3、查

查看当前数据库下有哪些表:

show tables;

在这里插入图片描述

查看表的结构:

desc 表名;

在这里插入图片描述
各个字段含义如下:

  1. Field:列名
  2. Type:列的数据类型
  3. Null:该列是否允许为空
  4. Key:索引类型
  5. Default:默认值
  6. Extra:扩充

查看 当时 建表时的语句:

show create table 表名 \G

在这里插入图片描述

在这里插入图片描述

总结:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4、改

修改表的名称

alter table old_name rename to new_name;

在这里插入图片描述
rename [to]:此处的to可省略,效果一样

插入新的列add

alter table 表名 add 列名 类型 comment 描述 after xxx;
  • comment:相当于备注,用于表示这一列数据的含义
  • after:指定新增的列插入到哪一列后面,如果不指定,默认插入到最后一列

在这里插入图片描述

删除列drop

alter table 表名 drop 列名;

在这里插入图片描述

修改列change

alter table 表名 change 旧列名 新列名 类型;

在这里插入图片描述
总结

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.xdnf.cn/news/1329139.html

相关文章:

  • 字节开源了一款具备长期记忆能力的多模态智能体:M3-Agent
  • 【数据结构】堆和二叉树详解(下)
  • 构建自主企业:AgenticOps 的技术蓝图
  • 学习嵌入式的第二十一天——数据结构——链表
  • 可以一键生成PPT的AI PPT工具(最新整理)
  • 从机器视觉到图像识别:计算机视觉的多维探索
  • 图论\dp 两题
  • Matplotlib数据可视化实战:Matplotlib基础与实践-快速上手数据可视化
  • 数据结构-栈和队列
  • kubeadm部署k8s集群环境搭建
  • consul-基础概念
  • 信号以及共享内存
  • strlen 函数的使用与模拟实现
  • 算法——质数筛法
  • 106、【OS】【Nuttx】【周边】文档构建渲染:安装 Sphinx 扩展(下)
  • yolov5s.onnx转rk模型以及相关使用详细教程
  • 玳瑁的嵌入式日记D20-08019(数据结构)
  • 安装DDNS-go
  • Linux操作系统编程——进程间的通信
  • RocketMq消费者动态订阅topic
  • RK3568 Linux驱动学习——Linux设备树
  • Linux下Mysql命令,创建mysql,删除mysql
  • Win/Linux笔记本合盖不睡眠设置指南
  • 小程序插件使用
  • RWA加密金融高峰论坛星链品牌全球发布 —— 稳定币与Web3的香港新篇章
  • Vue 2 项目中快速集成 Jest 单元测试(超详细教程)
  • 哈希:两数之和
  • 从零开始的云计算生活——第四十六天,铁杵成针,kubernetes模块之Configmap资源与Secret资源对象
  • 【技术揭秘】AI Agent操作系统架构演进:从单体到分布式智能的跃迁
  • 告别手写文档!Spring Boot API 文档终极解决方案:SpringDoc OpenAPI