通过SQL命令创建表、删除表(二)

通过SQL命令创建表、删除表

创建表命令

--emp表(员工表)
create table emp (
	empno int primary key,
	ename nvarchar(200),
	job nvarchar(200),
	mgr int ,
	hiredate datetime,
	sal int ,
	comm int,
	deptno int constraint fk_deptno foreign key references dept(deptno)
)
--以上表解读
--create table 表名(
--	列名1 数据类型 主键,
--	列名2 数据类型,
--  ...
--	列名7 数据类型,
--  列名8 数据类型 外键(dept表中deptno的外键)
--)

--dept表(部门表)
create table dept(
	deptno int primary key,
	dname nvarchar(200),
	loc nvarchar(200),
)
--以上表解读
--create table 表名(
--	列名1 数据类型 主键,
--	列名2 数据类型,
--	列名3 数据类型,
--)

--salgrade表(工资表)
create table salgrade(
	grade int primary key,
	losal int,
	hisal int,
)

表中插入数据命令

insert into dept values (001,'研发部','111') 
--执行成功
insert into dept values (002,'市场部','222') 
--error 列名或所提供值的数目与表定义不匹配。
insert into dept(deptno,dname) values (003,'财务部') 
--执行成功
insert into dept(deptno,dname,loc) values (004,'行政部') 
--INSERT 语句中列的数目大于 VALUES 子句中指定的值的数目。
--VALUES 子句中值的数目必须与 INSERT 语句中指定的列的数目匹配。

select * from dept --查询表dept中所有数据
在这里插入图片描述

删除表命令

drop table emp 

关系

什么是关系: 表和表之间的联系
实现方式: 通过设置不同形式的外键来体现表和表的不同关系
分类:
一对一: 例如既可以把表1的主键充当表2的外键,也可以把表2的主键充当表1的外键
一对多: 把表1的主键充当表2 的外键,即把表1的主键添加到表2中充当表2的外键
注意:在数据使用次数多的那一方添加外键
多对多: 多对多必须通过单独的一张表来表示,例如班级和教师之间的关系也可以用一张表表示(一个班级可以对应多个教师,而一个教师也可以对应多个班级)

主键

概述:能唯一标识一个事物的一个字段或者多个字段的组合
特点:
1、含有主键的表称之为主键表
2、主键通常都是整数,不建议使用字符串当主键(如果主键是用于集群式服务,才可以考虑用字符串当主键)
3、主键的值通常都不允许修改,除非本记录被删除
4、主键不要定义为id,而要规范定义,如表明Id或表明_id
5、要用代理主键(无实际含义),而不要用业务主键(有实际意义的),所以通常在表中单独添加一个整型的编号充当主键字段
6、主键是否连续增长并不是十分重要

外键

概述:如果一个表中的若干字段是来自另外若干个表的主键或唯一键,则这个若干字段就是外键

注意:
1、外键统称是来自另外表的主键,而不是唯一键,因为唯一键可能为null
2、外键不一定是来自另外的表,也可能来自本表的主键
3、含有外键的表称之为外键表,外键字段来自的那一张叫做主键表

Question:主键表、外键表若需删除,该先删除哪一个?
先删外键表,因为如果先删除了主键表,那么会导致外键表中的数据引用失败

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值