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

在这里插入图片描述


个人主页 :阿然成长日记 点击可跳转
个人专栏: 数据结构与算法C语言进阶
不能则学,不知则问,耻于问人,决无长进

前言:

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

✉️一、何为安装MySQL

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

二、什么是字符集⛎

1.字符集分类

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

字符集名称 占用字节数
ASCII 1
gbk 1 ~ 2
utf8 1 ~ 3
utf8mb4 1 ~ 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:指定校对规则;
【MySQL系列】SQL语句入门(创建删除操作)、字符集和数据类型详解_第1张图片

3.❗️注意:

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

4.显示所有数据库:

1️⃣显示数据库:show databases 注意+s【MySQL系列】SQL语句入门(创建删除操作)、字符集和数据类型详解_第2张图片
2️⃣显示数据可创建语句:show create database 数据库名称
【MySQL系列】SQL语句入门(创建删除操作)、字符集和数据类型详解_第3张图片

四、数据库的删除

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

1.格式:

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

2.例子:

删除数据库lhr_db02。 看下图已经没有了。
【MySQL系列】SQL语句入门(创建删除操作)、字符集和数据类型详解_第5张图片

❌注意:慎重使用

五、数据类型

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[时间戳]

你可能感兴趣的:(数据库,mysql,sql,adb)