【MySQL】2.MySQL库操作

news2025/2/2 18:52:01

文章目录

  • 1.0 MySQL基本使用
    • 1.1 理解数据库操作
  • 2.0 MySQL数据库操作详解
    • 2.1创建数据库
    • 2.2 字符集和校验规则
    • 2.2修改数据库
    • 2.3删除数据库
    • 2.4查看数据库链接

1.0 MySQL基本使用

1.1 理解数据库操作

查看数据库配置文件
指令: vim /etc/my.cnf
在这里插入图片描述
登录数据库
指令: mysql -h +ip + -p + port + -uroot -p

[clx@VM-20-6-centos mysql]$ mysql -uroot -p   //登录本机mysql可以简化
[clx@VM-20-6-centos mysql]$ mysql -h 127.0.0.1 -P 3306 -u root -p

在这里插入图片描述

查看MySQL中的库
指令: show databases
在这里插入图片描述
可以看到数据库中中的库与datadir目录下的各个目录一一对应
添加MySQL中的库
指令: create database + database_name ;

MariaDB [(none)]> create database clx_database;   //添加库
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> show databases;                 //查看库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| clx_database       |
| demo_db            |
| mysql              |
| performance_schema |
| test               |
+--------------------+
6 rows in set (0.00 sec)

在这里插入图片描述
可以看到我们在MySQL中创建了一个名为clx_database库,在配置文件中的datadir 目录下就创建了一个clx_database目录.所以在MySQL中建立一个库的本质,就是在datadir 目录下创建一个目录

选择数据库
指令: use + clx_database(数据库名称);

在MySQL库中创建表

MariaDB [(none)]> use clx_database
Database changed
MariaDB [clx_database]> create table if not exists `hello` (  //若hello表不存在则进行创建
    -> name varchar(16) not null,                         //第一个参数 名字:name 类型:varchar(16)
    -> age int not null                                   //第二个参数 名字:age  类型:int  
    -> );
Query OK, 0 rows affected (0.01 sec)                      //表示创建成功

查看MySQL库中的表
指令: show tables;
在这里插入图片描述
所谓的创建数据库表,本质就是在特定的目录下创建特定的文件!(一张表可能对应多个文件,和存储引擎有关)
在这里插入图片描述
服务器找到对应的库和表本质就是,找到对应的目录以及文件

查看表结构
指令:desc + 表名称;
在这里插入图片描述

向表中插入数据
指令:insert hello(name age) values (‘clx’, 19);
在这里插入图片描述

将表中数据全部打印
指令: select * from + 表名称;
删除MySQL的库

指令: drop database + 数据库名;

2.0 MySQL数据库操作详解

2.1创建数据库

1.创建名为 clx_database 的数据库

create database clx_database

说明:当我们创建数据库没有指定字符集和校验规则时,我们希望系统使用默认字符集:utf8,校验规则是:utf8_general_ ci(可以支持中文存储), 当然我们也可以去系统的配置文件中修改默认字符集和校验规则

2.创建一个使用utf8字符集,utf8_general_ci为校验规则的 clx_database 数据库

create database clx_database charset=utf8 collate utf8_general_ci;

2.2 字符集和校验规则

字符集:每种字符集代表一种将字符转换成二进制序列方式
校对规则:每种校对规则代表一种将二进制序列转化成字符的方式

字符集和校对规则一一对应,应该成对使用,若使用不匹配的字符集和校对规则可能会出现乱码,数据错乱等现象

2.2.1 查看系统默认字符集以及校验操作

show variables like 'character_set_database';
show variables like 'collation_database';

在这里插入图片描述

我已经将我的MySQL默认设置调整好了,若不清楚如何改默认设置可以看一下 FatePuffer大佬的这篇博客 配置MySQL数据库

2.2.2 查看MySQL支持的字符集和校验规则

show charset    //查看支持的字符集
show collation  //查看支持的校验规则

2.2.3 字符集和校验规则不匹配对数据库的影响
创建两个数据库,两者的字符集均为utf8, 前者的校验规则使用 utf8_general_ci【不区分大小写】,后者的校验规则使用utf8_bin【区分大小写】

MariaDB [(none)]> create database test1 charset=utf8 collate utf8_general_ci; 
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> create database test2 charset=utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> show create database test1;
+----------+----------------------------------------------------------------+
| Database | Create Database                                                |
+----------+----------------------------------------------------------------+
| test1    | CREATE DATABASE `test1` /*!40100 DEFAULT CHARACTER SET utf8 */ | 
+----------+----------------------------------------------------------------+
1 row in set (0.00 sec)                    
MariaDB [(none)]> show create database test2;
+----------+---------------------------------------------------------------------------------+
| Database | Create Database                                                                 |
+----------+---------------------------------------------------------------------------------+
| test2    | CREATE DATABASE `test2` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin */ |
+----------+---------------------------------------------------------------------------------+
1 row in set (0.00 sec)

注意:当字符集和校准规则是匹配的时候,使用show create database database_name; 查看库信息时,校准规则会被省略,若不匹配则会打印出来

MariaDB [test1]> create table person(name varchar(20)); //在test1数据库中创建person表
Query OK, 0 rows affected (0.01 sec)

MariaDB [test1]> insert into person values('a');
Query OK, 1 row affected (0.01 sec)

MariaDB [test1]> insert into person values('b');
Query OK, 1 row affected (0.01 sec)

MariaDB [test1]> insert into person values('A');
Query OK, 1 row affected (0.00 sec)

MariaDB [test1]> insert into person values('B');
Query OK, 1 row affected (0.00 sec)

MariaDB [test1]> select * from person ;
+------+
| name |
+------+
| a    |
| b    |
| A    |
| B    |
+------+
4 rows in set (0.00 sec)

MariaDB [test1]> select * from person where name='a';  //可以发现并没有区分大小写
+------+
| name |
+------+
| a    |
| A    |
+------+
2 rows in set (0.00 sec)
MariaDB [test1]> use test2
Database changed
MariaDB [test2]> create table person(name varchar(20));//在test2目录中创建person表
Query OK, 0 rows affected (0.01 sec)

MariaDB [test2]> insert into person values('a');
Query OK, 1 row affected (0.00 sec)

MariaDB [test2]> insert into person values('b');
Query OK, 1 row affected (0.00 sec)

MariaDB [test2]> insert into person values('A');
Query OK, 1 row affected (0.01 sec)

MariaDB [test2]> insert into person values('B');
Query OK, 1 row affected (0.00 sec)

MariaDB [test2]> select * from person
    -> ;
+------+
| name |
+------+
| a    |
| b    |
| A    |
| B    |
+------+
4 rows in set (0.01 sec)

MariaDB [test2]> select * from person where name='a';//发现区分大小写,只打印了一个数据
+------+
| name |
+------+
| a    |
+------+
1 row in set (0.00 sec)

MariaDB [test2]> 

通过上述实验我们可以发现使用相同的字符集但是若校验规则不同会影响数据库的运行结果

2.2修改数据库

指令:alter database database_name charset=gbk
将指定数据库的字符集改成gbk

MariaDB [(none)]> show create database test1;
+----------+----------------------------------------------------------------+
| Database | Create Database                                                |
+----------+----------------------------------------------------------------+
| test1    | CREATE DATABASE `test1` /*!40100 DEFAULT CHARACTER SET utf8 */ | 
+----------+----------------------------------------------------------------+
1 row in set (0.00 sec)                    
MariaDB [test1]> alter database test1 charset=gbk;
Query OK, 1 row affected (0.00 sec)
MariaDB [test1]> show create database test1;
+----------+---------------------------------------------------------------+
| Database | Create Database                                               |
+----------+---------------------------------------------------------------+
| test1    | CREATE DATABASE `test1` /*!40100 DEFAULT CHARACTER SET gbk */ |
+----------+---------------------------------------------------------------+
1 row in set (0.00 sec)

2.3删除数据库

指令:drop database database_name;

MariaDB [test1]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| demo_db            |
| mysql              |
| performance_schema |
| test1              |
| test2              |
+--------------------+
6 rows in set (0.00 sec)

MariaDB [test1]> drop database test1; drop database test2;
Query OK, 1 row affected (0.01 sec)

Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| demo_db            |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)

2.4查看数据库链接

指令:show processlist;
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[第十三届蓝桥杯/java/算法]A——排列字母

🧑‍🎓个人介绍:大二软件生,现学JAVA、Linux、MySQL、算法 💻博客主页:渡过晚枫渡过晚枫 👓系列专栏:[编程神域 C语言],[java/初学者],[蓝桥杯] &#x1f4d6…

机器人开发--设计范式

机器人开发--设计范式1 概念范式特点2 三种范式2.1 机器人基元:感知(sense)、规划(plan)、执行(act)2.2 范式分类分级范式 hierarchical paradigm反应范式 reactive paradigm混合范式 hybrid pa…

程序的动态链接(5):使用动态库

前言 Linux下动态库文件的命名规范是以lib开头,紧接着是动态库名,以.so为后缀名,即lib 动态库名.so。 动态库查找过程 在Linux下,动态库的搜索的优先级顺序为: 编译目标代码时指定的动态库搜索路径,保…

达梦数据库(DM8)常用SQL学习

达梦产品手册 1.检查数据库版本及服务状态 1.1 查看达梦数据库运行状态 SELECT status$ as 状态 FROM v$instance;1.2 查看达梦数据库版本 SELECT banner as 版本信息 FROM v$version;2.创建用户并授权 2.1 创建用户 -- 使用 CREATE USER 语句创建 DM 用户,登…

Python爬虫详解

从今天开始,给大家介绍Python爬虫相关知识,今天主要内容是爬虫的基础理论知识。 一、爬虫简介 爬虫是指通过编写程序,来模拟浏览器访问Web网页,然后通过一定的策略,爬取指定内容。因此,爬虫的编写通常分为…

Nature Communications:人类丘脑的基因结构及其与十种常见大脑疾病的重叠

丘脑是位于大脑中心的重要交流中枢,由不同的核组成,对意识和高级皮层功能至关重要。丘脑结构和功能的改变涉及到常见的大脑疾病的发病机制,但丘脑的遗传结构仍然很大程度上未知。在这里,使用来自30114个个体的大脑扫描和基因型数据…

【Linux】进程创建、进程终止、进程等待

目录 一、进程创建 1.1 深入 fork 函数 1.2 写时拷贝 二、进程终止 2.1 进程退出码 2.2 exit 与 _exit 三、进程等待 3.1 进程等待必要性 3.2 进程等待 3.2 wait 与 waitpid 3.3 获取子进程 status 3.4 非阻塞等待 一、进程创建 1.1 深入 fork 函数 在 Linux 中…

如何对图片进行旋转?这些工具能将图片进行旋转

大家平时在日常生活中有没有遇到这种情况:从网上保存下来的图片发现角度方向是错误的,或者是从相机导入拍摄的图片,打开图片发现它们的方向不统一,不方便我们进行观看。这时需要我们对图片进行旋转操作,才能将图片摆正…

图表控件LightningChart.NET 系列教程(四):安装

LightningChart.NET SDK 是一款高性能数据可视化插件工具,由数据可视化软件组件和工具类组成,可支持基于 Windows 的用户界面框架(Windows Presentation Foundation)、Windows 通用应用平台(Universal Windows Platfor…

Linux 内核网络栈分析: 接收数据

引言 对于内核网络栈的分析我在大二听了李勇大神来小组的讲座以后就想干了,但像很多主题的文章一样,始终没有勇气,也没有时间动手,我终究还是把这个话题从大二延到大三,从大三延到大四了。冥冥之中某种东西好像早已是…

Python 帮同事用pandas快速筛选Excel文件

同事正在为怎样处理一个18万行的全年财务Excel文件发愁,文件足足有30M,打开文件也要两三分钟,于是他就向我求助。大概意思就是要筛选出Data工作簿“源数据”Sheet中所有收款人对应的付款人及付款笔数、金额小计,于是我简化做了一个…

【RuoYi-Vue-Plus】学习笔记 45 - Spring 事件监听器 @EventListener 注解简单分析

文章目录前言参考目录测试方法配置说明测试方法功能调用流程分析事件监听器初始化事件发布流程前言 因为之前比较忙所以匿了一段时间,顺便当了神雕大侠(“阳过”)。前段时间框架已经发布了新版本 V4.4.0,而在最新的 dev 分支中使…

labelImg数据标注及yolov5的训练和测试

labelImg数据标注及yolov5的训练和测试 一、labelImg数据标注的使用 数据标注主要针对于哪个地方是什么,一般像隐私类的是不能标注的,如鲁迅的故居可以标,但是张三的住所就不能进行标注。 labelImg是数据标注主要使用的工具。 1、首先使用…

第十四章 概率图模型

14.1 隐马尔可夫模型 机器学习最重要的任务,是根据一些已观察到的证据(例如训练样本)来对感兴趣的未知变量(例如类别标记)进行估计和推测。概念模型提供了一种描述框架,将学习任务归结于计算变量的概率分布…

ffmpeg-AVPacket

目录 引子 翻译一下官方注释: 成员变量: AVBufferRef *buf pts dts data size stream_index flag side_data side_data_elems duration pos opaque opaque_ref time_base 引子 AVPacket是ffmpeg基础且非常重要的数据结构…

我国脐橙行业现状:种植面积、产量及市场规模不断增长 江西赣州是最大生产区

根据观研报告网发布的《2022年中国脐橙市场分析报告-市场全景评估与发展定位研究》显示,脐橙是芸香科,属柑橘亚科,是柑橘属植物甜橙的一类栽培品种,果皮难或稍易剥离,瓢囊9-12瓣,果心实或半充实&#xff0c…

ChatGPT

ChatGPT是由OpenAI开发的一个人工智能聊天机器人程序,于2022年11月推出。该程序使用基于GPT-3.5架构的大型语言模型并通过强化学习进行训练。目前,有部分地区(例如中国大陆、香港)无法使用此项服务,这里我就介绍一下中…

代码随想录训练营第55天|LeetCode 583. 两个字符串的删除操作、72. 编辑距离

参考 代码随想录 题目一:LeetCode 583. 两个字符串的删除操作 确定dp数组下标及其含义 为了方便dp数组的初始化,在整个分析问题的过程中在word1和word2的最前面添加空字符,注意,不是真正的添加,只是这么认为。 dp[i]…

大学英语笔记

words in use unit 1 The mayor condenseIt was reported exceedresearchers put deficittoo much————exposuremoving forward managerialthe lawyer adequateto help the competentmost parents,,,adjustingyou can count preciselyin …

工控CTF之协议分析8——特殊隧道

协议分析 流量分析 主要以工控流量和恶意流量为主,难度较低的题目主要考察Wireshark使用和找规律,难度较高的题目主要考察协议定义和特征 简单只能简单得干篇一律,难可以难得五花八门 常见的工控协议有:Modbus、MMS、IEC60870、…