【MySQL系列】SQL语句入门(创建删除操作)、字符集和数据类型详解

news/2024/5/20 12:28:56/文章来源:https://blog.csdn.net/luhaoran814/article/details/132391138

在这里插入图片描述

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤
📃个人主页 :阿然成长日记 👈点击可跳转
📆 个人专栏: 🔹数据结构与算法🔹C语言进阶
🚩 不能则学,不知则问,耻于问人,决无长进
🍭 🍯 🍎 🍏 🍊 🍋 🍒 🍇 🍉 🍓 🍑 🍈 🍌 🍐 🍍

前言:

哈喽,大家好💓,在上一篇博客中,大致讲解了数据库的相关知识,它的作用、定义、分类等等。从本篇博客开始,将详细讲解关系型数据库MySQL的操作与使用,以及SQL语句的讲解。

✉️一、何为安装MySQL

🔷所谓的安装MySQL就是给主机安装数据库管理系统DBMS(database manage system),这个管理程序可以管理多个数据库
🔷一个数据库中可以存放多张表,来保存数据

二、什么是字符集⛎

1.字符集分类

字符集是一套符合和编码,校验规则(collation)是在字符集内用于比较字符的一套规则,即字符集的排序规则。MySQL可以使用对种字符集和检验规则来组织字符。

字符集名称占用字节数
ASCII1
gbk1 ~ 2
utf81 ~ 3
utf8mb41 ~ 4

ASCII字符集:只收录了128个字符,包括空格,标点符号,数字,大小写字母和一些不可见字符,不能表示中文。采用一个字节表示

gbk字符集:收录了汉字(6763个)以及拉丁字母、希腊字母、日文、俄文等字符,同时这种字符集又兼容ASCII字符集。当字符再ASCII字符集表示范围内的话就采用一个字节表示,否则采用两个字节表示

utf8字符集:在MySQL中utf8字符集是经过MySQL设计者阉割过后的字符集(为了尽可能省空间),该字符集最大使用3个字节来表示一个字符,不可以存储表情或某些非常特殊的字符,在数据库字符集、表字符集、列字符集等选型的时候需要注意了。

utf8mb4字符集:MySQL一般建议使用utf8mb4字符集,该字符集最大使用4个字节来表示一个字符,可以存储表情或某些非常特殊的字符
补充:每个国家之间的编码不同,也存在着一些跨平台的问题,制定了一些国际通用的编码,最常用的就是UTF8,UTF8对世界上所有的语言文字做了编码

注意:我们主要学习的MySQL目前支持多字符集,并且,支持在不同的字符集之间转换(便于移植和支持多语言)。

2.字符集的校对规则:

以字符集名称开头,以_ci(不区分大小写)_cs(区分大小写)或_bin(二进制文件)结尾。
例如:

Utf8_bin:区分大小写 、
utf8_general_cs区分大小写
Utf8_general_ci 不区分大小写,将字符串每个字符串用二进制数据编译存储.

🔉三、数据库的创建

1.格式:

语句:create dabase 数据库名称 默认utf8\utf8_general_c

2.实例:

例1:创建一个使用utf8字符集,并且带校对规则的数据库
create database lhr_db02 character set utf8 collate utf8_bin
说明:
character set :指定字符集;
collate:指定校对规则;
在这里插入图片描述

3.❗️注意:

在创建数据库时或是表,为了起名,使用英文‘'‘'(在左上角)反引号可以用来规避关键字。

4.📺显示所有数据库:

1️⃣显示数据库:show databases 注意+s在这里插入图片描述
2️⃣显示数据可创建语句:show create database 数据库名称
在这里插入图片描述

四、数据库的删除

在这里插入图片描述

1.格式:

删除数据库指令:DROP DATABASE 数据库名称

2.例子:

删除数据库lhr_db02。 看下图已经没有了。
在这里插入图片描述

❌注意:慎重使用

五、数据类型

Mysql数据类型(列类型):

数值类型:

1.整形:

🔸tinyint[1个字节]
🔸 smallint[2个字节]
🔸Mediumint [3个字节]
🔸int[4个字节]
🔸bigint[8个字节]

2.小数类型:

🔸 float[单精度4个字节]
🔸double[双精度8个字节]
🔸 decimal[M,D] (M是位数总和(最大65|默认10),D是小数点后的位数(最大30|默认00)
分signed和unsigned;默认是有符号的

3. 文本类型(字符串类型):

🔸char[0-255]:固定长度,最长255字符
🔸 varchar[0-65535(2^16-1) ]==🔸Text[0-0-65535(2^16-1)]:可变字符串长度,最大65532字节因为需要1-3个字节表示用于记录varchar里面存放大小,所以65535-3=65532utf8编码最大是65532/3=21844,jbk编码是两个字节表示一个字符因为utf8编码是三个字节表示一个字符

❗️注意:varchar(m),这里的表示是m个字符不是字节具体一个字符占用几个字节要看使用的是什么编码,注意varchar是一个可变字符串,具体放几个字符,就占用几个位(具体一个一个字符占用几个)

     查询速度:char>varchar;定长用char,例如:手机号,身份证号 Longtext[0-2^32-1]

4.二进制数据类型:

🔹blob[0-2^16-1]:bit(m),m的范围是1-64,代表几个比特位 longblob[0-2^32-1],

5.时间类型:

🔹date[年月日]
🔹 time[时分秒]
🔹datetime[年月日时分秒]
🔹timestamp[时间戳]

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

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

相关文章

HummingBird 基于 Go 开源超轻量级 IoT 物联网平台

蜂鸟(HummingBird) 是 Go 语言实现的超轻量级物联网开发平台,包含设备接入、产品管理、物模型、告警中心、规则引擎等丰富功能模块。系统采用GoLang编写,占用内存极低, 单物理机可实现百设备的连接。 在数据存储上&…

就算没有那个所谓的“国产保护月”,好莱坞电影也打不过中国电影

据路透社、美国文娱杂志《Variety》网站等18日报道,中国大陆暑期档票房在17日就已经超过了2019年同期的178亿元人民币,提前14天锁定了“史上最强暑期档”。这一份傲人的成绩单中,西方好莱坞电影所起到的作用却“微乎其微”。 更令人尴尬的是…

AI项目二:基于mediapipe的虚拟绘画

若该文为原创文章,转载请注明原文出处。 一、项目介绍 随着人工智能时代的到来,许多技术得到了空前的发展,让人们更加认识到了线上虚拟技术的强大。 通过mediapipe识别手的关键点,检测中指,实现隔空画画的操作。 通…

【LeetCode-中等题】128. 最长连续序列

题目 题解一:HeshSet枚举 思路:先对数组进行set去重,核心就是,先找出临界值(假设以最小临界为例,那么这个临界值自己就是最小值,),以临界值不断做加1操作,看…

Excel/PowerPoint条形图改变顺序

条形图是从下往上排的,很多时候不是我们想要的效果 解决方案 选择坐标轴,双击,按下图顺序点击 效果

常见的 Python 错误及其解决方案

此文整理了一些常见的 Python 错误及其解决方案。 1、SyntaxError: invalid syntax 说明:无效的语法是最常见的错误之一,通常是由于编写代码时违反了 Python 的语法规则。可能的原因: 忘记在 if、while、for 等语句后写冒号,或者…

跟着NC学作图 | 使用python绘制折线图

写在前面 今天分享一篇使用Python绘制折线图的教程,在我们前提的教程中,关于使用R语言绘制折线图的教程也很少,跟着PC学作图 | 小提琴图Tufte箱形图折线图的绘制教程也只有相关一部分。 Python自己也是一直在学习,那么也就顺带分…

Python编程基础-函数

函数定义与调用 将完成某一特定功能并经常使用的代码编写成函数,在需要使用时直接调用 def 函数名(函数参数): 函数体 return 表达式或者值 def printHello(): #打印hello字符串print (hello)def printNum(): #输出0--9数字for i in range(0,10):print (i)return…

vue3 setup语法糖导入mixin

像这样直接导入,然后通过defineOptions声明mixin 然后就可以在这个组件使用mixin里的数据和方法了

java面试基础 -- ArrayList 和 LinkedList有什么区别, ArrayList和Vector呢?

目录 基本介绍 有什么不同?? ArrayList的扩容机制 ArrayLIst的基本使用 ArrayList和Vector 基本介绍 还记得我们的java集合框架吗, 我们来复习一下, 如图: 可以看出来 ArrayList和LinkedList 都是具体类, 他们都是接口List的实现类. 但是他们底层的逻辑是不同的, 相信…

攻防世界-warmup

原题解题思路 只有一张图片,就查看源代码,有一个source.php。 查看source.php,白名单中还有一个hint.php。 hint.php告诉我们flag的位置ffffllllaaaagggg 但是直接跳转是没用的,构造payload。 http://61.147.171.105:55725/sourc…

新版QQ NT 桌面版如何实现内存优化

一、背景 QQ 作为国民级应用,从互联网兴起就一直陪伴着大家,是很多用户刚接触互联网就开始使用的应用。而 QQ 桌面版最近一次技术架构升级还是在移动互联网兴起之前,在多年迭代过程中,QQ 桌面版也积累了不少技术债务,随着业务的发展和技术的进步,当前的架构已经无法很好…

编译老版本c++程序 报错 msvcrt.dll 以及 0x000000 内存 不能为 “read“ 问题 已解决

一般 win10 编译 xp对应老版本软件 调试采用 虚拟机形式进行测试,但是虚拟机中,无独立显卡,运行程序提示有,无法调用动态库,或者 内存无法读取,炸一看以为 winxp32位 内存识别只能3.7G.其实是显存无法使用…

fedora

比起浑混噩噩地去追逐不想要的东西,还是做点自己想做的更meaningfu l about firewall well, I don’t know how to use fedora firewall,but it I come up with that I can use ubuntu’s ufw for blocking evil connection, download wps extremely boredness d…

从LeakCanary看如何判断对象被回收了

前面已经了解了Service,Fragment,ViewModel对象的销毁时机,那么在触发销毁时机后,我们怎么判断这些对象有没有回收呢? 大家都知道在Java中有强引用,弱引用,软引用,虚引用四种引用方…

【MySQL】JSON 格式字段处理

MySQL 5.7 版本后已支持 JSON 格式,这虽是 MySQL 的一小步,但可以说是程序开发的一大步,再也不用将 JSON 内容塞到 VARCHAR 类型字段了,程序设计也会变得更加灵活。网上大多只针对JSONObject 对象类型,本文也将详解 JS…

md文本学习

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

Pixar、Adobe 和苹果等成立 OpenUSD 联盟推行 3D 内容开放标准

导读Pixar、Adobe、Apple、Autodesk 与 NVIDIA 联手 Linux 基金会旗下的联合开发基金会(JDF)宣布建立 OpenUSD 联盟(AOUSD)以推行 Pixar 创建的通用场景描述技术的标准化、开发、进化和发展。 联盟寻求通过推进开放式通用场景描述…

博客系统之功能测试

博客系统共有:用户登录功能、发布博客功能、查看文章详情功能、查看文章列表功能、删除文章功能、退出功能 1.登录功能: 1.1测试对象:用户登录 1.2测试用例 方法:判定表 用例 编号 操作步骤预期结果实际结果截图1 1.用户名正确…