目录
数据库概念
数据库是一个软件(是一类软件):这一类软件功能就是"管理数据".实现数据库软件的内部,会广泛的使用到各种数据结构.
数据库管理的数据一般保存在硬盘上.也有少数数据库,是把数据存在内存中的(Redis,Tair…)
MySQL就是一个具体的数据库软件.MySQL这个数据库,是一个"客户端-服务器"结构的程序.
主动发起请求的一方,称为客户端.
被动接受请求的一方,称为服务器.
客户端给服务器发送的数据,称为“请求".
服务器给客户端返回的数据,称为"响应"
通过SQL来操作"数据库”,此处的数据库指的是一个
MySQL
服务器上,所管理的一个独立的数据集合.
一个独立的分组(数据集合)就称为是一个数据库.一个MySQL服务器上可以管理多个数据库.
内存和外存的区别
1.内存的存储空间较小(8G,16G),外存的存储空间较大(512G,1T).
2.内存的访问速度快,外存的访问速度慢.(大概要差3-4个数量级).
3.内存成本高,外存成本低.
4.内存中的数据,断电后消失.外存中的数据,断电后还在.
一、数据库基本操作
1.1 显示当前的数据库
showdatabases;
1.2 创建数据库
createdatabase 数据库名字;
数据库的名字,可以随便起,但是不能是
SQL
中的关键字.(如果实在要使用关键字,可以使用``引起来(
esc
下面,
1
前面的那个键)).
- 如果系统没有
db_test2
的数据库,则创建一个名叫db_test2
的数据库,如果有则不创建:
createdatabaseifnotexists db_test2;
createdatabaseifnotexists db_test2 characterset utf8mb4;
character set
:指定数据库采用的字符集.
utf8mb4
:这里是数字和汉字的对应关系,表格是存在多个版本的.常用的主要是两个版本:1.GBK , 2.UTF-8
这是当前最主要使用的汉字编码方式.
1.3 使用数据库
use 数据库名;
1.4 删除数据库
数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除.
dropdatabase[ifexists] 数据库名;
二、常用数据类型
像
MySQL, Oracle, SQL Server
都是按照表格来组织.称为"关系型数据库"
像
Redis,HBase, MongoDB
不要求按照表格方式组织(类似于文档/键值对)称为“非关系型数据库".
一个数据库中,可以有很多个数据表.
每个数据表有很多行.每一行称为是一条"记录",每一行又有很多列,每一列称为是一个“字段".
MySQL这样的数据库,就要求每一行这里的列都是一致的.(第一行是三列,第二行也是三列-….每一行都是三列.第一行的第一列是一个整数,第二行的第一列也是一个整数……第一行的第二列是一个字符串,第二行的第二列也是一个字符串…)
为了描述这个数据表中的列的信息,在创建数据表的时候,就需要指定"表头"(表头就是一个表格第一行的那个描述信息).
2.1 数据类型
分为整型和浮点型:
数据类型大小说明对应java类型bit[(m)]m指定位数,默认为1二进制数,M范围从1到64,存储数值范围从0到2^M-1常用Boolean对应BIT,此时默认是1位,即只能存0和1tinyint1字节Bytesmallint2字节Shortint4字节Integerbigint8字节Longfloat(M,D)4字节单精度,M指定长度,D指定小数位数。会发生精度丢失Floatdouble(M,D)8字节Doubledecimal(M,D)M/D最大值+2双精度,M指定长度,D表示小数点位数。精确数值BigDecimalnumeric(M,D)M/D最大值+2双精度,M指定长度,D表示小数点位数。精确数值BigDecimal
2.2 字符串类型
数据类型大小说明对应java类型varchar(size)0-65535字节可变长度字符Stringtext0-65535字节长文本数据Stringmediumtext0-16777215字节中等长度文本数据Stringblob0-65535字节二进制形式的长文本数据Byte[]
varchar
可以根据实际需要,来指定要占用多少空间(SIZE的单位是字符)一个字符可能是由多个字节构成的.
BLOB
用于表示二进制的数据
.mp3
文件,
jpg
文件,
.class
…都属于二进制文本件
.txt,java,.c
都属于文本文件.
2.3 日期类型
数据类型大小说明对应java类型datatime8字节范围从1000到9999年,不会进行时区的检索及转换.java.util.Date. java.sql.Timestamptimestamp4字节范围从1970到2038年,自动检索当前时区并进行转换。java.util.Date. java.sql.Timestamp
三、表的操作
需要操作数据库中的表时,需要先使用该数据库:
3.1 创建表
createtable 表名(列名 类型,列名 类型,...)
示例:
创建表的时候,可以使用
comment
来给某个列后面加上注释.
在代码中表示"钱”一般有两种方式:
1.使用
Decimal/BigDecimal
⒉使用
int
(单位是分即可)这是一个常见的手段~(运算效率要比
Decimal
高很多)
3.2 查看表
showtables;
示例:
3.3 查看表的结构
desc 表名;
3.4 删除表
droptable[ifexists] 表名;
示例:
以上.
版权归原作者 来学习的小张 所有, 如有侵权,请联系我们删除。