【MySQL系列】MySQL库的学习及基本操作(增删查改)

这篇具有很好参考价值的文章主要介绍了【MySQL系列】MySQL库的学习及基本操作(增删查改)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

「前言」文章内容大致是数据库的基本操作

「归属专栏」MySQL

「主页链接」个人主页

「笔者」枫叶先生(fy)

「枫叶先生有点文青病」「句子分享」
哪里会有人喜欢孤独,不过是不喜欢失望罢了。
——村上春树《挪威的森林》

【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习

一、创建/查看数据库

创建数据库语法:

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,create_specification] ...]

create_specification的选项:

[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

说明

  • db_name是创建数据库的名字
  • 大写的表示关键字
  • [] 是可选项,可以选择不写
  • CHARACTER SET: 指定数据库采用的字符集
  • COLLATE: 指定数据库字符集的校验规则

查看所有的数据库:

show databases;

【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习
[IF NOT EXISTS]的意思是,如果数据库存在就不创建,数据库不存在就创建。例如创建已经存在的 test数据库

create database if not exists test;
或者 create database test; // 直接创建

【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习
如果不存在则创建

create database if not exists test1;

【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习
数据库被创建本质上就是在/var/lib/mysql/下创建一个目录
【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习

二、删除数据库

语法:

DROP DATABASE [IF EXISTS] db_ name;
  • db_name是创建数据库的名字
  • [] 是可选项,可以选择不写

执行删除之后的结果:

  • 数据库内部看不到对应的数据库
  • 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删
  • 数据库被删除本质上就是在/var/lib/mysql/下删除一个目录

注意:不要随意删除数据库,尽量是对不需要的数据库进行重命名备份即可
【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习

三、数据库字符集和数据库校验规则

创建名为 db1 的数据库

create database db1;

说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则
是:utf8_ general_ ci,即MySQL配置文件/etc/my.cnf里面设置的,如果我们自己指定字符集或校验规则,则不会使用系统默认的字符集和校验规则时。
我们自已也可以指定创建创建一个使用utf8字符集的 db2 数据库

create database db2 charset=utf8;
或者 create database db2 CHARACTER SET utf8

也可以带创建一个使用utf字符集,并带校对规则utf8_general_ci的 db3 数据库

create database db3 charset=utf8 collate utf8_general_ci;

什么是字符集和校验规则??

  • 字符集就是编码集,数据库用于表示和存储数据
  • 校验规则是一种用于检测和验证数据完整性的方法,数据库在比较字段的时候需要用到的编码(读取数据、比较数据)

数据库库无论对数据做任何操作,都必须保证编码格式是一致的
查看系统默认字符集(当前数据库)(MySQL配置文件/etc/my.cnf里面设置的)

show variables like 'character_set_database';

【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习
查看系统默认校验规则(当前数据库)

show variables like 'collation_database';

【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习
查看数据库支持的字符集,字符集主要是控制用什么语言。比如utf8就可以使用中文

show charset;

【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习
查看数据库支持的字符集校验规则
【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习
每一种校验规则都匹配一种字符集,比如utf8_general_ci检验规则匹配的字符集是utf8

四、校验规则对数据库的影响

不区分大小写

创建一个数据库,校验规则使用utf8_ general_ ci[不区分大小写]

create database test1 charset=utf8 collate utf8_general_ci;

创建表插入数据

use test1;
create table person(name varchar(20));
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');

【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习
在该数据库的目录下,db.opt文件就是存放该库的编码规则

cat /var/lib/mysql/test1/db.opt

【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习
查看表的信息
【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习
查找字符 a

select * from person where name='a';

aA都被查出来了,说明检验规则utf8_general_ci不区分大小写【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习

区分大小写

创建一个数据库,校验规则使用utf8_ bin[区分大小写]

create database test2 collate utf8_bin;

创建表插入数据

use test2;
create table person(name varchar(20));
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');

【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习
在该数据库的目录下,db.opt文件就是存放该库的编码规则
【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习
查找字符 a,只有符合条件的被查出来的,说明检验规则utf8_bin区分大小写
【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习

五、修改数据库

显示创建数据库时的语句

show create database 数据库名;

【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习
说明

  • MySQL 建议我们关键字使用大写,但是不是必须的。
  • 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
  • /*!40100 default.... */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话,如果小于就不执行

修改数据库

语法:

ALTER DATABASE db_name [alter_spacification [,alter_spacification]...]

alter_spacification选项:

alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
  • 大写的表示关键字
  • [] 是可选项,可以选择不写

说明:对数据库的修改主要指的是修改数据库的字符集,校验规则
例如,将test2的字符集gbk

alter database test1 charset=gbk collate gbk_chinese_ci;

【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习
【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习
注意:现在的数据库不支持修改数据库名字,以前支持

六、数据库的备份和恢复

备份

语法

mysqldump -P3306 -u root -p -B 数据库名 > 数据库备份存储的文件路径

注:> 是输出重定向
例如,将test1库备份到文件,需要退出mysql连接

mysqldump -P3306 -uroot -p -B test1 > /home/fy/mysql/test1.sql

【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习
vim 打开看一下,该数据的有效操作+数据全部备份了
【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习

还原

语法:

source 备份的文件(路径)

注:> 是输出重定向
test1删除,进行测试
【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习
进行还原test1,在连接mysql下操作

source /home/fy/mysql/test1.sql;

【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习
查看数据库,数据已经恢复
【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习
注意事项
如果备份的不是整个数据库,而是其中的一张表

 mysqldump -uroot -p 数据库名 表名1 表名2... > 备份的文件(路径),如:/mytest.sql

同时备份多个数据库

 mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据
库,再使用source来还原。

七、查看数据库连接情况

语法:

show processlist;

【MySQL系列】MySQL库的学习及基本操作(增删查改),MySQL,数据库,mysql,学习
可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况
--------------------- END ----------------------文章来源地址https://www.toymoban.com/news/detail-555886.html

「 作者 」 枫叶先生
「 更新 」 2023.7.7
「 声明 」 余之才疏学浅,故所撰文疏漏难免,
          或有谬误或不准确之处,敬请读者批评指正。

到了这里,关于【MySQL系列】MySQL库的学习及基本操作(增删查改)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Seaborn库的基本绘图操作

    1、主题样式 seaborn库中有darkgird(灰色背景+白网格)、whitegrid(白色背景+黑网格)、dark(仅灰色背景)、white(仅白色背景)、ticks(坐标轴带刻度)5种预设的主题。 个人推荐whitegrid或white darkgrid与whitegrid主题 有助于在绘图时进行定量信息的查找 dark与white主题 有助于防止网

    2024年02月11日
    浏览(23)
  • 嵌入式硬件库的基本操作方式与分析

    本次要介绍的开源软件是 c-periphery: 一个用 C 语言编写的硬件外设访问库。 我们可以用它来读写 Serial、SPI、I2C 等,非常适合在嵌入式产品上使用。 我们可以基于它优秀的代码框架,不断地扩展出更多的功能模块,最终形成自己产品适用的 Linux 硬件抽象层。 源文件: 约

    2024年02月06日
    浏览(31)
  • NXP S32K144学习系列2----S32DS基本操作

    如果不知道如何安装S32DS,请参考NXP S32K144学习系列1----开发环境的安装_EasyMoney77的博客-CSDN博客 导入工程后,首先要做的是调整好界面,将一些常用的界面合理的布局。我常使用的有project explorer(导入的工程),Outline(打开文件的包含的变量和函数),Components(包含导入的

    2023年04月08日
    浏览(42)
  • 【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(排查问题指令 - 上)

    在线上排查问题时,查询日志、查看系统配置和分析操作系统信息是至关重要的。这些操作可以帮助我们深入了解软件和服务的兼容性,并解决潜在的问题。在本次学习中,我们将介绍并深入学习一些我在处理类似问题时常用的指令。通过掌握这些指令,你将能够更加高效地

    2024年01月16日
    浏览(42)
  • 【NumPy系列】基本操作 - 一

    大家好!我是初心,本期给大家带来的是【【NumPy系列】基本操作 - 一。 作者的【 Python 数据分析】专栏正在火热更新中,如果本文对您有帮助,欢迎大家点赞 + 评论 + 收藏 ! 每日金句分享: 选择你所喜欢的,爱你所选择的。』—— 托尔斯泰「托尔斯泰 。 NumPy( Numerical Py

    2024年02月14日
    浏览(31)
  • 【MySQL基础】MySQL基本操作详解

    第1篇: 【MySQL基础】MySQL介绍及安装 第2篇: 【MySQL基础】MySQL基本操作详解 文章目录 ✍1,数据库操作     🔍1.1,查看数据库     🔍1.2,创建数据库     🔍1.3,选择数据库     🔍1.4,删除数据库 ✍2,数据表操作     🔍2.1,创建数据表     🔍2.2,查

    2024年02月03日
    浏览(36)
  • MySQL 基本操作1

    目录 Create insert 插入跟新 1 插入跟新 2 Retrive select where 子句查询 1.查找数学成绩小于 80 的同学。 2.查询数学成绩等于90分的同学。 3.查询总分大于240 的学生 4.查询空值或者非空值 5.查询语文成绩在70~80之间的同学 6.查询英语成绩是99 和 93 和 19 和 30 7.模糊匹配 排序 LIMIT mysql

    2024年02月10日
    浏览(31)
  • mysql 基本操作2

    目录 Update 将小白龙的数学成绩跟新为 80 分 将总成绩后三名的数学成绩+30分 Delete 删除沙悟净的成绩 删除倒数第一名的成绩 Truncate 聚合函数 count 查看员工表里面的人数 查看男女员工的个数 查看男员工占所有员工个数的比例 sum 计算所有员工的工资和 计算各个部门的工资和

    2024年02月11日
    浏览(32)
  • MySQL基本操作

    创建学生信息库: 创建学生信息表: 查看结果: 单行数据 + 全列插入: 多行数据 + 指定列插入: 查看插入结果: update用于对查询到的结果进行列值更新 目前的qq是NULL,可以修改: 查看结果: 上述直接修改,接下来也可以在插入时检测自动更新 再次插入,检测到数据冲突自

    2024年02月02日
    浏览(30)
  • 头歌——MySQL 基本操作

    目录 数据库1-MySQL数据定义与操作实战 MySQL数据库 - 初识MySQL MySQL数据库 - 数据库和表的基本操作(一) MySQL数据库 - 数据库和表的基本操作(二) MySQL数据库 - 单表查询(一) MySQL数据库 - 单表查询(二) MySQL数据库 - 单表查询(三) MySQL数据库 - 连接查询 MySQL数据库 - 子查

    2024年02月03日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包