1、表一对一时,在任意一个表建立外键,去关联另外一个表的主键

(在student表建立外键b_id==》右键关系==》第三步点击三个点,student表里的外键b_id就是book表里的主键b_id)

sql server如何定义表间关联 sql server如何建立表间关系_database

sql server如何定义表间关联 sql server如何建立表间关系_外键_02

2、表一对多时,在任意多的表建立外键,去关联另外一个表的主键

3、字段类型

char/varchar : 非unicode编码 英文占一个字节,中文占两个字节

  • varchar : 可变长度
  • char : 数据长度不可变

nvarchar/nchar : unicode编码,中文英文都占一个字节
decimal(n1,n2) : n1个数字,n2个小数位,一般用于设置带有小数位的数据
bit : 只能存储 0 和 1,一般用于一个数据只能有两个值的时候

4、约束

实现数据的有效性检查

主键 :

  • 非空约束(Not Null)
  • 唯一约束 : 右击列名-索引/值-常规类型-唯一键
  • 默认值约束 : 可设置为空,而需要列添加默认
  • 操作 : 常规-默认值或绑定-设置大小
  • 检查约束 : 对设置的值进行要求,若满足要求,则数据可以加入表中
  • 操作 : 右击列名-CHECK约束-写约束表达式
  • 外键约束 : 对关系进行有效性检查,当然有关系时,也可以不做外键。

外键添加操作

  1. 新建一个外键表
  2. 在主键表中添加外键表的主键名(使得两个表之间发生关系)
  3. 添加外键 : 右击外键名-关系-设置外键表与主键表-设置相关的列

当出现表中的列与现有主键或UNIQUE约束不匹配的错误时,要注意可能是没有设置外键的引用唯一约束

5、DDL : 数据定义语言:各种数据库对象的创建、create | alter | drop

--为emp表增加一个新的字段”昵称”为nickname,类型为varchar(20)
 ALTER TABLE emp ADD nickname varchar(20)
--1、将emp表的字段username删除
    ALTER TABLE emp DROP username;

--2、如果tb_user表存在,则删除tb_user表
    DROP TABLE IF EXISTS tb_user;

--3、将emp表的nickname字段修改为username,类型为varchar(30)
    ALTER TABLE emp CHANGE nickname username varchar(30)

6、DML : 数据管理语言:对表数据的增删改查,insert | update | delete 


添加数据


--2). 给全部字段添加数据
INSERT INTO 表名 VALUES (值1, 值2, ...);
--3). 批量添加数据
 INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...) ;

修改数据

--1、修改id为1的数据,将name修改为itheima
update emp set name = 'itheima' where id =1;
--2、 修改id为1的数据, 将name修改为小昭, gender修改为 女
update employee set name = '小昭' , gender = '女' where id = 1;

删除数据

DELETE FROM 表名 [ WHERE 条件 ] ;

--1、删除gender为女的员工
delete from employee where gender = '女';

--2、删除所有员工(删除emp表)
delete from employee;

• DELETE 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数
据。

7、DQL数据查询语言,用来查询数据库中表的记录。 SELECT

SELECT字段列表 
FROM表名列表 
WHERE条件列表 
GROUP BY 分组字段列表 
HAVING分组后条件列表 
ORDER BY 排序字段列表 
LIMIT分页参数


基本查询(不带任何条件)


--1、查询员工表emp中所有员工信息
select * from emp


条件查询( WHERE )


--1、查询员工表emp中id为001的员工信息
select * from emp where id = 001;

--2、查询员工表emp中没有身份证的员工信息
select * from emp where idcade is null;

--2、查询员工表emp中有身份证的员工信息
select * from emp where idcade is not null;


聚合函数( count 、 max 、 min 、 avg 、 sum )null值不参与聚合函数运算


count、max、min、avg、sum
--1、查询emp表中年龄最大的员工的年龄
select max(age) from emp

--2、查询emp表中年龄最小的员工信息
select * from emp where age =(select min(age) from emp)

--3、查询emp表员工的平均工资
select avg(mgr) from emp

----4、查询emp表员工的总记录数
select count(*) from emp


分组查询( group by )



排序查询( order by )


8、DCL : 数据控制语言:进行权限分配,