当前位置: 首页 > news >正文

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

在这里插入图片描述

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤
📃个人主页 :阿然成长日记 👈点击可跳转
📆 个人专栏: 🔹数据结构与算法🔹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.lryc.cn/news/131706.html

相关文章:

  • 谈谈召回率(R值),准确率(P值)及F值
  • 【脚本推荐】网页字体渲染插件
  • c++——c/c++中的static和const
  • 解决git:‘remote-http‘ 不是一个 git 命令错误提示
  • 深度学习入门-3-计算机视觉-卷积神经网络
  • 前端面试:【闭包】JavaScript世界的神秘法术
  • Ubuntu20 ctrl+alt+T无法打开终端
  • leetcode 387.字符串中第一个唯一字符
  • 【三次握手】TCP三次握手由入门到精通(完整版)
  • Java 异步计算
  • 【FAQ】调用视频汇聚平台EasyCVR的iframe地址,视频无法播放的原因排查
  • ⛳ TCP 协议面试题
  • C 语言的字符串函数 puts()
  • Flutter如何知道页面/组件可见?
  • 【MySQL】如何使用Named Pipe协议(Windows)连接MySQL数据库
  • 【c++】c++的一些技术操作
  • JS中对象数组深拷贝方法
  • 2022数学建模国赛C题官网展示论文C155论文复现
  • 阿里云 K8s PVC 绑定 StorageClass 申领 PV 失败
  • php数组
  • 构造不包含字母和数字的webshell
  • 中国大学生服务外包创新创业大赛丨借 AI 之力,助“记账”难题
  • MacOS 安装Redis并设置密码
  • 函数的参数作为引用
  • 【文化课学习笔记】【化学】非金属及其化合物
  • Unity进阶–通过PhotonServer实现联网登录注册功能(客户端)–PhotonServer(三)
  • 步步向前,曙光已现:百度的大模型之路
  • 常见的 Python 错误及其解决方案
  • 文章评论以及回复评论邮件通知(Go 搭建 qiucode.cn 之八)
  • java面试基础 -- ArrayList 和 LinkedList有什么区别, ArrayList和Vector呢?