数据库中最基本的操作就是增删改查了,create database 创建数据库,create table创建表,drop database 删除数据库,drop table 删除表,use table_name 使用当前某个表,insert into 代表向表中增添数据,select * from 是查找的基本语句,update set 是改变某个数据
创建表的基本属性,包含一些自己定义的属性和类型(类型分很多种,下面有提到),是否为主键primary key,是否可以为空 not null,comment可以添加备注
插入和查找语句:
select 后面的*代表从全部当中查找,也可以选择特定的字段进行查找,from后面就是接上从哪里查找,其中where后可以增添限制条件,根据所添加的条件来进行更加详细的查找
insert into后面加插入的位置和字段,values后加需要插入的数值
下面是一些其他的语句的用法(包含 group by分组,order by desc从大到小排列 asc从小到大排列,limit 限制 offset偏移 等)
order by 后面必须列出排序的字段名,可以是多个字段名。后面不写默认asc从小到大排列。
group by 必须有聚合函数来配合才能使用,使用时至少需要一个分组标志字段。也可以多个字段名。
聚合函数的用法(count计数,sum累加,max/min最大/最小值,avg平均值)
coalesce(条件,0)函数代表寻找内部条件,返回第一个不为空的值,找不到的话就返回null,这里后面的0代表将null转化为0
还有as的别名用法 可以省略 用一个空格代替
这里的关键是还有一个having的用法。 having 和where的区别在于:
where是用来对查询结果进行过滤,having是对分组进行过滤,但是where 的执行级别比having 要高,会先执行where的限制条件,再执行having的条件。where后面不能跟含有聚合函数的条件的,因为有聚合函数就必定要分组;而having是与group by配合使用的,所以可以在 having 关键字后面加聚合函数过滤条件。
根据要求的不同,实现的代码也不同,细微的差别
连接多个表的语句用法和操作
right join和left join的区别:
right join代表右边的表有的,左边没有也要显示出来,左边表有的右边没有的不显示出来
left则是左边表有的右边没有也要显示出来,左边没有右边有的不显示
full join代表混合交叉都显示出来
连两张以上的表就在后面一直join连接就可以
下面是两个实例操作
可以清楚的看到group by的分组用法和连表的操作,还有oder by排序和limit限制的操作用法
数据库中常用的数据类型有以下这些:
char 和 varchar 都可以自定义空间大小 但是最主要区别在于varchar定义的是最大空间,如果为空的不会占用而char会占用为空值的空间。
注:DDL处理结构(不能回退) DML处理数据
下面是思维导图