SQL Serever学习6——数据表
数据表
表的构成
数据库中的基本表由记录(行)和字段(列)构成,SQLServer2008每个表可以有1024个列,每个列可以有8060字节(不包括iamge,ntext,text类型)。
- 记录(Record):表中的行,保存某一个相关属性的一组数据。
- 字段(Field):表中的列,保存某些事物的某一个属性值。
表的分类
- 系统表,保存系统信息,只有管理员有权使用
- 临时表,数据库运行中创建的临时存储数据的表,断开连接被删除
- 分区表,数据量很大时,可以将其中数据分成多个部分,分别放在数据库的多个文件组中,访问时不是访问整个数据表,而是分区表,大大提高了访问速度
数据类型
- 数字类型,bigint,int smallint,tinyint,decimal,bit,float,real
- 日期类型,datetime,smalldatetime
- 字符类型,char,varchar,nchar,nvarchar,text
- 货币类型,money,smallmoney
- 二进制类型,binary,varbinary,image
数据表创建
数据表的高级设置
- 数据的完整性
- 实体完整性,通过索引,UNIQUE唯一约束,PRIMARY KEY主键约束,IDENTITY列标识,实现
- 域完整性,特定字段的有效性,可以通过数据类型,check约束限制格式,foreign key约束,default定义,not null定义来实现
- 参照完整性,通过foreign key和check约束实现
- 用户定义完整性,包括各种约束,存储过程,触发器实现
- 主键和外键
- 主键primary key,可以使用多个字段组合作为主键,但是主键要尽量少,并且要稳定
- 外键foreign key
- 标识列
- 标识列IDENTITY需要设置种子(初始化值,一般为1)和增量(新增数据自增的值,一般为1)
- 默认值
- 默认值default,为了减少用户工作,设置默认值,用户输入时,系统会自动添加
- 检查约束
- check约束,定义列可以接受的数据值或者格式,比如 价格>0
设置主键
选择表,右键,设计,打开表的设计视图,然后选择商品编号,右键,选择设置主键,设置好以后会在字段左边出现一把钥匙图标
设置默认值
选择品牌字段,在下方的列属性,默认值或绑定中输入:A牌。然后回车,系统会自动加引号。
设置check约束
选进价,右键,选择check约束
点击添加,修改约束名称为:CK_商品表_1
设置表达式,进价>0,然后关闭,然后记得保存。
输入数据进行验证
前一种方法是修改表结构,另外一种方法是直接添加约束
未完待续。。。
SQL Serever学习6——数据表的更多相关文章
- SQL Serever学习8——数据表3
创建索引 索引就像是字典的目录一样,可以快速的指定需要的数据. 有没有索引的区别 一个没有索引的集合,如果我们需要查找某一个对象,需要遍历整个集合,直到找到匹配的对象,整个工作费时费力,这只是找一个对 ...
- SQL Serever学习7——数据表2
修改数据表的属性 保存数据表的修改的时候,总会弹出阻止修改的警告. 解决方法2种: 1.可以使用T-sql语句强行修改 2.工具>选项>设计器>表设计器和数据库设计器>阻止保存 ...
- Sql Server系列:数据表操作
表是用来存储数据和操作数据的逻辑结构,用来组织和存储数据,关系数据库中的所有数据都表现为表的形式,数据表由行和列组成.SQL Server中的数据表分为临时表和永久表,临时表存储在tempdb系统数据 ...
- 使用Sql语句快速将数据表转换成实体类
开发过程中经常需要根据数据表编写对应的实体类,下面是使用sql语句快速将数据表转换成对应实体类的代码,使用时只需要将第一行'TableName'引号里面的字母换成具体的表名称就行了: declare ...
- 【SQL Server】sql server更改了数据表的字段/新增数据表的字段 无法保存
sql server更改了数据表的字段/新增数据表的字段 无法保存 解决方法:进入 工具-->选项-->Designers-->表设计器和数据库设计器-->取消勾选 即可
- MyBatis学习(二)---数据表之间关联
想要了解MyBatis基础的朋友可以通过传送门: MyBatis学习(一)---配置文件,Mapper接口和动态SQL http://www.cnblogs.com/ghq120/p/8322302. ...
- 定制Asp.NET 5 MVC内建身份验证机制 - 基于自建SQL Server用户/角色数据表的表单身份验证
背景 在需要进行表单认证的Asp.NET 5 MVC项目被创建后,往往需要根据项目的实际需求做一系列的工作对MVC 5内建的身份验证机制(Asp.NET Identity)进行扩展和定制: Asp.N ...
- SQLite学习手册(数据表和视图)
如何列出SQLite数据库中的所有表 SQLite数据库中的信息存在于一个内置表sqlite_master中,在查询器中可以用 select * from sqlite_master 来查看,如果只要 ...
- MySQL学习3 - 数据表的操作
本节掌握 一.存储引擎(了解) 二.mysql支持的存储引擎 1.InnoDB 存储引擎 2.MyISAM 存储引擎 3.NDB 存储引擎 4.Memory 存储引擎 5.Infobright 存储引 ...
随机推荐
- Android 如何查看源码 (eclipse 按住 ctrl )
首先要确认 Android SDK Manager 下载并安装了 sources.然后在代码中按住 ctrl 在点一个类名, 如果打开的页面是找不到源码,就点那个按钮,然后找到源码所在的文件夹,就可以 ...
- 【ocp-12c】最新Oracle OCP-071考试题库(40题)
40.(8-7) choose two Which two statements are true regarding views? (Choose two.) A) A simple view in ...
- Q4m使用手册
q4m是基于mysql存储引擎的轻量级消息队列,通过扩展SQL语法来操作消息队列,使用简单,容易上手,开发人员基本不用再进行学习和熟悉.Q4M支持多发送方,多接收方,接收方相互不影响,php项目中异步 ...
- PHP全局变量与SESSION 漏洞(global 与 session)
先看这一段简单的代码 <?php session_start();$_SESSION[‘isadmin’]=’yes’;$isadmin=’no’;echo $_SESSION[‘isadmin ...
- ubuntu下apache2使用的简单总结
一. 修改apache2原80端口为90端口 1. 修改/etc/apache2/ports.conf, 将端口80改为90,443,改为444 2. 修改/etc/apache2/sites ...
- itemgetter和groupby
一. itemgetter的使用方法 itemgetter()返回一个指定列表下标或者字典键的函数,通过这个返回的函数作用到对象上,获得才能取得相应的值 1. 排序字典列表的一个例子 from ope ...
- React Native vs. Cordova.
简评:跨平台开发五彩斑斓,本文作者简单介绍 RN 和 Cordova 的两种不同终端跨平台流程,从与原生开发联系中分析其利弊. 什么是原生(Native)? 原生是一个相对概念.其实软件开发最后意义指 ...
- 【OpenCV3】直线拟合--FitLine()函数详解
一.FitLine()函数原型 CV_EXPORTS_W void fitLine( InputArray points, // 待输入点集(一般为二维数组或vector点集) OutputArray ...
- 后台开发面试题(.net与java)
最近面试了几家公司,发现大部分公司面试题有相似的地方.现在此记录下我还记得的一些题: JAVA部分: 1.Java Map 按Key排序和按Value排序: 参考链接:Java Map 按Key排序和 ...
- AES对称加解密
简介设计思想加密模式ECB模式(电子密码本模式:Electronic codebook)CBC模式(密码分组链接:Cipher-block chaining)CFB模式(密文反馈:Cipher fee ...