MySQL基础---库的操作和表的操作(配着自己的实操图,简单易上手)

绪论​
勿问成功的秘诀为何,且尽全力做您应该做的事吧。–美华纳;本章是MySQL的第二章,本章主要写道MySQL中库和表的增删查改以及对库和表的备份处理,本章是基于上一章所写若没安装mysql可以查看Linux下搭建mysql软件及登录和基本使用,同时也强烈建议先上一章在看本章。
在这里插入图片描述
话不多说安全带系好,发车啦(建议电脑观看)。

思维导图:
在这里插入图片描述


1.库的操作

1.1创建库

创建数据库
语法:
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,create_specification] ...]create_specification:
[DEFAULT] CHARACTER SET charset_name #字符集
[DEFAULT] COLLATE collation_name #校验规则

[] 是可选项,也就表示着括号内的内容可填可不填的。
其中 IF NOT EXISTS:表示判断下创建的库是否存在(创建的文件存在了就会报错误信息)
在这里插入图片描述

1.1.1指定编码在创建数据库时:

当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_ general_ ci(在配置文件中写的)

设置库的字符集和校验规则
语法:
create database dbname charset=字符集 collate 校验规则;

在这里插入图片描述
单独的设置字符集:
在这里插入图片描述

1.1.2字符集和校验规则:

  1. 数据库字符集 — 数据库未来存储的数据
  2. 数据库校验集 — 支持数据库,进行字段比较时使用的编码,本质是一种读取数据库中数据的采用的编码格式
    写和读的编码集必须是统一的,也就是数据库无论对数据的任何操作,都必须保证操作和编码必须保持一致

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

查看字符集:
show variables like 'character_set_database';
查看校验集;
show variables like 'collation_database';

在这里插入图片描述
在这里插入图片描述
查看数据库支持的字符集和校验规则:

查看数据库所有支持的字符集:
show charset;
查看数据库支持的校验规则:
show collation;

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

1.1.3校验规则对数据库的影响

上面所用到的的utf8_general_ci是不区分大小写的、而utf8_bin区分大小写

验证utf8_general_ci是不区分大小写的如下(附:db数据库的校验规则是utf_general_ci):

在表中查找某个数据验证
语法:
select * from table_name where row_name=check_information;
具体使用:
select * from person where name='a';

在这里插入图片描述
上图发现排序后的a、A是一样的,故是不区分大小写的。

排序方法验证(默认升序)
语法:
select * from table_name order by Row_name; 
具体使用:
select * from person order by name;

在这里插入图片描述


utf8_bin区分大小写的:

在表中查找某个数据
语法:
select * from table_name where row_name=check_information;
具体使用:
select * from person where name='a';

在这里插入图片描述
上图只查出了一个就表示是区分大小写的(a!=A)

排序(默认升序):
语法:
select * from table_name order by Row_name; 
具体使用:
select * from person order by name;

在这里插入图片描述

1.2删除库

语法:

DROP DATABASE [IF EXISTS] db_ name;

附:强烈不建议轻易的删除数据库
在这里插入图片描述
执行删除之后的结果:

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

1.3查看库

查看数据库的语法:
show databases;

在这里插入图片描述

查看当前所在数据库的语法:
select database();

如当前在db数据库下:
在这里插入图片描述

显示创建库的语句
语法:
show create database dbname; #dbname就是数据库名

在这里插入图片描述

  • 其中在查看到创建库的语句中的 /*!40100 default… */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话

1.4修改库

语法:

ALTER DATABASE db_name [alter_spacification [,alter_spacification]...]alter_spacification:
[DEFAULT] CHARACTER SET charset_name #字符集
[DEFAULT] COLLATE collation_name #校验规则
具体使用sql语句方法:
alter database db charset=gbk collate gbk_general_ci;

在这里插入图片描述

2.表的操作

2.1创建表

语法:

CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;具体使用:
1.
create table if not exists user1(id int,name varchar(20) comment '用户名',password char(32) comment '密码',birthday date comment '生日'
)character set utf8 collate utf8_general_ci engine MyIsam;2.
create table user2(id int,name varchar(20) comment '用户',password char(32) comment '密码',birthday date comment '生日'
)charset=utf8 collate=utf8_general_ci engine=InnoDB;

在这里插入图片描述
在这里插入图片描述
对比两次创表过程:最后的字符集和校验规则以及存储引擎有两种自定义的方法(自行选择顺手的使用- -)

character set utf8 collate utf8_general_ci engine MyIsam;
charset=utf8 collate=utf8_general_ci engine=InnoDB;

2.1.1当创建的表在库目录使用不同的存储引擎,创建表的文件也是不一样的

  1. user1 表存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:

    1. user1.frm:表结构
    2. user1.MYD:表数据
    3. user1.MYI:表索引
  2. user2 表存储引擎是 InnoDB ,在数据目中有的文件是:

    1. user2.frm:表结构
    2. user2.ibd:表空间文件,用于存储数据和索引
      在这里插入图片描述
      附:当不指定写字符集和校验规则以及存储引擎的话就会默认成配置文件所默认的。
      配置文件所在的地址:/etc/my.cnf
      在这里插入图片描述
      在这里插入图片描述

1.2查看表

语法:
show tables;

在这里插入图片描述


查看表结构(详细信息)
语法:
desc 表名;

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


查看创建表的语句
语法:
show create table 表名;
show create table 表名 \G;#加上\G格式化展示

在这里插入图片描述


查看创建表的详细数据
语法:
select * form 表名;

在这里插入图片描述


1.3修改表

插入信息
语法:
insert into 表名 (列名)values(对应信息);

在这里插入图片描述
上图看出若不加列名表示在所有的行都添加信息,反之在values前面加上括号就指定了在某列中添加信息(下图在指定id处添加4)
在这里插入图片描述


插入新的一列
语法:
alter table 表名 add 新列名 列的类型 comment '描述' after 放在那一行后面

具体使用:
在这里插入图片描述

修改某一列的属性
语法:
alter table tablename modify rowname 新属性;

在这里插入图片描述
注:
其中我们在修改时,最好写全了(包括描述),因为这是覆盖式的修改在这里插入图片描述
不写全的话:
在这里插入图片描述

在这里插入图片描述


修改表名
语法:
alter table 表名 rename to 新的表名;

其中 to 可以省略
在这里插入图片描述


修改列名
语法:
alter table 表名 change 列名 新列名;

在这里插入图片描述
注:在重命名列名时必须要加类型,并且的同样的最好写全了!


1.4删除表

语法:
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
具体使用:
drop table user1;

在这里插入图片描述


删除列
语法:
alter table 表名 drop 列名;

注:一般不要删,删除后该行的数据就再也找不到了,并且也会影响所有上层用到该数据库的地方
在这里插入图片描述


3.数据库中的备份和恢复

3.1备份数据:

通过在服务器上输入bash指令:
备份库:
mysqldump -P3306 -uroot -p -B db > db.sql

将会生成一个db.sql备份文件

查看内部内容的语法:
vim db.sql

内部内容就是在数据库主要的sql语句:
在这里插入图片描述

3.2恢复数据

source 备份文件的路径;

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

附:

  1. 备份某张表(恢复一样)
mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql

其实也就发现和备份库不一样的是少了 -B 选项,所以也就表明了 -B 选项的含义就是在备份文件中加一个创建数据库的SQL语句
同时也侧面说明了,该还原时是需要在一个已经创建好的数据库下使用source来进行还原的!

  1. 同时备份多份数据库(也很简单类似于备份一个数据库)
mysql -uroot -p -B 数据库名1 数据库名2 ... > 数据库存放的路径 
  1. 查看连接状态
show processlist;

在这里插入图片描述


本章完。预知后事如何,暂听下回分解。

如果有任何问题欢迎讨论哈!

如果觉得这篇文章对你有所帮助的话点点赞吧!

持续更新大量MySQL细致内容,早关注不迷路。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/346072.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu18.04离线安装Mysql

查看系统位数 首先看自己Ubuntu是32还是64位的 sudo uname --m 我是64位。 下载mysql MySQL :: Download MySQL Community Server (Archived Versions) 上传到服务器上 解压 mkdir mysql8 sudo tar -xvf mysql-server_8.0.11-1ubuntu18.04_amd64.deb-bundle.tar -C ./mysql8…

1 c++多线程创建和传参

什么是进程? 系统资源分配的最小单位。 什么是线程? 操作系统调度的最小单位,即程序执行的最小单位。 为什么需要多线程? (1)加快程序执行速度和响应速度, 使得程序充分利用CPU资源。 (2&…

【MySQL】(基础篇二) —— MySQL初始用

MySQL初始用 目录 MySQL初始用基本语法约定选择数据库查看数据库和表其它的SHOW 在Navicat中,大部分数据库管理相关的操作都可以通过图形界面完成,这个很简单,大家可以自行探索。虽然Navicat等图形化数据库管理工具为操作和管理数据库提供了非…

upload-labs-第五关

目录 第五关 1、构造.user.ini文件 2、构造一个一句话木马文件,后缀名为jpg 3、上传.user.ini文件后上传flag.jpg 4、上传成功后访问上传路径 第五关 原理: 这一关采用黑名单的方式进行过滤,不允许上传php、php3、.htaccess等这几类文件…

AB测试学习(附有相关代码)

目录 一、基本概念1. 定义2. 作用3. 原理 二、实验基本原则三、实验步骤四、实验步骤详解1. 确定实验目的2. 确定实验变量3. 实验指标设计3.1 实验指标类型(按作用区分)3.1.1 核心指标3.1.2 驱动指标(跟踪指标)3.1.3 护栏指标 3.2…

vue-router全部搞定(附源码)

源码下载链接(先转存,后下载):https://pan.quark.cn/s/b0c6edd68c21 怎么用vue-cli搭建项目 我们固然可以用传统htmljs的方式来搭建vue项目,但是如果组件很多,就需要通过Vue.component的方式一个个去引入…

mathematica中针对三维图中的颜色和填充透明度进行指定

颜色指定使用的命令为:PlotStyle 填充的透明度使用的命令为:FillingStyle 示例代码: Clear["Global*"] Plot3D[{Sin[x^2 y], Sin[x^2 - y]}, {x, -2, 2}, {y, -2, 2}, PlotStyle -> {Directive[Red, Specularity[White, 100…

1.VMware软件的安装与虚拟机的创建

1. VMware软件的安装 1.1 为什么需要虚拟机 嵌入式Linux开发需要在Linux系统下运行,我们选择Ubuntu。   1、双系统安装     有问题,一次只能使用一个系统。Ubuntu基本只做编译用。双系统安装不能同时运行Windows和Linux。   2、虚拟机软件   …

Golang Context详解

文章目录 基本介绍context源码剖析Context接口emptyCtxcancelCtxtimerCtxvalueCtx context使用案例协程取消超时控制数据共享 基本介绍 基本介绍 在Go 1.7版本中引入了上下文(context)包,用于在并发编程中管理请求范围的数据、控制生命周期、…

k8s 1.28 搭建rabbitmq集群

1.环境 1.1 k8s 1.28 1.2 rabbit 3.8 1.3 工作空间default 1.4 注意,内存最好充足一点,因为我就两个节点一个master、一个node,起初我的node是8g,还剩3~4G,集群竟然一直起不来,后来将虚拟机内存扩大&#x…

数字孪生智慧水利:精准管理与智能决策的新时代

图扑数字孪生技术在智慧水利中的应用,通过虚拟模型与真实水利系统的无缝连接,实现对水资源和水利工程的全面监控和精细管理。实时数据采集与动态模拟提升了水利系统的预测和响应能力,从洪水预警到水质监测,数字孪生助力各项决策更…

【Meetup】探索Apache SeaTunnel的二次开发与实战案例

在数据科技快速演进的今天,业务场景的复杂化和数据量的激增,推动了大数据技术的迅速发展,在众多开源大数据处理工具中,Apache SeaTunnel以其强大的数据集成能力,成为众多企业的首选。 但随着应用深入,企业面…

Java_Map集合

认识Map集合 Map集合称为双列集合,格式:{key1value,key2value2,key3value3,…},一次需要存一对数据作为一个元素。 Map集合的每个元素“Keyvalue” 称为一个键值对/键值对对象/一个Entry对象,Map集合也被叫做“键值对集合” Map集…

ViT:2 理解CLIP

大模型技术论文不断,每个月总会新增上千篇。本专栏精选论文重点解读,主题还是围绕着行业实践和工程量产。若在某个环节出现卡点,可以回到大模型必备腔调或者LLM背后的基础模型新阅读。而最新科技(Mamba,xLSTM,KAN)则提…

简单介绍一下vim

简单介绍一下vim 一、vim是什么?二、vim的优点三、vi/vim的使用命令模式输入模式底线命令模式 四、vi/vim 按键说明(一)命令模式可用的光标移动、复制粘贴、搜索替换等移动光标的方法:搜索替换的方法删除、复制与贴上的方法 (二&a…

Unity 集成 FMOD 音频管理插件 2.02

Unity 集成 FMOD 音频管理插件 2.02 3. 集成教程:3.1 设置Unity项目3.2 设置FMOD项目3.3 设置 FMOD for Unity3.4 添加声音:卡丁车引擎3.5 添加声音:氛围3.6 添加声音:音乐3.7 删除现有音频3.8 下一步 10. 脚本 API 参考10.1 基础…

linux的持续性学习

安装php 第一步:配置yum源 第二步:下载php。 yum install php php-gd php-fpm php-mysql -y 第三步:启动php。 systemctl start php-fpm 第四步:检查php是否启动 lsof -i :9000 计划任务 作用&am…

设计模式- 责任链模式(行为型)

责任链模式 责任链模式是一种行为模式,它为请求创建一个接收者对象的链,解耦了请求的发送者和接收者。责任链模式将多个处理器串联起来形成一条处理请求的链。 图解 角色 抽象处理者: 一个处理请求的接口,可以通过设置返回值的方…

SpringBootWeb 篇-深入了解 Redis 五种类型命令与如何在 Java 中操作 Redis

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 Redis 概述 1.1 Redis 下载与安装 2.0 Redis 数据类型 3.0 Redis 常见五种类型的命令 3.1 字符串操作命令 3.2 哈希操作命令 3.3 列表操作命令 3.4 集合操作命令 …

Webpack 从入门到精通-基础篇

一、webpack 简介 1.1 webpack 是什么 webpack 是一种前端资源构建工具,一个静态模块打包器(module bundler)。 在 webpack 看来, 前端的所有资源文件(js/json/css/img/less/...)都会作为模块处理。 它将根据模块的依赖关系进行静态分析,打包生成对应的…