【重学 MySQL】八、MySQL 的演示使用和编码设置

news2024/9/22 3:45:33

【重学 MySQL】八、MySQL 的演示使用和编码设置

  • MySQL 的使用演示
    • 登录 MySQL
    • 查看所有数据库
    • 创建数据库
    • 使用数据库
    • 创建表
    • 插入数据
    • 查询数据
    • 删除表或数据库
    • 注意事项
  • MySQL 的编码设置
    • 查看 MySQL 支持的字符集和排序规则
    • 服务器级别的编码设置
    • 数据库级别的编码设置
    • 表级别的编码设置
    • 列级别的编码设置
    • 连接级别的编码设置

在这里插入图片描述

MySQL 的使用演示

MySQL 的使用演示可以涵盖多个方面,包括登录数据库、查看数据库和表、创建数据库和表、插入数据、查询数据以及删除数据库和表等。以下是一个简要的演示过程:

登录 MySQL

首先,你需要登录到 MySQL 数据库。这可以通过 MySQL 自带的命令行客户端或其他图形界面工具完成。以命令行客户端为例,你可以使用以下命令登录(以 root 用户为例,密码为 your_password):

mysql -u root -p

输入命令后,系统会提示你输入密码。输入密码后,如果认证成功,你将进入 MySQL 的命令行界面。

查看所有数据库

登录后,你可以使用 SHOW DATABASES; 命令查看服务器上所有的数据库。这个命令会列出所有可用的数据库,包括 MySQL 系统自带的数据库,如 information_schemamysqlperformance_schemasys

创建数据库

接下来,你可以创建一个新的数据库。使用 CREATE DATABASE 语句后跟数据库名来创建数据库。例如,创建一个名为 testdb 的数据库:

CREATE DATABASE testdb;

使用数据库

在创建数据库后,你需要使用 USE 语句来选择这个数据库,以便在其中创建表或执行其他操作。例如,选择 testdb 数据库:

USE testdb;

创建表

在选择了数据库后,你可以创建表。使用 CREATE TABLE 语句后跟表名和列定义来创建表。例如,创建一个名为 employees 的表,包含 idname 两个字段:

CREATE TABLE employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL
);

插入数据

表创建好后,你可以向表中插入数据。使用 INSERT INTO 语句后跟表名和要插入的数据来插入数据。例如,向 employees 表中插入两条记录:

INSERT INTO employees (name) VALUES ('Alice');
INSERT INTO employees (name) VALUES ('Bob');

注意,由于 id 字段被设置为自增主键,因此在插入数据时不需要指定 id 的值。

查询数据

你可以使用 SELECT 语句来查询表中的数据。例如,查询 employees 表中的所有记录:

SELECT * FROM employees;

删除表或数据库

如果你不再需要某个表或数据库,可以使用 DROP TABLEDROP DATABASE 语句来删除它们。例如,删除 employees 表:

DROP TABLE employees;

或者删除 testdb 数据库(注意:这将删除数据库中的所有表和数据):

DROP DATABASE testdb;

注意事项

  • 在执行删除操作(如 DROP TABLEDROP DATABASE)时,请务必小心,因为这些操作会永久删除数据。
  • 在创建表或插入数据时,请确保数据类型和约束条件符合你的需求。
  • MySQL 的使用演示还可以包括更复杂的操作,如索引的创建、用户权限的管理等,这些操作可以根据具体需求进行学习和实践。

以上就是一个基本的 MySQL 使用演示过程。通过这个过程,你可以了解如何在 MySQL 中进行基本的数据库和表操作。

MySQL 的编码设置

MySQL 的编码设置对于数据库的存储、检索以及字符的正确显示至关重要。编码决定了字符如何在数据库中表示,特别是在处理多语言数据时。MySQL 支持多种字符集(Character Set)和排序规则(Collation),这些都可以在数据库、表、列甚至连接级别上进行设置。

查看 MySQL 支持的字符集和排序规则

要查看 MySQL 支持的所有字符集和排序规则,你可以使用以下 SQL 命令:

SHOW CHARACTER SET;
SHOW COLLATION;

服务器级别的编码设置

服务器级别的编码设置会影响所有新创建的数据库,但它不会改变已经存在的数据库的编码。你可以在 MySQL 的配置文件(通常是 my.cnfmy.ini,取决于你的操作系统)中设置这些值:

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

这里,utf8mb4 是一个支持 Unicode 的字符集,它能够存储任何字符(包括 emoji),而 utf8mb4_unicode_ci 是一种不区分大小写的排序规则。

修改配置文件后,你需要重启 MySQL 服务来使设置生效。

数据库级别的编码设置

在创建新数据库时,你可以指定其字符集和排序规则:

CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

如果你已经有一个数据库,并且想要更改其字符集和排序规则,你可以使用 ALTER DATABASE 命令(但请注意,并非所有 MySQL 版本都支持此命令,且它可能不会更改现有表的字符集):

ALTER DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

表级别的编码设置

在创建新表时,你可以指定其字符集和排序规则:

CREATE TABLE mytable (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

对于已存在的表,你可以使用 ALTER TABLE 命令来更改其字符集和排序规则:

ALTER TABLE mytable CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

列级别的编码设置

虽然 MySQL 不允许直接在列级别设置字符集(列将继承表的字符集),但你可以通过指定排序规则来影响列级别的比较行为。然而,这通常不是必需的,因为表级别的字符集和排序规则已经足够满足大多数需求。

连接级别的编码设置

在连接到 MySQL 服务器时,你可以通过指定字符集来设置连接级别的编码。这可以通过在连接字符串中添加 charset 参数(在命令行客户端或某些编程语言的数据库连接库中)来实现,或者在会话开始时使用 SQL 命令:

SET NAMES 'utf8mb4';

SET NAMES 命令不仅设置了客户端发送数据到服务器时使用的字符集,还设置了服务器返回数据到客户端时使用的字符集,以及连接使用的排序规则。

总之,正确设置 MySQL 的编码对于确保数据的正确性和一致性至关重要。你应该根据你的应用需求和存储的数据类型来选择合适的字符集和排序规则。

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

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

相关文章

Python3.8绿色便携版嵌入式版制作

Python 的绿色便携版有两种:官方 Embeddable 版本(嵌入式版);安装版制作的绿色版。Embeddable 版适用于需要将 Python 集成到其他应用程序或项目中的情况,它不包含图形界面的安装程序,只提供了 Python 解释器和必要的库文件。安装版包含了 Python 解释器、标准库和其他一些…

基于ssm+vue+uniapp的高校课堂教学管理系统小程序

开发语言:Java框架:ssmuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:M…

8. GIS数据分析师岗位职责、技术要求和常见面试题

本系列文章目录: 1. GIS开发工程师岗位职责、技术要求和常见面试题 2. GIS数据工程师岗位职责、技术要求和常见面试题 3. GIS后端工程师岗位职责、技术要求和常见面试题 4. GIS前端工程师岗位职责、技术要求和常见面试题 5. GIS工程师岗位职责、技术要求和常见面试…

Ferrari求解四次方程

参考: 1) https://proofwiki.org/wiki/Ferrari’s_Method#google_vignette 2)https://blog.csdn.net/qq_25777815/article/details/85206702

【精彩回顾·成都】COC 成都阿里云 CMeet:AIGC 创新应用技术实践!

文章目录 前言一、活动介绍二、精彩分享内容及活动议程2.1、《COC 成都社区情况和活动介绍》2.2、《浅谈 AIGC 商业化》2.3、《通义大模型与 AI 技术在各行业领域的实践与探索》2.4、《话题一:AIGC 在内容创作领域的革新》2.5、《话题二:AIGC 在技术与工…

【ubuntu使用笔记】nvme磁盘挂载失败问题记录

no object for d-bus interface 问题 no object for d-bus interface 解决方法 systemctl --user restart gvfs-udisks2-volume-monitor文件格式错误 问题 解决方法 sudo ntfsfix /dev/nvme4 sudo mount /dev/nvme4 soft/

828华为云征文|基于Flexus X实例云服务器的实际场景-等保三级服务器设置

🔴大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂 先看这里 写在前面3️⃣mysql创建安全管理员、审计管理员✅解决方法增加安全管理员增加审计管理员账户❌问题描述✅解决方法 3️⃣linux登录失败问题❌问题描述✅解决方法 3️…

ARM N2微架构介绍

简介 之前在“ARM V2处理器微架构介绍”一文中介绍了面向服务器、云计算等应用的ARM V2处理器微架构,V系列具有更强性能,N系列强调性能和功耗等方向的平衡,本文就将介绍一下ARM N2处理器微架构相比较前代的一些提升。尽管ARM还具备一代N1/V1…

【论文阅读】CiteTracker: Correlating Image and Text for Visual Tracking

paper:NorahGreen/CiteTracker: [ICCV23] CiteTracker: Correlating Image and Text for Visual Tracking (github.com) code:NorahGreen/CiteTracker: [ICCV23] CiteTracker: Correlating Image and Text for Visual Tracking (github.com) 简介 现有…

我与Linux的爱恋:Linux的基本指令

​ ​ 🔥个人主页:guoguoqiang. 🔥专栏:Linux的学习 Linux的指令介绍 1.1 pwd pwd用来查看当前目录 1.2 ls指令 ls[选项][目录或文件] 对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息 -a 列出目录下的所有文件,包括以 …

对一个已经运行的LabVIEW VI进行控制

要对一个已经运行的LabVIEW VI进行控制,可以采用多种方法,这取决于你想要控制的内容以及具体的应用场景。以下是几种常见的实现方式: 1. 使用全局变量或功能全局变量(FGV) 方法: 你可以创建全局变量或功能全局变量&am…

【揭秘】AdaBoost:那些年,我们一起追过的算法

在往期文章机器学习进阶之路:集成学习带你走向巅峰和揭秘Bagging与随机森林:构建更强大预测模型的秘密中,我们总结了集成学习的原理,并展开介绍了集成学习中Bagging和随机森林这一分枝算法,在本篇博客中,我…

BUUCTF—[BJDCTF2020]The mystery of ip

题解 打开环境点击上面的flag可以看到这个IP页面。 抓个包看看有啥东西无,可以看到在返回包有IP。 看到IP就想到X-Forwarded-For这个玩意,我们用X-Forwarded-For随便添加个IP看看。可以看到返回的IP内容变成了123。 X-Forwarded-For:123 推测它会输出我…

Java-数据结构-ArrayList-练习 ψ(*`ー´)ψ

目录: 一、练习一(删除str1中str2出现的元素): 二、练习二(杨辉三角): 三、练习三(简单的洗牌算法): 总结: 一、练习一(删除str1中str2出现的元素): 我们…

Apple 重發iOS 17.6.1 修正版

蘋果又再次替 iPhone 和 iPad 用戶釋出 iOS 17.6.1更新(21G101),這次更新與8日所推出的 iOS 17.6.1 正式版相同,官方在更新說明內也沒有提到任何修改,依舊是維持修正進階資料保護的問題 iOS 17.6.1 更新修正版內容重點…

JavaEE-HTTPHTTPS

目录 HTTP协议 一、概念 二、http协议格式 http请求报文 http响应报文 URL格式 三、认识方法 四、认识报头 HTTP响应中的信息 HTTPS协议 对称加密 非对称加密 中间人攻击 解决中间人攻击 HTTP协议 一、概念 HTTP (全称为 "超⽂本传输协议") 是⼀种应⽤…

深度学习应用 - 自然语言处理(NLP)篇

序言 在信息技术的浩瀚星空中,深度学习犹如一颗璀璨的新星,正引领着人工智能领域的深刻变革。作为这一领域的核心分支,自然语言处理( NLP \text{NLP} NLP)更是借助深度学习的力量,实现了前所未有的飞跃。自…

4. GIS前端工程师岗位职责、技术要求和常见面试题

本系列文章目录: 1. GIS开发工程师岗位职责、技术要求和常见面试题 2. GIS数据工程师岗位职责、技术要求和常见面试题 3. GIS后端工程师岗位职责、技术要求和常见面试题 4. GIS前端工程师岗位职责、技术要求和常见面试题 5. GIS工程师岗位职责、技术要求和常见面试…

开源还是封闭?人工智能的两难选择

这篇文章于 2024 年 7 月 29 日首次出现在 The New Stack 上。人工智能正处于软件行业的完美风暴中,现在马克扎克伯格 (Mark Zuckerberg) 正在呼吁开源 AI。 关于如何控制 AI 的三个强大观点正在发生碰撞: 1 . 所有 AI 都应该是开…

SpringCloud开发实战(四):Feign远程调用

目录 SpringCloud开发实战(一):搭建SpringCloud框架 SpringCloud开发实战(二):通过RestTemplate实现远程调用 SpringCloud开发实战(三):集成Eureka注册中心 Feign简介 我…