1.英文状态下的 . 表示本地机
2.char nchar 和 varchar的区别
char(10)表示存储的字符长度
nchar(10)占内存是char的两倍 使用两个字节保存一个字符
varchar(10)变长字符串,存储的大小是输入数据实际长度加两个字节
-
decimal(p,s)p存储的最大位数 s小数右侧存储的最大位数
-
[字段] 加方括号的原因是防止产生关键字与字段名重复的情况 比如说字段名字叫做SELECT
-
DISTINCT 去除重复 select distinct h_id from tb_student
6.In 在where中规定多个子值 select h_id from tb_student where h_id in (1101,1102)
in的括号也可以是来源于一个表的值
select h_id
from tb_student
where h_id in (select h_id from tb_hostel where h_id = 1101)
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录
- between的用法
select s_id,score
from tb_grade
where score between 60 and 80
9.like的用法
10.Order by 、group by 、having
select s_id,score
from tb_grade
order by score 默认是升序
select s_id,score
from tb_grade
order by score desc 变成降序排列
select s_id,sum(score)
from tb_grade
group by s_id
having sum(score) < 100 比如说要查找分数总和在100以下的学生 并按照学号分组
group by 必须配合聚合函数来用,分组后可以计数count 求和sum 平均 avg
其后包含的字段除了聚合函数中的字段,其他必须在group by中存在才能写在select中
11.INSERT INTO 插入
INSERT INTO Persons(列1,列2) VALUES (‘Gates’, ‘Bill’)
UPDATE 更新
UPDATE Person SET FirstName = ‘Fred’ WHERE LastName = 'Wilson’
DELETE FROM 删除
DELETE FROM Person WHERE LastName = 'Wilson’
12.数据库自增字段 列属性-表示规范-是否
但是在其中删除一条,仍然会继续从上次编号开始,如1,2,3,4 删除4 再添加 会从5开始
13.变量的声明 declare 任何变量声明以@开头 declare @var varchar(50)
赋值 set @var = ‘123’;只能对一个变量赋值 不可返回多个值,只返回一个
select @var = ‘123’; 同时可以对多个赋值 只返回最后一个值
14.多表联合查询
内联查询
select tb_student.s_id
from tb_student inner join tb_grade
on tb_student.s_id = tb_grade.s_id
左外联查询:以左表为主 显示左表的所有数据
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
右外联查询:以右表为主 显示右表的所有数据
15 取别名 原名 as 别名
16.视图 将写好的查询语句保存,下次直接使用(不能在视图里改数据)
select * from 视图名
17.函数
(表值函数)
create function test
(
@var varchar(50)
)
returns table
as
return
(
select *
from tb_student
where s_id = 201315030102
)
go
18 可以带参数的能像表一样使用的一组SQL语句组合。
标量型函数:返回确定的值。
内嵌表值函数:返回一个表格。
多语句表值函数:上面两个函数体的结合。
19触发器和存储过程(没细讲)
20,级联 在更改一个表的主键的时候,其他以class表主键为外键的表也会改成相对应的值