添加数据
语法:
INSERT INTO 表名 [(列名1,列名2,…)] VALUES (值1,值2,…)
列名列表可以省略
不能违反的规则:
1,不允许设置标识列的值(identity)
2,不允许向唯一性约束列中插入相同的数据
3,不能违反检查约束
4,不能违反外键约束
insert into Course(CourseID,CourseName) values (1,'语文')
删除数据
语法:DELETE FROM 表名 WHERE 删除条件
注:建表时:先主–>再从
删除表时:先从–>再主
例如:要删除Department表中的1系,需要先删除Student表中对1系依赖的行
DELETE FROM Student
WHERE DepID=1 -- 先删除学生表中属于1系的学生
DELETE FROM Department
WHERE DepID=1 -- 再删除1系
修改数据(更新数据)
语法:
UPDATE 表名
SET 列名1=值1[,列名2=值2,…,列名n=值n]
[WHERE 更新条件]
例如:
UPDATE Student
SET StuScore = StuScore + 10 -- 更新学生成绩
WHERE StuClass='120180'
例2:
UPDATE Student -- 将120180班级的学生成绩加10分,系好改成5
SET StuScore = StuScore + 10,DepID = 5
WHERE StuClass = '120180'
不能违反的规则:
1,不允许设置标识列的值(identity)
2,不允许向唯一性约束列中插入相同的数据
3,不能违反检查约束
4,不能违反外键约束
-
基础查询语句
语法:
SELECT 子句
[ INTO 子句 ]
FROM 子句
[WHERE 子句]
[GROUP BY 子句]
[HAVING 子句]
[ORDER BY 子句]
[COMPUTE 子句] -
ALL和DISTINCT
SELECT StuAge FROM Student --默认加ALL,查询学生年龄
SELECT DISTINCT StuAge FROM Student -- 去掉重复的数据
聚合函数
用于对数据库表中的一列或几列数据进行统计汇总,常用于查询与中
AVG(列名) 返回表达式(含列名)的平均值
COUNT(*) 对表或组中的所有行进行计数,包括空值
MAX(列名) 表达式中最大的值
MIN(列名) 表达式中最小的值
SUM(列名) 表达式值得合计
SELECT AVG(Grade)FROM SC --统计sc表中学生成绩的平均值
SELECT COUNT(*) FROM SC WHERE CourseID = 2 -- 统计选修了课程号为2的学生的人数,统计行的个数
SELECT SUM(Grade) FROM SC WHERE CourseID=2 --求选修2号课程的学生总成绩,计算那一列的和
SELECT MAX(Grade),MIN(Grade)FROM SC WHERE CourseID=2 --求选修2号课程学生最高成绩,最低成绩
- 使用CASE函数
用法:可以根据指定表达式的值返回多个可能的结果之一
语法:
CASE 条件表达式
WHEN 值1 THEN 结果1
…
…
ELSE 其他结果
END
例:
-- 如果是女显示0.是男显示1
SELECT StuName, 'SexValue' =
CASE StuSex
WHEN '女' THEN 0
ELSE 1
END
FROM Student
- 字符串函数