MySQL之增删查改

目录

目录

一.数据库的操作

1.显示当前数据库

2.创建数据库

 3.使用数据库

4.删除数据库

 二.常用数据类型

1.数值类型

2.字符串类型

3.日期类型 

三.表的操作 

1.查看表结构

2.创建表

四.表的增删查改

1.插入数据

 2.指定列查询

 3.去重

4.排序

5.条件查询 

6.分页查询 

 7.修改update

8.删除



一.数据库的操作

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 表名;

MySQL之增删查改_第1张图片

2.创建表

create table 表名(

field1 datatype,
field2 datatype,
field3 datatype

);

注:这里是与java相反的,先写字段名称在写数据类型,多个字段之间用逗号隔开,最后一个不要加逗号,数据库名,表名,字段名不能是数据库关键字,(如果要是用数据库关键字,例如`desc` bit,给关键字左右两边加上键盘1旁边这个按钮的字符便不会报错)

例如(建议先删除在建表

MySQL之增删查改_第2张图片

 查看此表

MySQL之增删查改_第3张图片

 (可以下载一个visual studio code 在上面编辑好然后复制粘贴,在一行前面加上--空格表时注释 )

四.表的增删查改

1.插入数据

1.全列插入:insert into 表名valus(字段1要插入的值,字段2要插入的值)

表示所有的字段都要插入值,且插入的值与表定义时插入的顺序相同

2.指定列插入: insert into 表名(要插入的字段1,要插入的字段2)values(要插入的值1,要插入的值2)(没有插入的字段为null)

 

 3.插入多行数据:执行多条insert语句

MySQL之增删查改_第4张图片

 2.指定列查询

查询该表的所有字段和数据:select * from 表名 

MySQL之增删查改_第5张图片

 查询指定列:select 查询列1,查询列2 from 表名

MySQL之增删查改_第6张图片

 如果字段是数值型,可以使用运算符计算 

MySQL之增删查改_第7张图片

查询出来的多行数据叫做查询结果集,并不等于原始数据库中的那张二维表,可以认为查询表为虚拟表,但此时amount*2作为字段名并好看,我们可以使用别名(表名也可以使用别名,当表使用了别名,字段名必须写成:表的别名.字段名

MySQL之增删查改_第8张图片

 在mysql中不能使用‘+’作为字符串拼接,需要使用contact(str1,str2,str3

MySQL之增删查改_第9张图片

对日期的操作

MySQL之增删查改_第10张图片

 3.去重

MySQL之增删查改_第11张图片

MySQL之增删查改_第12张图片

此时就不能去重 

4.排序

order by 字段名

MySQL之增删查改_第13张图片

 对多个字段进行排序:order by 字段1[asc(升序)/desc(降序)],字段2[asc/desc]

先按第一个字段顺序排序,如果第一个字段相同,才按第二个字段排序

MySQL之增删查改_第14张图片

 MySQL之增删查改_第15张图片

 (1)排序的字段也可以使用别名

(2)null:升序在最前面,降序在最后面

5.条件查询 

比较运算符:< <= > >=(数值型,日期型)

MySQL之增删查改_第16张图片

MySQL之增删查改_第17张图片

 null不能使用比较运算符,只能用is/is not null;查询生日为空的

MySQL之增删查改_第18张图片

 如果使用比较运算运算符不会报错,但是会返回空的结果集

 范围匹配:between...and...(字段名 between 起始值 and 终止值)数值型或者日期型

MySQL之增删查改_第19张图片

in()

MySQL之增删查改_第20张图片

 查询数学成绩为98或者78或者84

like模糊匹配

%匹配任意多个字符

_匹配一个字符

MySQL之增删查改_第21张图片

只能匹配一个字符 

 MySQL之增删查改_第22张图片

匹配学生姓名以孙开头的 

MySQL之增删查改_第23张图片

匹配学生姓名中间是悟的名字

6.分页查询 

limit s,n(找下标s-s+n)

limit n = limit 0,n

MySQL之增删查改_第24张图片

 MySQL之增删查改_第25张图片

 从2下标开始,往后找三条

MySQL之增删查改_第26张图片

如果顺序不同,分页结果就不同

 分页符是按照结果及进行分页,如果有条件过滤,是以条件过滤后的结果集再进行分页

MySQL之增删查改_第27张图片

MySQL之增删查改_第28张图片

 7.修改update

update 表名 set 字段 = 要修改的值 where 条件

MySQL之增删查改_第29张图片

将id=7下标的名字改为张三(先过滤id=8再修改,不过不加过滤条件整个表的值都会修改)

8.删除

delete form 表名 where 条件 order by;

删除和修改类似,也是将条件过滤后的结果进行删除(当条件比较复杂的时候,先用select验证一下数据是否为你想要删除的)

你可能感兴趣的:(mysql,java)