一.四种完整性约束

1.实体完整性约束:不允许出现相同记录的数据

2.域完整性约束:对字段进行限定,不得插入不符合限定的数据

3.引用完整性:表与表之间的关系

4.自定义完整性约束:开发人员自己设定对字段的约束,不允许出现不符合约束的数据

二.数据类型

二进制数据类型 存储非字符和文本的数据

  image 可用来存储图像

文本数据类型 字符数据包括任意字母、符号或数字字符的组合

  char 固定长度的非 Unicode 字符数据

  varchar 可变长度非 Unicode 数据

  nchar 固定长度的 Unicode 数据

  nvarchar 可变长度 Unicode 数据

  text 存储长文本信息

  ntext 存储可变长度的长文本

日期和时间 日期和时间

  datetime

数字数据 该数据仅包含数字,包括整数和浮点数

  int、smallint 整数

  float、real 浮点数

货币数据类型 十进制货币值

  money

bit数据类型 表示是/否的数据

  bit 存储布尔数据类型

三.表的常用操作:

1.创建表:点击想要创建的数据库,展开选中表文件夹右键-->新建表

2.保存表结构:ctrl+s 如果再次修改表不能保存则点击工具-->选项-->Designers-->将阻止要求重新创建表的更改前√取消选中

3.表的字段类型:在设定表的时候要明确字段的类型

4.表的主键:选用表中不会出现重复数据的列,而且尽量不要选择多列作为主键,最后要选择列数据修改次数不多的列作为主键

5.表的标识列:标识列的数据类型必须为int,将此字段的标识规范改为”是“

6.表数据的插入:点击表右键编辑前200行,然后插入每一列的数据7.表列的默认值:默认值列必须允许为空,然后在此列默认值的设定上指定默认值

四.主外键关联

外键找主键(需要关联的主键列在哪个表中哪个就是主键表)

五.数据库关系图

在数据库关系图下右键新建-->选中创建关系的表-->进行关系连线指定

六.约束

找到要创建约束的表,找到要创建约束的字段-->右键-->CHECK约束-->添加-->写入表达式

sql 用表组织数据的更多相关文章

  1. SQL Server表的数据量大小查询

    今天想在服务器上还原一个DB,发现磁盘空间不够,查看发现,其中一个DB竟然有56G了.因此想收缩一下这个DB,发现大小没多大变化.然后在网上找了找SQL脚本,看能不能查看下哪个表的数据量那么大. 网上 ...

  2. 多线程下不反复读取SQL Server 表的数据

    在进行一些如发送短信.邮件的业务时,我们常常会使用一个表来存储待发送的数据,由后台多个线程不断的从表中读取待发送的数据进行发送.发送完毕后再将数据转移到历史表中,这样保证待发送表的数据普通情况下不会太 ...

  3. 多线程下不重复读取SQL Server 表的数据

    在进行一些如发送短信.邮件的业务时,我们经常会使用一个表来存储待发送的数据,由后台多个线程不断的从表中读取待发送的数据进行发送,发送完成后再将数据转移到历史表中,这样保证待发送表的数据一般情况下不会太 ...

  4. SqlServer批量Sql一个表的数据导入到另一个数据

    一个表的导入: SET IDENTITY_INSERT [master_new].[dbo].[OpinionList] ON INSERT INTO [master_new].[dbo].[Opin ...

  5. SQL Server用表组织数据

    一.主键 主键作为表中的唯一标识,标识这一列不允许出现重复数据    如果两列或多列组合起来唯一标识表中的每一行,该主键叫“复合主键” 选择主键的原则     最少性      尽量选择单个键作为主键 ...

  6. 你还记的那一年你我学习的-->>用表组织数据*(数据表)

    不知不觉,踏上IT之路,光阴似箭,日月如梭.虽好像回到从前,回到那个无忧无虑的童年,回到那个花样少年的青春;回到那个年少幼稚的小学;回到那个整天幻想的初中;回到那个顽强不屈,誓死不弃的高中;回到那个整 ...

  7. sql:表中数据全部删除之后,重新插入时,从1开始增加

    数据库中设置了自增列,有时候需要清楚数据库从新录入数据.最常见的做法就是使用sql语句"delete 表明名"或是直接选中数据,然后删除数据.但是再次插入数据的时候,你就会发现自增 ...

  8. 导出 SQL SERVER 表中数据为脚本

    ALTER PROCEDURE [dbo].[Usp_OutputData] @tablename sysname, @outputIdentitycolumn int AS declare @col ...

  9. SQL 建表 插数据

    CREATE TABLE `article` ( `id` INT() NOT NULL PRIMARY KEY auto_increment, `title` CHAR() NOT NULL, `c ...

随机推荐

  1. 思科设备ACL与NAT技术

    ACL 访问控制列表(Access Control Lists),是应用在路由器(或三层交换机)接口上的指令列表,用来告诉路由器哪些数据可以接收,哪些数据是需要被拒绝的,ACL的定义是基于协议的,它适 ...

  2. poj 3320 复习一下尺取法

    尺取法(two point)的思想不难,简单来说就是以下三步: 1.对r point在满足题意的情况下不断向右延伸 2.对l point前移一步 3.  回到1 two point 对连续区间的问题求 ...

  3. Scala学习十二——高阶函数

    一.本章要点 在Scala中函数是”头等公民“(可以作为参数,返回值,赋值给其他); 可以创建匿名函数,通常还会交给其他函数; 函数参数可以给出需要稍后执行的行为; 许多集合方法都接受函数参数,将函数 ...

  4. MySQL mysql-5.7.21-winx64.zip安装指南

    一.下载mysql-5.7.21-winx64.zip压缩包 二.解压 1.在目录mysql-5.7.21-winx64下新建data文件夹 !!!如果已经存在data文件夹,请删除其中ib_logf ...

  5. Qt 中使用Java代码获取安卓设备的MAC地址(安卓9.0)

    public String GetDeviceMAC() { String strMacAddr = null; try { // 获得IpD地址 InetAddress ip = getLocalI ...

  6. python爬虫下正则各种字符串数据匹配

    s = '*\/:?"<>|' #这9个字符在Windows系统下是不可以出现在文件名中的str1 = '\巴拉<1"!11[]>1*hgn/p:?|' # ...

  7. mqtt协议实现 java服务端推送功能(三)项目中给多个用户推送功能

    接着上一篇说,上一篇的TOPIC是写死的,然而在实际项目中要给不同用户 也就是不同的topic进行推送 所以要写活 package com.fh.controller.information.push ...

  8. electron-vue在npm run build时报错 ⨯ cannot execute cause=fork/exec C:\Users\801\AppData\Local\electron-builder\Cache\winCodeSign\winCodeSign-2.5.0\rcedit-ia32.exe: Access is denied.

    问题描述 在electron-vue执行npm run build时报错,错误如下: ⨯ cannot execute cause=fork/exec C:\Users\801\AppData\Loc ...

  9. axios表单提交,delete,get请求(待完善)

    import { mapMutations} from 'vuex' import axios from 'axios' const mixins = { data() { return { } }, ...

  10. Java反射【一、概述】

    .net也使用过反射,不过用的比较浅显,用来记日志等.. Java基础课程学习已经过了一段时间了,接下来继续学习 本次学习包含以下内容 Java反射[一.概述] Java反射[二.Class类的使用] ...