数据库:持久化(保存)数据的工具

关系型数据库:Oracle,MySQL,sqlserver
非关系型数据库:MOGOOB,Redis

语言:
DDL:数据库定义语言,表的创建
DML:数据库操作语言,表数据的增删改
DQL:数据库查询语言,表数据查询
TCL:事务控制语句,处理数据库中的事物
DCL:数据库控制语言,设置或更改数据库用户或角色权限,语句:grant,deny,revoke

DDL:用于建立,修改,删除数据库对象
create database XX;创建数据库
drop …;删除数据库

creat table XX(字段,数据类型);建表
数据类型:int bigint double char varchar decimal(泛型型,不会出现精度丢失问题)日期(date:yy-MM-ss 日期类型(3字节),time:hh:mm:ss 时间类型(3字节), timestamp:时间戳类型,yyyy-MM-ss hh:mm:ss (4字节),datatime:日期时间,yyyy-MM-ss hh:mm:ss(8字节))

主键:primary key 不允许重复+不能为null,auto_increment:主键自增,自动生成,必须为整型

在表中添加列:alter table XX add(字段 数据类型 , …);(XX代表表名)
在表中删除列:alter table XX drop字段; 删除多列:alter table XX drop column 字段1,drop column 字段2…

修改表中字段名:alter table XX change 原名 新名 数据类型;
修改表中数据类型:alter table 原名 rename to 新名;
删除表:drop table 表名;

desc XX; 查询表结构(不是DDL语句)

DML:数据操作语言
插入表数据:insert into 表名(字段1,字段2,…) value(字段1值,字段2值…);
插入多条表数据:insert into 表名(字段1,字段2,…) values(字段1值,字段2值…),(字段1值,字段2值…);

修改表数据:delete from XX;删除表中所有表数据,可以where搭配
修改表数据:update 表名 set 字段1=值1,字段2=值2…;可与where搭配

default:设置默认值
alter table XX modify 字段 数据类型 default 值

DQL:数据查询语句
*:表示所有字段
select * from XX;查询表中所有的数据
select 字段1,字段2… from XX;查询固定字段的信息

as : 起别名,可以省略,且只在此次查询有效
select 字段1 (as) A , 字段2 (as) B from XX;

MySQL关键字:
distinct:去重,卸载select后面
select distinct name from XX;排除了名字一样的内容

order by:按照某个字段进行排序:asc升序,desc降序
select * from XX order by score,id;先按照分数排序,分数一样时,按照id排序

group by : 按照…分组

having :与group by 结合使用,将分组后的结果进行进一步过滤

like:模糊查询:%匹配0或者多个占位符 _下划线:占位符,一个占位符占一个位置

between…and… 在…之间

in :判断书否在一个列表中

null:判断是否为空时使用 is (not) null

limit:后面加一个数时,代表显示数据的个数,后面加两个数据时,后面代表 起始位置,显示数据个数

聚合函数:
count ( * ):求个数
max ( ) : 求最大值
min ( ) :求最小值
avg ( ):求平均值
sum(字段):对某个字段求和