数据库约束和CRUD操作

1、 简单复习
	-> 关系型数据库基础
		-> 简单介绍了SQL Server的历史
		-> 关系的概念:表
		-> 表的结构与数据类型
	-> SQL Server的简单体系架构
		-> 连接管理
		-> 关系引擎
		-> 存储引擎
		-> 内存池
	-> 数据库的简单结构(逻辑结构)
		-> 数据库
			-> 架构
				-> 表
				-> 表
				-> 表
			-> 架构
				-> 表
			-> 架构
				-> 表
	-> 数据据文件
		-> 文件
		-> 文件
		-> 文件
		-> 文件
	-> SQL语句
		-> 数据定义语言(DDL)
		-> 数据操作语言(DML)
		-> 数据控制语言(DCL)
    --简单的增删改查(CRUD:Create,Retrieve,Update,Delete)
2、 主键字段
	int和bigint
	uniqueidentifer
	
3、 约束
	-> 限制字段可以取什么值
	-> 官方:约束是保证数据完整性的机制
	-> 常见的约束
		-> 主键约束(PK)		默认创建聚集索引	(聚簇索引)	拼音检索
		-> 唯一约束(UQ)	默认创建非聚集索引				部首检索
		-> 非空约束		设计表,字段后写的null与not null
		-> 检查约束(CK)		限定某个字段的表达式
		-> 默认约束(DF)		如果不给取值就使用默认值,否则使用提供的值
		-> 外键约束(FK)	添加商品数据的时候,必须要有厂家数据. 除非外键数据为NULL
						如果还有商品数据,不允许删除厂家数据
	
	-> 实现约束(约束与表是统一级别)
		alter table ConstraintExercise.StuInfo2
		add constraint UQ_StuInfo2_stuName unique(stuName),--唯一约束(创建非聚集所以)
		constraint CK_StuInfo2_stuAge check(stuAge>=0 and stuAge<=100),--检查约束
		constraint DF_stuInfo2_stuSex default('M') for stuSex,--默认约束
		constraint CK_stuInfo2_stuSex check(stuSex='F' or stuSex='M'),
		constraint FK_Course2_StuInfo2_couserId foreign Key(courseid) --外键约束
		references ConstraintExercise.course2(couserid);
	-->如何查看已有约束
		select * from sys.objects
		type不同表示的类型不一样
			-> S	  系统表
			-> U	  用户表
			-> PK     主键
			-> UQ     唯一约束
			-> C	  检查约束
			-> D	  默认约束
	-->修改表
			-> 删除一列
			alter table 表名 drop column 列名
			-> 增加一列
			alter table 表名 add 列名 类型
			-> 修改数据类型
			alter table 表名 alter column 列名 类型
			-->修改主外键
			alter table 外键表 add constraint 外键名 foreign key(外键) references 主键表(主键)
4、 查询
            -->判断
			优先级:
			not > and >or
			-->匹配
			使用”_”表示一个任意字符
			使用”%”表示任意个任意字符
			-- [] [a-z] [^a-z]
			-- stuName like '杨[中重]科'
			-- 如果要匹配 asp_net
			-- bookName like 'asp[_]net'

			-->范围
			between..and..
			in(散列可选值)
			-->空值处理(SQL Server 采用三值逻辑 真 假 不知道)
			isnull,('null' 和 null 不同)
5. 标准的SQL语句

			select top | distinct
				字段
				, 表达式
				, 函数
				, 标量子查询
				, 常量
			from
				数据源
			where
				基本筛选
			group by
				分组字段
			having
				二次筛选
			order by
				排序字段依据;

			-- SQL语句的执行顺序
			-- 
			-- 获得数据源(from)
			-- 进行第一次筛选(where)
			-- 对筛选得到的结果进行分组(group by)
			-- 可以对分组后的结果进行再删选一次(having)
			-- 对所有数据进行整理(select)
			-- 对结果进行排序(order by)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值