当前位置: 首页 > 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.dtcms.com/a/338742.html

相关文章:

  • Python + 淘宝 API 开发:自动化采集商品数据的完整流程​
  • Redis(11)如何通过命令行操作Redis?
  • 对象创建过程
  • 《算法导论》第 32 章 - 字符串匹配
  • 大数据云原生是什么
  • 中国技术引领人工心脏变革——欧洲心脏与心力衰竭大会特别报道
  • 思科语音系统简要了解
  • 【科研绘图系列】R语言绘制多种小提琴和云雨图
  • 期权小故事:王安石变法与期权
  • electron进程间通信- 渲染进程与主进程双向通信
  • GitHub 热榜项目 - 日榜(2025-08-19)
  • 从现场到云端的“通用语”:Kepware 在工业互联中的角色、使用方法与本土厂商(以胡工科技为例)的差异与优势
  • AiPPT怎么样?好用吗?
  • Ubuntu22系统上源码部署LLamaFactory+微调模型 教程【亲测成功】
  • Linux下编译ARPACK
  • 【Git Submodules 与微前端架构技术指南】
  • git仓库和分支的关系
  • 主从切换是怎么保证数据一致的?从库为什么会延迟
  • 理解JavaScript中的函数赋值和调用
  • AAA服务器技术
  • 算法训练营day55 图论⑤ 并查集理论基础、107. 寻找存在的路径
  • 谷歌为什么要将Android的页面大小(Page Size)从传统的4KB升级至16KB
  • 解决 UniApp 自定义弹框被图片或 Canvas 覆盖的 Bug
  • 云原生俱乐部-mysql知识点归纳(3)
  • 2 . 大纲
  • 常用植被物候提取方法 (TIMESATE/R语言/Python)-4.0
  • QChart智能坐标轴
  • 【3-3】流量控制与差错控制
  • Linux的ALSA音频框架学习笔记
  • 为单片机专门定制的Unicode字库和API接口