DML
MySQL语句:主要功能:增删改查(CRUD)(creat,read,update,delete)
创建表:create table `表名`(`字段名1` 类型 ,`字段名2` 类型 not null default ‘’, 。。。。 primary key(`字段名`);
添加:语法:inset into 表名 values(‘添加值‘);
Inset into 表名(需要添加的字段)value (‘添加值‘);
修改:update 表名 set 需要修改字段名 = ‘修改值’ where 表名.字段名 = ‘原值’ (and/or 可在后继续添加条件,由于这个原因,才有sql注入问题);
删除:delete from 表名 where 字段名 = 值;
Mysql规范:
- 不区分大小写,但建议关键字大写,表名,列名小写
- 每条命令最好用分号结尾
- 每条命令根据需要,可以进行缩进或换行
- 注释
单行注释:#注释文字
单行注释:--注释文字
多行注释:/*注释文字*/
查询
展示数据库:SHOW DATABASES;
创建一个utf8数据库:CREATE DATABASE 数据库名 CHARACTER SET utf8;
#如果mydb4数据库不存在,则创建;如果存在,则不创建。CREATE DATABASE IF NOT EXISTS mydb4;
查询字段表语句:SELECT 查询字段(多字段使用,隔离)FROM 表名;(*表示差选全部)
给表名和列名去名:SELECT 查询字段(多字段使用,隔离)AS ‘名称’ FROM 表名;
查询有几个—>DISTINCT除重,相同的只展示一次:SELECT DISTINCT 字段名 FROM 表名
对查询结果进行排序:SELECT 列名 FROM 表名 ORDER BY 排序字段(多个可以,隔开) 【排序规则】排序方式(默认正序ASC、倒序DESC)
条件查询:SELECT 字段名(多字段使用,) FROM 表名 WHERE 查找条件(和and,或 or
条件查询包括:
逻辑查询(and、or、not),
不等值查询(<,>,<=,>=,<>),
区间判断(between and)区间判断语法中,必须小值在前,大值在后,反之得不到正确结果。
Null值判断(is null,is not null)
枚举查询(in (值1,值2.。。。))in的查询效率较低,可通过多条件拼接,
模糊查询(LIKE 通配符):列名 like ‘z_’ 其中每一个”_”表示一个字符,“%”表示所有,模糊查询只能和like关键字结合使用。
模糊查找可通过转义字符实现”\”或关键字escape “特殊标识符”
Null值判断is not :select 字段名 f,rom 表名 where 字段名 (is)/(is not)null;
安全等于<=>,可以用来判断null和数值,
Is null vs <=> “
IS null: 仅仅可以判断null值,可读性较高,建议使用
<=> : 即可以判断null,又可以判断普通的数值,可读性较低
分支结构查询:case 判断语句 end #case where 条件1 then 结果1 .。。。else 结果 end as 字段名 from 表名;
Eg:select 字段名,
Case
Where 条件1 then 结果1
Where 条件2 then 结果2
Where 条件3 then 结果3
Else 结果
End as 字段别名
From 表名;
执行顺序:select(10) * from(1) * where(2) * (select(7)* * from(3) * where(4) * group by (5)* having(6) * order by(8) ) GROUP BY(9) * order by(11) *
聚合查询
max;select max(字段名) from 表名;
select 表名.* from 表名 where 字段名=(select max(字段值)from字段名);
聚合函数 | 说明 |
SUM() | 求所有行中单列结果的总和 |
AVG() | 平均值 |
MAX() | 最大值 |
MIN() | 最小值 |
COUNT() | 求总行数 |
分组查询
语法:SELECT 列名 FROM 表名 WHERE 条件 [GROUP BY 分组依据(列);]()
关键字:GROUP BY,必须在where之后生效,与聚合连用
分组过滤
语法:SELECT 列名 FROM 表名 WHERE 条件 group by 分租列 having 过滤规则;
注意:having对分组后的数据进行过滤
使用数据库的好处:可以持久化数据到本地,结构化查询
数据库常见的概念:DB-数据库,存储数据的容器 DBMS-数据库管理系统,又称为数据库软件或数据库产品,用于创建或管理DB SQL-结构化查询语言,用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据库软件通用的语言
数据库存储数据的特点:
1. 数据存放到表中,然后表再放到库中
2.一个库可以有多张表,每张表具有唯一的表名用来标识自己
3. 表中有一个或多个列,又称为“字段”,相当于Java中“属性”
4. 表中的每一行数据,相当于Java中“对象”