数据库约束和连接的种类
来源:互联网 发布:淘宝账号申诉入口 编辑:程序博客网 时间:2024/06/09 19:57
--创建数据库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-5where 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
- 数据库约束和连接的种类
- jdbc连接数据库的种类java
- 连接的种类详解
- 数据库中常用的约束和约束作用
- SQL 数据库 学习 010 表和约束的区别、check约束、default约束、unique约束、not null约束
- 数据库备份的种类
- 数据库备份的种类
- 数据库备份的种类
- 数据库备份的种类
- 数据库的种类
- 数据库的种类
- 常见数据库的种类
- 数据库的种类
- 数据库的种类
- 数据库的安全和完整性约束
- ORACLE的索引和约束详解数据库
- 数据库表的约束和索引
- 数据库的约束和对应关系
- javascript变量使用
- POJ 1214 解题报告
- 详解平板电脑和笔记本的区别
- 继承类的存储结构深层次理解
- WPS 操作之在指定页插入页码
- 数据库约束和连接的种类
- 激活脑细胞--两人猜数问题
- 一个人,向南走了一公里,然后向东走1公里,然后向北走一公里
- char与TCHAR相互转化
- C语言学习之关键字
- Struts2:HTTP Status 404 - There is no Action mapped for namespace[ / ]and action name singleUpload.
- R语言学习系列(画向量的密度直方图)
- bash:./configure /bin/sh^M: bad interpreter: No such file or directory
- struts2 国际化问题解决