目录
创建表
create table
表结构修改
添加:
alter table 表名 add 字段名 类型长度 是否允许空值
删除:
alter table 表名 drop column 字段名
修改:
alter table 表名 alter column 字段名 类型长度 是否允许空值
表数据修改
插入行:
insert (into 可忽略不写) 表名 values(插入的值)
删除行:
delete (from 可忽略不写) 表名 where 条件
删除某字段为空的行:
delete from 表名 where 字段 is Null
更新:
update 表名 set 表达式 where 条件
删除表
drop table 表名
基本查询:
select <字段> from 表源 where 条件
字段后面可加 distinct(删除重复行),top n (用于指定查询结果返回的行数)
条件后面可加 like '%e%' (模糊查询)
select语法格式:
SELECT [ALL | DISTINCT] select_list
[INTO new_table]
FROM table_list // table_list表示需要检索的表的名称
[WHERE search_conditions]
[GROUP BY group_by_list]
[HAVING search_conditions]
[ORDER BY order_list [ASC | DESC] ]
聚合和汇总:
语法格式:
GROUP BY[ALL]<column_name>[,<column_name>···]
(关键字ALL表示是否使用所有信息,一般与 where子句的条件一起使用;column_name表示列名)
常用聚合函数:
函数名 | 功能 |
COUNT | 求组中项数,返回整数 |
SUM | 求和,返回表达式中所有值的和 |
AVG | 求平均值,返回表达式中所有值的平均值 |
MAX | 求最大值,返回表达式中所有值的最大值 |
MIN | 求最小值,返回表达式中所有值的最小值 |
group by where 条件 (先筛选后再分组计算)
group by having 条件(分组计算后再进行筛选)
example:
//要查询成绩表获得每门课程的平均成绩
SELECT CouNo,AVG(score) AS '平均成绩'
FROM Score
GROUP BY CouNo //注意:红色字体处必须一样
//WHERE子句和GROUP BY子句结合(查询成绩表001号课程的最高分)
SELECT CouNo,MAX(Score) AS '最高分'
FROM Score
WHERE CouNo LIKE '001'
GROUPBY CouNo
排序:
order by asc (升序)
order by desc (降序)
信息存于新表:
selectt * into 新表名 from原表 where 条件