目录
一.数据库的操作
1.显示当前数据库
2.创建数据库
创建一个名为java44的数据库,如果系统没有 java44 的数据库,则创建一个使用utf8mb4字符集的java44数据库,如果有则不创建
(if not exists 表示先删除再创建,如果此时没有这个库就创建,有的话也不会报错)此时创建成功
3.使用数据库
use 数据库名;
4.删除数据库
drop databases [if exists] 数据库名;
此时名为java44的数据库被删除
二.常用数据类型
1.数值类型
数据类型 | 大小 | 说明 | 对应的java类型 |
BIT[(M)] | M指定位数,默认为1 | 二进制数,M范围从1-64,存储范围0-2^M-1 | bit |
TINYINT | 1字节 | byte | |
SMALLINT | 2字节 | Short | |
INT | 4字节 | Integer | |
BIGINT | 8字节 | Long | |
FLOAT(M,D) | 4字节 | 单精度,M为指定长度,D指定小数位,会发生精度丢失 | Float |
DOUBLE(M,D) | 8字节 | Double | |
DECIMAL(M,D) | M/D最大值+2 | 双精度,M为指定长度,D为小数位,精确数值 | BigDecimal |
NUMERIC(M,D) | M/D最大值+2 | 双精度,M为指定长度,D为小数位,精确数值 | BigDecimal |
1字节(byte)= 8bit
对于整型类型的范围:
1. 有符号范围:-2^(类型字节数*8-1)到2^(类型字节数*8-1)-1,如int是4字节,就
是-2^31到2^31-1
2. 无符号范围:0到2^(类型字节数*8)-1,如int就是2^32-1
2.字符串类型
数据类型 | 大小 | 说明 | 对应的java类型 |
VARCHAR(SIZE) | 0-65535字节 | 可变字符串长度 | String |
TEXT | 0-65535字节 | 长文本数据 | String |
MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 | String |
BLOB | 0-65535字节 | 二进制形式的长文本数据 | byte[] |
3.日期类型
数据类型 | 大小 | 说明 | 对应的java类型 |
DATETIME | 8字节 | 不会进行时区的检索及转换 | jav.util.Date java.sql.Timestamp |
TIMESTAMP | 4字节 | 自动检索当前时区并且转换 | java.util.Date、 java.sql.Timestamp |
三.表的操作
需要操作数据库的表时,需要先使用该数据库
use 数据库名;
1.查看表结构
desc 表名;
2.创建表
create table 表名(
field1 datatype,
field2 datatype,
field3 datatype
);
注:这里是与java相反的,先写字段名称在写数据类型,多个字段之间用逗号隔开,最后一个不要加逗号,数据库名,表名,字段名不能是数据库关键字,(如果要是用数据库关键字,例如`desc` bit,给关键字左右两边加上键盘1旁边这个按钮的字符便不会报错)
例如(建议先删除在建表)
查看此表
(可以下载一个visual studio code 在上面编辑好然后复制粘贴,在一行前面加上--空格表时注释 )
四.表的增删查改
1.插入数据
1.全列插入:insert into 表名valus(字段1要插入的值,字段2要插入的值)
表示所有的字段都要插入值,且插入的值与表定义时插入的顺序相同
2.指定列插入: insert into 表名(要插入的字段1,要插入的字段2)values(要插入的值1,要插入的值2)(没有插入的字段为null)
3.插入多行数据:执行多条insert语句
2.指定列查询
查询该表的所有字段和数据:select * from 表名
查询指定列:select 查询列1,查询列2 from 表名
如果字段是数值型,可以使用运算符计算
查询出来的多行数据叫做查询结果集,并不等于原始数据库中的那张二维表,可以认为查询表为虚拟表,但此时amount*2作为字段名并好看,我们可以使用别名(表名也可以使用别名,当表使用了别名,字段名必须写成:表的别名.字段名)
在mysql中不能使用‘+’作为字符串拼接,需要使用contact(str1,str2,str3)
对日期的操作
3.去重
此时就不能去重