page223-索引
--利用SQL 语句创建索引
--CREATE INDEX 索引名称on 表名(字段 ,字段, 字段字段n)
--索引名称必须为唯一的,字段 ,字段, 同意一个到多个
--范例为T_person 表中给FName创建索引索引名为 idx_person_name
CREATE INDEX idx_person_name ON T_Person (FName)

--删除索引
--drop index 表名索引名
DROP INDEX T_person.idx_person_name

 --非空约束
 --在定义数据库的时候 ,默认情况下全部字段都是同意为空值的 ,
 --假设须要在创建表的时候显示指定禁止一个字段为空的方式就是
 --在字段定义后添加 not
null, 范比例如以下
 --CREATE TABLE T_notNull(Fnumber
VARCHAR(20) NOT NULL,FName VARCHAR(20),FAge INT)

--唯一约束
--唯一约束又称为unique约束 ,它用于防止一个特定的列中俩个记录具有相同的值
--设置方式就是在字段定义后添加 unique
--CREATE TABLE T_UniqueTest(Fnumber VARCHAR(20) UNIQUE,FName VARCHAR(20),Fage INT)

--check约束
--check约束会检查输入到记录中的值是否满足一个条件 ,假设不满足这个条件则
--对数据库的改动不会成功
--比方一个人年龄不可能是负数 ,一个人的入学日期不可能早于出身日期 ,出厂月份
--不可能大于月能够在check条件中使用随意有效的 SQL表达式,check 约束对于插入 ,
--更新等随意对数据改动的操作都进行检查
--详细需求的check约束 ,依据需求百度,我开发至今都不怎么去使用 check,一方面客户
--不停的变更会不停的挑战 check,导致改动频繁,不有用測试数据插入变得麻烦
--check约束范例
CREATE TABLE CHECKTABLE(Fid INT,Fname VARCHAR(20 ),
Fage VARCHAR( 20) CHECK(Fage >0),
FWorkYear INT CHECK ( FWorkYear>0 ))

--主键约束
--因为每张表都要有主键,因此主键约束是很重要的 ,并且主键约束是外键关联的基础
--主键约束为表之间的关联提供了链接点
--主键必须可以唯一标识一条记录 ,也就是主键字段中的值必须是唯一的 ,并且不能包括
--NULL值从这样的意义来说,主键约束是 unique约束和非空约束的组合尽管一张表中能够
--有多个unique 约束和非空约束可是每一个表却仅仅能有一个主键约束
--字段后面添加primary
key
--主键约束范例:
CREATE TABLE PrimaryTable(Fid INT PRIMARY KEY, Fname VARCHAR( 20))

--外键约束
--当一些信息在表中反复出现的时候 ,我们就要考虑将他们提取到另外一张表中 ,
--然后在源表中引用新创建的表中的数据比方非常多作者都有不止一本著作 ,所以
--在保存书籍信息的时候,应该把作者信息放到单独的一张表 (然后把作者ID放到书籍表中 )
--范例格式: 
foreign key 外键字段references 外键表名 (外键表的主键字段)
--比方以下的SQL语句就是加入了外键约束 T_Author 表和T_Book 表的创建语句
CREATE TABLE T_AUTHOR(Fid VARCHAR(20 ) PRIMARY KEY, FName VARCHAR( 100)
,Fage INT ,FEmail VARCHAR (20));
CREATE TABLE T_BOOK(Fid VARCHAR(20 ) PRIMARY KEY, FName VARCHAR( 20)
,FPageCount INT ,FAuthorId VARCHAR (20)
,FOREIGN KEY ( FAuthorId) REFERENCES T_AUTHOR( Fid))

金典 SQL笔记(6)的更多相关文章

  1. 金典 SQL笔记(4)

    由于在本地笔记上写的.CSDN markdown编辑器仅仅支持.md格式导入, 图片没办法直接导进去.写的多了懒的一张一张图片切图上传; 直接整个文章切成图片上传上去了. watermark/2/te ...

  2. 金典 SQL笔记(9)

    page301-354其它解决方式 ---开窗函数 --測试数据及表 USE [NB] GO /****** 对象: Table [dbo].[T_Person2] 脚本日期: 08/14/2015 ...

  3. 金典 SQL笔记(2)

    由于在本地笔记上写的.CSDN markdown编辑器仅仅支持.md格式导入, 图片没办法直接导进去.写的多了懒的一张一张图片切图上传; 直接整个文章切成图片上传上去了.

  4. 金典 SQL笔记 SQL语句汇总

    SELECT * FROM (SELECT ROW_NUMBER() OVER ( ORDER BY id) AS rowN,FNumber, FName,FSalary ,Fage FROM dbo ...

  5. SQL 笔记 By 华仔

    -------------------------------------读书笔记------------------------------- 笔记1-徐 最常用的几种备份方法 笔记2-徐 收缩数据 ...

  6. SQL笔记 --- 数据库设计步骤(转)

    SQL笔记 --- 数据库设计步骤 目录 总体设计过程需求分析概念结构设计逻辑结构设计数据库物理设计数据库实施数据库运行和维护 总体设计过程 0 » 下一篇:vim 命令集 posted @ 2012 ...

  7. 【程序员的SQL金典】笔记(第6章~第11章)

        第六章 索引与约束   1.索引用来提高数据的检索速度,而约束则用来保证数据的完整性.   2.创建索引 创建索引的SQL 语句是CREATE INDEX,其语法如下: CREATE INDE ...

  8. 【程序员的SQL金典】笔记(第1章~第5章)

      第一章数据库入门 1.概念: 数据库 表 列 记录(行) 主键 索引         第二章 数据表的创建和管理 1.数据库系统中的数据类型大致可以分为五类:整数.数值.字符相关.日期时间以及二进 ...

  9. SQL笔记1:SELECT及SELECT高级应用

      T-SQL笔记1:SELECT及SELECT高级应用 本章摘要 1:安装AdventureWorks 2:基本运算符和表达式 3:between 4:like 5:escape 6:TOP 7:G ...

随机推荐

  1. CF869C The Intriguing Obsession

    思路: 分别在两种不同颜色的岛屿群之间进行搭桥.因为相同颜色的岛屿之间不能有边,任意两个相同颜色的岛屿不能同时和另外一个不同颜色的岛屿都有边.实现: #include <bits/stdc++. ...

  2. P3373 【模板】线段树 2 区间求和 区间乘 区间加

    题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.将某区间每一个数乘上x 3.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含三个整数N.M.P,分别 ...

  3. Javascript中的那些bug

    1. x(比如document) is not defined 不止要检查是不是没有声明变量就使用了,还要检查是不是对象的方法调用写错了!比如: alert( document.getElementB ...

  4. DataWhale学习计划(第六期):python基础任务6

    file-settings 然后选择project Interpreter 把project Interpreter复选框里面的地址换成你安装的anaconda下的python.exe的地址,点击sh ...

  5. TypeError: 'TestCase' object is not iterable

    这个异常呢其实是因为我对list没有足够熟悉 我一开始很疑惑,明明已经正确返回testcase对象了呀,为啥会报TypeError: 'TestCase' object is not iterable ...

  6. 从整体上理解进程创建、可执行文件的加载和进程执行进程切换,重点理解分析fork、execve和进程切换

    学号后三位<168> 原创作品转载请注明出处https://github.com/mengning/linuxkernel/ 1.分析fork函数对应的内核处理过程sys_clone,理解 ...

  7. vue组件---边界处理情况

    (1)访问元素&组件 ①访问根实例 在每个 new Vue 实例的子组件中,其根实例可以通过 $root 属性进行访问.例如,在这个根实例中: // Vue 根实例 new Vue({ dat ...

  8. swift 集成使用最新版百度地图_v2.10.2(一)

    目前在开发中使用百度地图的APP越来越多了,我在网上找的集成百度地图的例子不是很多,于是我就将我集成百度地图的过程记录了下来: 一.前提:安装CocoaPods sudo gem install co ...

  9. C++ 类的初始化列表

    class Animal{public: Animal(int weight,int height): //A初始化列表 m_weight(weight), m_height(height) { } ...

  10. ZOJ - 3993 - Safest Buildings (数学)

    参考:https://blog.csdn.net/KuHuaiShuXia/article/details/78408194 题意: 描述了吃鸡刷圈的问题,给出楼的坐标点,和两次刷圈的半径R和r,现在 ...