抚州网站建设/武汉网络优化知名乐云seo

抚州网站建设,武汉网络优化知名乐云seo,深圳公明网站制作,软件技术毕业设计题目专栏:MySQL数据库成长记 个人主页:手握风云 目录 一、查看数据库 二、创建数据库 2.1. 语法 2.2. 示例 三、字符集编码和校验(排序)规则 3.1. 查看数据库支持的字符集编码 3.2. 查看数据库支持的排序规则 3.3. 不同的字串集与排序规则对数据库的…

专栏:MySQL数据库成长记

个人主页:手握风云

目录

一、查看数据库

二、创建数据库

2.1. 语法

2.2. 示例

三、字符集编码和校验(排序)规则

3.1. 查看数据库支持的字符集编码

3.2. 查看数据库支持的排序规则

3.3. 不同的字串集与排序规则对数据库的影响

3.4. 查看系统默认字符集和排序规则

四、查看创建语句

4.1. 语法

五、修改数据库

5.1. 语法

六、删除数据库

6.1. 语法

6.2. 注意事项


一、查看数据库

//查看当前已有的数据库
show databases;
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| world              |
+--------------------+
6 rows in set (0.00 sec)

        这里需要注意,databases是复数形式,并且mysql命令行对大小写不敏感。MySQL中每条SQL语句都必须以分号结尾,否则数据库软件就会认为这不是一条完整的语句。如果我们没有写完就按回车,就会另起一行。

mysql> show databases->;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| world              |
+--------------------+
6 rows in set (0.00 sec)

        已有库里面的“sakila”“world”这些属于测试库,我们可以进行修改或者删除的,“information_schema”“mysql”“performance_schema”“sys”这些都属于系统库,记录的是MySQL自身信息和一些配置项,其中也包含我们的用户名和登录密码。如果删除了,就会导致MySQL无法正常启动,我们就需要再重新安装MySQL。其中set表示结果集,0.00sec表示运行消耗时间为10毫秒以内。

二、创建数据库

2.1. 语法

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] 数据库名称 [create_option]create_option: [DEFAULT] {CHARACTER SET [=] charset_name| COLLATE [=] collation_name| ENCRYPTION [=] {'Y' | 'N'}
}

        以上大写部分为关键字;大括号里的内容必须存在;中括号里的内容可有可无;|表示任选其一;IF NOT EXISTS表示如果不存在则创建数据库;CHARACTER SET是指定数据库采⽤的字符集编码;COLLATE是指定数据库字符集的校验规则;ENCRYPTION表示数据库是否加密。

2.2. 示例

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| world              |
+--------------------+
6 rows in set (0.08 sec)mysql> create database test3_21-> ;
Query OK, 1 row affected (0.03 sec)mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| test3_21           |
| world              |
+--------------------+
7 rows in set (0.00 sec)

        如果我们再去创建一个同名称的数据库,就会发出警告,并会告诉我们警告信息该数据库已经存在。

mysql> create database test3_21;
ERROR 1007 (HY000): Can't create database 'test3_21'; database exists

        当SQL语句在以上脚本当中运行时发生了错误,那么SQL语句的执行就会停住。那我们就可以加上一个校验结果,来阻止错误的发生。

mysql> create database if not exists test3_21;
Query OK, 1 row affected, 1 warning (0.00 sec)

        此时它就会提示我们存在一个警告,我们也可以使用SQL语句让它显示出来。

mysql> show warnings;
+-------+------+---------------------------------------------------+
| Level | Code | Message                                           |
+-------+------+---------------------------------------------------+
| Note  | 1007 | Can't create database 'test3_21'; database exists |
+-------+------+---------------------------------------------------+
1 row in set (0.00 sec)

        如果说我们在写完一条SQL语句时,发现前面有错误,那我们就可以ctrl+C进行换行重新写。

mysql> shown databases^C
mysql>

三、字符集编码和校验(排序)规则

3.1. 查看数据库支持的字符集编码

show charset;

        对字符集的编码,相当于两个人用不同的语言进行交流,一个人用汉语,另一个人用英语,他们就相当于对相同的内容进行编码。如果用A字符集编码存储数据,用B字符集编码去解析,那么就会出现一堆乱码。

+----------+---------------------------------+---------------------+--------+
| Charset  | Description                     | Default collation   | Maxlen |
+----------+---------------------------------+---------------------+--------+
| armscii8 | ARMSCII-8 Armenian              | armscii8_general_ci |      1 |
| ascii    | US ASCII                        | ascii_general_ci    |      1 |
| gb18030  | China National Standard GB18030 | gb18030_chinese_ci  |      4 |
| gb2312   | GB2312 Simplified Chinese       | gb2312_chinese_ci   |      2 |
| gbk      | GBK Simplified Chinese          | gbk_chinese_ci      |      2 |

        我们最熟悉的ascii对英语字母进行编码,最大长度为1字节。如果说我们要对中文进行编码,那么gb2312、gbk等进行编码,这两个最大长度为2个字节,相当于可以编写2^16个字符。而其他国家还有其他的语言,比如阿拉伯语、法语等。为了支持全世界的编码,就得对字符长度进行扩大,也就是MySQL8.0支持的默认字符集编码utf8mb4,最长可以用4个字节表示一个字符。

| utf8mb4  | UTF-8 Unicode                   | utf8mb4_0900_ai_ci  |      4 |

3.2. 查看数据库支持的排序规则

show collation;

        MySQL8.0默认的排序规则:

| utf8mb4_0900_ai_ci          | utf8mb4  | 255 | Yes     | Yes      |       0 | NO PAD        |

3.3. 不同的字串集与排序规则对数据库的影响

  • ai是Accent-insensitive的缩写,表示口声不敏感
  • ci是Case-insensitive的缩写表示大小写不敏感
  • as是Accent-sensitive的缩写,表示口声敏感
  • cs是Case-sensitive的缩写,表示大小写敏感
  • bin表示二进制

3.4. 查看系统默认字符集和排序规则

        默认字符集:

mysql> show variables like 'character%';
+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | gbk                                                     |
| character_set_connection | gbk                                                     |
| character_set_database   | utf8mb4                                                 |
| character_set_filesystem | binary                                                  |
| character_set_results    | gbk                                                     |
| character_set_server     | utf8mb4                                                 |
| character_set_system     | utf8mb3                                                 |
| character_sets_dir       | C:\Program Files\MySQL\MySQL Server 8.0\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set, 1 warning (0.04 sec)

        默认排序规则:

mysql> show variables like '%collation%';
+-------------------------------+--------------------+
| Variable_name                 | Value              |
+-------------------------------+--------------------+
| collation_connection          | gbk_chinese_ci     |
| collation_database            | utf8mb4_0900_ai_ci |
| collation_server              | utf8mb4_0900_ai_ci |
| default_collation_for_utf8mb4 | utf8mb4_0900_ai_ci |
+-------------------------------+--------------------+
4 rows in set, 1 warning (0.00 sec)

四、查看创建语句

4.1. 语法

mysql> show create database 数据库名称;
mysql> show create database test3_21;
+----------+------------------------------------------------------------------------------------------------------------------------------------+
| Database | Create Database|
+----------+------------------------------------------------------------------------------------------------------------------------------------+
| test3_21 | CREATE DATABASE `test3_21` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

        在“Create Database”对应的这一列里面,会出现与注释相同的符号“/**/”,但这个其实是指当前mysql版本大于4.01和 8.0.16时,分别执行对应的语句。

五、修改数据库

5.1. 语法

ALTER {DATABASE | SCHEMA} [db_name]alter_option ...
alter_option: {[DEFAULT] CHARACTER SET [=] charset_name| [DEFAULT] COLLATE [=] collation_name| [DEFAULT] ENCRYPTION [=] {'Y' | 'N'}| READ ONLY [=] {DEFAULT | 0 | 1}
}

        对数据库的修改主要是修改数据库的字符集,校验规则。

mysql> alter database test_db character set gbk;
Query OK, 1 row affected (0.01 sec)mysql> show create database test_db;
+----------+----------------------------------------------------------------------------------------------------+
| Database | Create Database                                                                                    |
+----------+----------------------------------------------------------------------------------------------------+
| test_db  | CREATE DATABASE `test_db` /*!40100 DEFAULT CHARACTER SET gbk */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+----------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

        但实际上,不建议对数据库进行修改。因为修改之后的编码不同,前面的数据还需要重新整理,效率非常低。大多数情况下还是将原来数据库的资料导出再导入到新创建的数据库里面。

六、删除数据库

6.1. 语法

DROP {DATABASE | SCHEMA} [IF EXISTS] 数据库名称;
mysql> drop database if exists test_db;
Query OK, 0 rows affected (0.04 sec)

        关于删除数据库,有些时候可能会出现一些误删数据库的操作,但也不必担心。因为数据库会定期对数据进行全量备份和增量备份,或者是通过日志进行恢复,或者是对磁盘进行物理恢复。

6.2. 注意事项

  • 删除数据库是⼀个危险操作,不要随意删除数据库
  • 删除数据库之后,数据库对应的⽬录及⽬录中的所有文件也会被删除
  • 删除数据库之后,使⽤show databases;语句查看不到对应的数据库

        在此路径下,C:\ProgramData\MySQL\MySQL Server 8.0\Data,是MySQL的数据目录,里面包含了当前数据库服务管理的所有数据。如果我们把一个Excel文件看成是一个数据库,里面的每一行就可以看作是每一行数据。如果我们想删除一个数据库,那么对应的文件也会被删除。

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

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

相关文章

STM32基础教程——定时器

前言 TIM定时器(Timer):STM32的TIM定时器是一种功能强大的外设模块,通过时基单元(包含预分频器、计数器和自动重载寄存器)实现精准定时和计数功能。其核心原理是:内部时钟(CK_INT)或…

机器学习——KNN超参数

sklearn.model_selection.GridSearchCV 是 scikit-learn 中用于超参数调优的核心工具,通过结合交叉验证和网格搜索实现模型参数的自动化优化。以下是详细介绍: 一、功能概述 GridSearchCV 在指定参数网格上穷举所有可能的超参数组合,通过交叉…

细说卫星导航:测距定位原理

测距定位原理 1. 伪距测量技术 核心原理:卫星发射信号,用户接收并记录传播时间,乘以光速得到距离(伪距)。 技术细节: 信号传播路径分析 信号结构: 卫星信号包含三部分: 载波&…

19921 多重背包

19921 多重背包 ⭐️难度:中等 🌟考点:动态规划、背包问题 📖 📚 import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner;public class Main {static int N …

js逆向之断点调试

1.XHR/提取断点用法 当刷新页面时候,有大量请求,并且你无法定位参数信息的时候,或者参数被混淆无法搜到,可以用该方法,该方法是会捕获所有请求连接,然后我们通过连接过滤出自己想要的请求,然后…

如何用Deepseek制作流程图?

使用Deepseek制作流程图,本质上是让AI根据你的需求,生成相关流程图的代码,然后在流程图编辑器中渲染,类似于Python一样,ChatGPT可以生成代码,但仍需在IDE中执行。 你知道绘制流程图最高效的工具是什么吗&a…

ToDesk云电脑各类鼠标有什么区别?虚拟/3D/游戏鼠标等各有利

不知道各位在使用ToDesk云电脑的时候是否是有注意到,这其中的鼠标竟有多种名称、多种模式可以选,比如锁定鼠标、3D鼠标、游戏鼠标这几项。 那么这些不同名称的鼠标都代表什么意思呐,又应该怎么选择、怎么用呐?本篇内容小编就为大…

java项目之基于ssm的毕业论文管理系统(源码+文档)

项目简介 毕业论文管理系统实现了以下功能: 本毕业论文管理系统主要实现的功能模块包括学生模块、导师模块和管理员模块三大部分,具体功能分析如下: (1)导师功能模块:导师注册登录后主要功能模块包括个人…

【PCB工艺】晶体管的发展历史

晶体管被认为是20世纪最伟大的发明之一,因为没有晶体管就不会有现代电脑、手机或平板​​,你也无法阅读到这里的内容,因为不存在网络。 ——本文纯粹出于对过往奋斗在这个领域中科学家的缅怀。科学家有太多宝贵的思想和经验值得我们认真总结和…

HTML应用指南:利用GET请求获取猫眼电影日票房信息——以哪吒2为例

2025年春节档期,国产动画电影《哪吒之魔童闹海》(以下简称《哪吒2》)以颠覆性的叙事风格与工业化制作水准震撼登场,不仅刷新了中国动画电影的票房纪录,更成为全球影史现象级作品。影片凭借春节档期的爆发式开局、持续5…

Model Context Protocol:下一代AI系统集成范式革命

在2023年全球AI工程化报告中,开发者面临的核心痛点排名前三的分别是:模型与业务系统集成复杂度(58%)、上下文管理碎片化(42%)、工具调用标准化缺失(37%)。传统API集成模式在对接大语言模型时暴露明显短板:RESTful接口无法承载动态上下文,GraphQL缺乏工具编排能力,gR…

手写简单的Spring基于注解配置的程序

需求说明: 自己写一个简单的 Spring 容器, 通过读取类的注解(Component ControllerService Reponsitory) ,将对象注入到 IOC 容器,自己使用 IOAnnotaion反射集合 技术实现 思路分析: 一、新建一个包component并在包下创建bean类 …

使用selenium来获取数据集

使用selenium来获取数据集 1、下载最新的chrome浏览器与chromedriver.exe 查看chrome的版本,打开谷歌浏览器,点击右上角的三个点,然后点击【帮助】, 点击【关于Google Chrome】 然后去下载同样为134版本号的chromedriver.exe, 网址:https://googlechromelabs.github.…

(二)VMware:VMware虚拟机安装CentOS教程

目录 1、准备CentOS 7镜像1.1、官网镜像下载1.2、清华大学开源镜像下载​1.3、阿里云开源镜像下载 2、使用 VMware安装CentOS 72.1、创建虚拟机2.2、选择自定义安装2.3、硬件兼容性,保持默认2.4、选择下载的ISO镜像2.5、设置虚拟机名称以及存放磁盘位置2.6、按照需求…

【Agent】Dify Docker 安装问题 INTERNAL SERVER ERROR

总结:建议大家选择稳定版本的分支,直接拉取 master 分支,可能出现一下后面更新代码导致缺失一些环境内容。 启动报错 一直停留在 INSTALL 界面 我是通过 Docker 进行安装的,由于项目开发者不严谨导致,遇到一个奇怪的…

MySQL -- 复合查询

数据库的查询是数据库使用中比较重要的环节,前面的基础查询比较简单,不做介绍,可自行查阅。本文主要介绍复合查询,并结合用例进行讲解。 本文的用例依据Soctt模式的经典测试表,可以自行下载,也可以自己创建…

flutter 开发web端的性能优化

参考资料 Flutter for Web 首次首屏优化 ——JS 分片优化_main.dart.js-CSDN博客文章浏览阅读1.4k次。本文介绍了如何通过延迟加载组件和js分片优化Flutter for Web应用的加载速度。在实践中,通过按需加载减少js文件大小,使用并行加载提升加载效率。通过…

Java定时任务的三重境界:从单机心跳到分布式协调

《Java定时任务的三重境界:从单机心跳到分布式协调》 本文将以生产级代码标准,揭秘Java定时任务从基础API到分布式调度的6种实现范式,深入剖析ScheduledThreadPoolExecutor与Quartz Scheduler的线程模型差异,并给出各方案的性能压…

QT QML实现音频波形图进度条,可点击定位或拖动进度

前言 本项目实现了使用QT QML创建一个音频波形图进度条的功能。用户可以在界面上看到音频波形图,并且可以点击进度条上的位置进行定位,也可以拖动进度条来调整播放进度。可以让用户更方便地控制音频的播放进度,并且通过音频波形图可以直观地…

高速网络包处理,基础网络协议上内核态直接处理数据包,XDP技术的原理

文章目录 预备知识TCP/IP 网络模型(4层、7层)iptables/netfilterlinux网络为什么慢 DPDKXDPBFPeBPFXDPXDP 程序典型执行流通过网络协议栈的入包XDP 组成 使用 GO 编写 XDP 程序明确流程选择eBPF库编写eBPF代码编写Go代码动态更新黑名单 预备知识 TCP/IP…