作者主页:paper jie_博客
本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。
本文录入于《MySQL》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造,将MySQL基础知识一网打尽,希望可以帮到读者们哦。
其他专栏:《算法详解》《C语言》《javaSE》《数据结构》等
内容分享:本期将会分享MySQL的一些基本知识和操作
目录
数据库常用的数据类型
数值类型
字符串类型
日期类型
数据库的操作
显示数据库
创建数据库
使用数据库
删除数据库
表的操作
使用数据库
查看表结构
创建表
删除表
总结
这里的分为整形和浮点型
数据类型 | 大小 | 说明 | 对应Java类型 |
bit[(m)] | m为指定位数,默认为1 | 二进制数,m范围从1到64,存储数值范围从0到2^m-1 | 常用Boolean对应bit,此时默认是1位,只能存0和1 |
tinyint | 1字节 | Byte | |
smallint | 2字节 | Short | |
int | 4字节 | Integer | |
bigint | 8字节 | Long | |
float(M,D) | 4字节 | 单精度浮点型,M指定长度,D指定小数位数,会发生精度丢失 | Float |
double(M,D) | 8字节 | 双精度浮点型,M指定长度,D指定小数位数,会发生精度丢失 | Double |
decimal(M,D) | M/D最大值+2 | 双精度,M指定长度,D表示小数点位数,精确数值 | BigDecimal |
numerlc(M,D) | M/D最大值+2 | 双精度,M指定长度,D表示小数点位数,精确数值 | BigDecimal |
这里注意:
数值类型可以指定为无符号unsigned,表示不取负数
1字节(bytes) = 8bit
整形类型的范围:
1 有符号范围:-2^(类型字节数*8-1)到2^(类型字节数*8-1) -1
2 无符号类型范围:0到2^(类型字节数*8-1) -1
这里我们其实可以不使用unsigned,因为对于int类型放不下的数据,int unsigned也放不下,这样的话,还不如将int类型升级为bigint类型
数据类型 | 大小 | 说明 | 对应Java类型 |
varchar(size) | 0 ~ 65535字节 | 可变长度字符串 | String |
text | 0 ~ 65535字节 | 长文本数据 | String |
mediumtext | 0 ~ 16777215字节 | 中等长度文本数据 | String |
blob | 0 ~ 65535字节 | 二进制形式的长文本数据 | byte[] |
我们一般字符串类型使用varchar就足够了
数据类型 | 大小 | 说明 | 对应Java类型 |
datetime | 8字节 | 范围从1000到9999年,不会进行时区的检索和转换 | java.uti.Data java.sql.Timestamp |
timestamp | 4字节 | 范围从1970到2038年,自动检索当前时区并进行转换 | java.uti.Data java.sql.Timestamp |
这里建议使用datetime,因为timestamp这个时间戳快结束了,到2038年就不能使用了
show databases;
create database 数据库名;
这里还需要注意一个点:我们创建字符集的时候,系统默认使用字符集:utf8,我们也可以自己指定字符集
create database 数据库名 set utf8;
字符集有几种常用的:
1 GBk 两个字节表示一个中文,Windows上的简易中文版就是默认使用的GBk,因为GDK最多只能表示6万多个不同的字符,中文加起来差不多就是万多个,其他的语言就表示不了了
2 utf8 它是一种变长编码,可以是1个字节,2个字节,3个字节.....,汉字是三个字节,这样子就可以表示多种语言了
3 utf8mb4 是utf8的补全,补全了utf8不能表示emoji表情的缺陷
4 unicode java中的char使用的就是unicode,但是String使用的是utf8,因为unicode只能表示单个字符,将多个unicode表示的字符放在一起,它是区分不了哪里是哪个字,就像没有标点符号一样
这里建议在编码的时候使用utf8mb4,因为utf8没有包含一些复杂的中文字符
use 数据库名;
drop database 数据库名;
这里要注意: 数据库删除后,是很难恢复的,在以后工作中,这个操作需要万分谨慎!!!!!!!
这里大家可以理解一下里面的关系:
操作数据库中的表时,需要先使用该数据库:
use 数据库名;
desc 表名;
create table 表名(field1 类型, field2 类型);
drop table 表名;
常用的数据类型:
整形:int
浮点数类型: deximal(M,D)
字符串类型: varchar(size)
日期类型: datetime
操作数据库:
显示: show databases;
创建: create database 数据库名;
使用: use 数据库名;
删除: drop 数据库名;
操作表:
显示表: desc 表名;
创建表: create table 表名;
删除表: drop 表名;