SQL技术内幕二DDL

  • 创建数据库

if db_id(‘DBTest‘) is null
create database DBTest

  • 创建表

use eb_fy_data_test---use 切换所在数据库上下文

if object_id(‘UserTest‘,‘u‘) is not null

drop TABLE UserTest

CREATE TABLE UserTest {}

  • 数据完整性

1.主键约束

alter table UserTest

add constraint PK_UserTest

Primary Key(ID)

创建主键时sql server在幕后会自动创建一个唯一索引,保证唯一性。

添加唯一索引的语法(一种物理机制):

alter table UserTest

add constraint PK_UserTest

Unique(UserCNo)

2.外键约束

alter table UserTest

add constraint PK_UserTest

Foreign Key(OrderID)

references OrderInfo(OrderID)

也可以添加外键约束与本表的其他字段,但此时可允许null值

3.检查约束

alter table UserTest

add constraint PK_UserTest

Check(age>18)

4.默认约束即默认值Default

时间: 2024-10-11 07:15:53

SQL技术内幕二DDL的相关文章

深入探索spring技术内幕(二): 剖析spring管理Bean的原理与配置

求二叉树的宽度和深度 给定一个二叉树,获取该二叉树的宽度和深度. 例如输入 a / \ b c / \ / \ d e f g 返回3. 详细描述: 接口说明 原型: int GetBiNodeInfo(BiNode &head, unsigned int *pulWidth, unsigned int *pulHeight) 输入参数: head 需要获取深度的二叉树头结点 输出参数(指针指向的内存区域保证有效): pulWidth 宽度 pulHeight 高度 返回值: 0 成功 1 失败

SQL技术内幕四

数据类型: sql server只接受两种数据类型 1. 普通字符 varchar char 用一个字节表示一个字符,表示英文 2.unicode   nchar nvarchar 用两个字节表示一个字符 char nchar都是固定长度的,不论其中字符的实际长度,适用于写入为主的系统,读取效率低 varchar nvarchar 是可变长度,读取速度会快但是更新会慢

SQL技术内幕三

Select 分析一个查询实例 Select empid,year(orderdate) as orderYear,count(*) as orderCount From dbo.orderInfo where custid=71 group by empid,Year(orderdate) having count(*) >1 order by empid 以上语句在sql server内的执行顺序是 from--where--group by--having --select--order

SQL技术内幕一

范式:关系模型的规范化规则. Codd提出的三个数据库范式: 1. 第一范式 第一范式要求表中的每一行都是必须是唯一的.因为关系型数据库是基于集合论的,而集合的定义中,要求每一个元素都是唯一的(在关系数据库中可以用键来区别).因此所有的关系数据库表必然是满足第一范式的. 2.第二范式 第二范式要求必须满足第一范式,其次要求非键值属性和候选键值属性之间必须满足一定的条件.即所有非键值属性都完全依赖与整个候选键值所有属性. 如何理解名词参照http://www.cnblogs.com/lumnm/a

MySQL技术内幕-InnoDB存储引擎-读书笔记(二)

MySQL技术内幕-InnoDB存储引擎-读书笔记(二) 作为php开发,使用mysql总是少不了的 系列文章博客链接 http://itsong.net/articles/466.html 第三章 文件 mysql与innodb几个类型的文件 参数文件,配置路径.初始化参数.内存大小等 日志文件,包括错误日志,二进制日志,慢查询日志,查询日志 socket文件,用unix域套接字,unix domain socket来进行连接时需要的文件,这一般是本机连接,比通常tcp快 pid文件,进程id

SQL Server技术内幕笔记合集

SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnblogs.com/lyhabc/articles/3914213.html Microsoft SQL Server 2005技术内幕:T-SQL查询笔记http://www.cnblogs.com/lyhabc/articles/3912608.html Microsoft SQL Server 2

《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)

索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 五.透视.逆透视及分组 5.1 透视 所谓透视(Pivoting)就是把数据从行的状态旋转为列的状态的处理.其处理步骤为: 相信很多人在笔试或面试的时候被问到如何通过SQL实现行转列或列转行的问题,可能很多人当时懵逼了,没关系,下面我们通过例子来理解. (1)准备数据 --1.0准备数据 USE tempdb; IF OBJECT_ID('dbo

《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(上)

索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 一.SQL Server体系结构 1.1 数据库的物理布局 数据库在物理上由数据文件和事务日志文件组成,每个数据库必须至少有一个数据文件和一个日志文件. (1)数据文件用于保存数据库对象数据.数据库必须至少有一个主文件组(Primary),而用户定义的文件组则是可选的.Primary文件组包括 主数据文件(.mdf),以及数据库的系统目录(cat

Mysql技术内幕——表&索引算法和锁

表 4.1.innodb存储引擎表类型 innodb表类似oracle的IOT表(索引聚集表-indexorganized table),在innodb表中每张表都会有一个主键,如果在创建表时没有显示的定义主键则innodb如按照如下方式选择或者创建主键.首先表中是否有唯一非空索引(unique not null),如果有则该列即为主键.不符合上述条件,innodb存储引擎会自动创建一个6字节大小的指针,rowid(). 4.2.innodb逻辑存储结构 innodb的逻辑存储单元由大到小分别是