数据库(DB):是一个以某种有组织形式存储数据的容器
DBMS:数据库操作系统
二者之间的关系:数据库是通过DBMS创建和操作的容器
表(table):指某种特定类型数据的结构化清单
列(column):表中的一个字段,所有表都是由一个或多个列组成的
行(row):表中的一个记录
主键(key primary):一列(或一组列),其值能够唯一标识表中每一行
SQL:结构化查询语言,是一种专门和数据库沟通的语言
in操作符:用来指定操作范围,范围中的每个条件都可以匹配
not操作符:否定后面所跟的任何条件,not从不单独使用(总是和其他操作符一起使用)
通配符:用来匹配值的一部分的特殊字符
like操作符能够进行统配搜索,对数据进行高级筛选
百分号%:在搜索串中,表示任何字符出现任意次数 --> 栗子:select * from user_table where username like %pc(从user_table表中筛选出用户名含有pc的用户信息)pc% -->筛选以pc开头的
下划线_:用途和%一样,但只能匹配单个字符,不能匹配多个字符 --> _表示能匹配一个字符,__表示能匹配两个字符
方括号[ ]:用来指定一个字符集,匹配指定位置的一个字符 --> 栗子:select * from user_table where username like [pc]% (筛选出用户名以p或c开头的用户信息)^(脱字号)用来表示否定
rtrim():去掉字符串右边的空格 ltrim():去掉字符串左边的空格 trim():去掉字符串左右两边的空格
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
常用的数值处理函数
abs():返回一个数的绝对值 sqrt():返回一个数的平方根 PI():返回圆周率
聚集函数
avg():返回某列的平均值 count():返回某列的行数 --> count(*) 包含null, count(column) 不包含null max():返回某列的最大值 min():返回某列的最小值 --> max()和min()用于文本数据时,返回排序后最后面或者最前面的行 sum():返回某列值的和
分组数据
group by字句
having字句:支持所有where的操作符,对分组进行过滤
where和having的区别:1.where过滤行,having过滤分组 2.where在数据分组前过滤,having在数据分组后过滤
不同类型的联结
inner join:内联结 self join:自联结 natural join:自然联结 outer join:外联结
________________________________________________________________
组合查询:用union操作符来组合多条sql查询。用法很简单,在多条sql查询语句中间放上union关键字即可。union all(返回所有的行,包括重复的) union操作符会自动取消掉重复的行