1.基本操作
查询:select * from 表名
删除:
删除表:drop table [表名]
删除指定列:delete from [表名] where [条件]
更新:update [表名] set [列名=表达式] [where + 条件]
增加:
增加一列: alert table [表名] add [列名] [列属性]
2.关键字
count
cout(*) 统计元组个数
cout(列名) 统计一列中值的个数
sum(列名) 统计这一列的总和
avg(列名) 统计这一列的平均值
group by子句
group by子句将查询结果按某一列或多列的值分组,值相等的为一组
eg:select cno,count(*) from sc group by cno
上面的语句就是将sc表中的 cno 取出,用聚集函数来计算求得每组的人数, 按cno的顺序排列。
having 关键字
having的作用是筛选,将group by子句查询出来的结果进行进一步的筛选。
eg:select cno,count(*) from sc group by cno having count(*)>3
只有满足元组个数大于3 的才会被筛选出来。
any 关键字
使用any关键字时必须要加上比较运算符
>any 大于子查询中的某个值
<any 小于子查询中的某个值
eg:select sage from student where sage<any ( select sage from student where sdept='cs' )
如果题目中包含 任意 字样 即使用any关键字 。即查询任意一个符合子查询的结果集。
如果题目中包含 所有 字样 即使用all关键字 。即查询所有符合子查询的结果集。
exists 关键字
使用exists关键字查询之后不返回其他数据,只产生逻辑值,true or false
not exists 关键字
和 exists关键字一样,不返回其他数据。
意为不存在于子查询中的集合。
3.子查询
相关子查询中,子查询的结果是父查询的来源。
不相关子查询中,子查询的条件不依赖于父查询。
4.连接查询
等值连接
非等值连接
自身连接
外连接
左外连接
右外连接
5.索引
MySql 中默认的BTREE类型的索引,也是我们大多数情况下用到的索引。
CREATE INDEX index_name ON 【表名】 ( 列名 (次序)) –修改表结构的方式添加索引
CREATE UNIQUE INDEX indexName ON【表名】 ( 列名 (次序)) –创建唯一索引
6.视图
视图中存放的是虚表,即不存在的表。视图中的表来源自原来的基本表,当原来的表发生变化,则当前的表也会发生变化。
创建视图
eg:select view st as select sno,sname from st where sdept='is';
建立信息专业学生的视图
with check potion
使用 with check potion 之后 会在进行操作时默认加上 with check potion 之后的条件。
查看视图
eg: select * from [视图名]

更新视图
视图是虚表,所以对视图的更新要转化为对基本表的更新。
删除视图
drop view [视图名] |