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

2024-06-10 20:44

本文主要是介绍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细致内容,早关注不迷路。

这篇关于MySQL基础---库的操作和表的操作(配着自己的实操图,简单易上手)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1049219

相关文章

RedHat运维-Linux文本操作基础-AWK进阶

你不用整理,跟着敲一遍,有个印象,然后把它保存到本地,以后要用再去看,如果有了新东西,你自个再添加。这是我参考牛客上的shell编程专项题,只不过换成了问答的方式而已。不用背,就算是我自己亲自敲,我现在好多也记不住。 1. 输出nowcoder.txt文件第5行的内容 2. 输出nowcoder.txt文件第6行的内容 3. 输出nowcoder.txt文件第7行的内容 4. 输出nowcode

一份LLM资源清单围观技术大佬的日常;手把手教你在美国搭建「百万卡」AI数据中心;为啥大模型做不好简单的数学计算? | ShowMeAI日报

👀日报&周刊合集 | 🎡ShowMeAI官网 | 🧡 点赞关注评论拜托啦! 1. 为啥大模型做不好简单的数学计算?从大模型高考数学成绩不及格说起 司南评测体系 OpenCompass 选取 7 个大模型 (6 个开源模型+ GPT-4o),组织参与了 2024 年高考「新课标I卷」的语文、数学、英语考试,然后由经验丰富的判卷老师评判得分。 结果如上图所

Vim使用基础篇

本文内容大部分来自 vimtutor,自带的教程的总结。在终端输入vimtutor 即可进入教程。 先总结一下,然后再分别介绍正常模式,插入模式,和可视模式三种模式下的命令。 目录 看完以后的汇总 1.正常模式(Normal模式) 1.移动光标 2.删除 3.【:】输入符 4.撤销 5.替换 6.重复命令【. ; ,】 7.复制粘贴 8.缩进 2.插入模式 INSERT

mysql索引四(组合索引)

单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引;组合索引,即一个索引包含多个列。 因为有事,下面内容全部转自:https://www.cnblogs.com/farmer-cabbage/p/5793589.html 为了形象地对比单列索引和组合索引,为表添加多个字段:    CREATE TABLE mytable( ID INT NOT NULL, use

mysql索引三(全文索引)

前面分别介绍了mysql索引一(普通索引)、mysql索引二(唯一索引)。 本文学习mysql全文索引。 全文索引(也称全文检索)是目前搜索引擎使用的一种关键技术。它能够利用【分词技术】等多种算法智能分析出文本文字中关键词的频率和重要性,然后按照一定的算法规则智能地筛选出我们想要的搜索结果。 在MySql中,创建全文索引相对比较简单。例如:我们有一个文章表(article),其中有主键ID(

mysql索引二(唯一索引)

前文中介绍了MySQL中普通索引用法,和没有索引的区别。mysql索引一(普通索引) 下面学习一下唯一索引。 创建唯一索引的目的不是为了提高访问速度,而只是为了避免数据出现重复。唯一索引可以有多个但索引列的值必须唯一,索引列的值允许有空值。如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建索引的时候就应该使用关键字UNIQUE,把它定义为一个唯一索引。 添加数据库唯一索引的几种

mysql索引一(普通索引)

mysql的索引分为两大类,聚簇索引、非聚簇索引。聚簇索引是按照数据存放的物理位置为顺序的,而非聚簇索引则不同。聚簇索引能够提高多行检索的速度、非聚簇索引则对单行检索的速度很快。         在这两大类的索引类型下,还可以降索引分为4个小类型:         1,普通索引:最基本的索引,没有任何限制,是我们经常使用到的索引。         2,唯一索引:与普通索引

零基础STM32单片机编程入门(一)初识STM32单片机

文章目录 一.概要二.单片机型号命名规则三.STM32F103系统架构四.STM32F103C8T6单片机启动流程五.STM32F103C8T6单片机主要外设资源六.编程过程中芯片数据手册的作用1.单片机外设资源情况2.STM32单片机内部框图3.STM32单片机管脚图4.STM32单片机每个管脚可配功能5.单片机功耗数据6.FALSH编程时间,擦写次数7.I/O高低电平电压表格8.外设接口

【服务器运维】MySQL数据存储至数据盘

查看磁盘及分区 [root@MySQL tmp]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical)

ps基础入门

1.基础      1.1新建文件      1.2创建指定形状      1.4移动工具          1.41移动画布中的任意元素          1.42移动画布          1.43修改画布大小          1.44修改图像大小      1.5框选工具      1.6矩形工具      1.7图层          1.71图层颜色修改          1