数据库约束和连接的种类

php中文网
发布: 2016-06-07 15:47:26
原创
1564人浏览过

--创建数据库create database 学生练习on(name = srcShareDB,filename = 'E:\stuExcise.mdf',size = 10,maxsize = unlimited,filegrowth = 10%)--日志文件log on(name = srcShareLG,filename = 'E:\stuExcise.ldf',size = 3,maxsize = unlimited,filegrowth

--创建数据库
create database 学生练习
on
(
name = srcShareDB,
filename = 'E:\stuExcise.mdf',
size = 10,
maxsize = unlimited,
filegrowth = 10%
)
--日志文件
log on
(
name = srcShareLG,
filename = 'E:\stuExcise.ldf',
size = 3,
maxsize = unlimited,
filegrowth = 10%
)
--学生表
create table 学生
(
stuNO varchar(10) primary key,
stuAge int check (stuAge>0 and stuAge<150),
stuSex char(2) check (stuSex in('男','女')),
stuMajorNO varchar(10) not null
)
--课程表
create table 课程
(
lsnNO varchar(10) primary key,
lsnName varchar(10) not null,
lsnMark int check (lsnMark>=0 and lsnMark<=100),--注意约束要用括号括起来
lsnHour int check (lsnHour>0 and lsnHour<=200)
)
--选课表
create table 选课
(
stuNO varchar(10) foreign key (stuNO) references 学生(stuNO),--注意外键约束的语法格式
lsnNO varchar(10) foreign key (lsnNO) references 课程(lsnNO),
stuMark int check (stuMark>=0 and stuMark<=100)
)
--添加数据
insert into 学生
values(2,20,'男','软件')
--更新数据
update 学生
set stuAge=stuAge-5
where stuAge=19
--删除数据
delete from 学生
where stuNO='2'
--查找数据
select stuMark from 学生,选课 where 学生.stuNO=选课.stuNO and 学生.stuNO='1'
登录后复制


 

约束规则:
1、实体完整性规则
主要是针对主键(列级和表级)的,主键约束用于唯一性表示表的记录,并且主键约束要求

该列不为空,切记是不为NULL而不是不为"",并且要求该列不能有相同项,否则不能执行sql
语句
2、参照完整性约束,即为外键约束,主要是表示表中列和表中列的关系
语法是:foreign key(列名) references 表名(列名),
其中(列名)需加括号,表名(列名)中列名需为所引用表的主键
3、用户自定义完整性约束
包括列值非空(not null),列值唯一(unique),检查列值是否满足一个布尔表达式

(check)
需要注意的是check约束需要括号,即check(布尔值)

连接的种类:
内联接:分为等值连接和自然连接,通过比较运算符来连接
语法:select * from table1 join table2 on table1.id=table2.id

交叉连接:即产生笛卡儿积的连接
语法:select * from table1 cross join table2

外连接:
左外连接:返回左表的所有行,右表不匹配的用null表示
语法:select * from table1 left join table2 on table1.id=table2.id

右外连接:返回右表的所有行,左表不匹配的用null表示
语法:select * from table1 right join table2 on table1.id=table2.id

全连接:返回连接表的所有行
语法:select * from table1 full join table2 on table1.id=table2.id

 

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号