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 存储引 ...
随机推荐
- WPF自定义滚动条
我修改了一些地方,部分代码参考了博主 https://www.cnblogs.com/xiaomingg/ <!-- ScrollViewer 滚动条 --> <Style x:Ke ...
- Android 获取 content layout
if (findViewById(android.R.id.content) instanceof ViewGroup) { ViewGroup mainView = ((ViewGroup)find ...
- “全栈2019”Java多线程第十二章:后台线程setDaemon()方法详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- String类的操作方法
因String属于java核心包lang包的东西,所以不需要导包! /* * 字符串操作 * */ String name = "jck"; String name1 = &quo ...
- Q4m使用手册
q4m是基于mysql存储引擎的轻量级消息队列,通过扩展SQL语法来操作消息队列,使用简单,容易上手,开发人员基本不用再进行学习和熟悉.Q4M支持多发送方,多接收方,接收方相互不影响,php项目中异步 ...
- JavaBean简介及使用
JavaBean简介及使用 望星空 https://blog.csdn.net/joywy/article/details/7773503 一.JavaBean简介 JavaBean是使用Jav ...
- GPS坐标转百度地图坐标
百度地图提供了相关API:BMap.Convertor.translate, 但是使用上存在部分限制:1.次数限制:2.异步回调 可以用如下方法: /** * 地图位置计算工具(将GPS坐标转换成百度 ...
- leetcode-409-Longest Palindrome(统计字母出现次数)
题目描述: Given a string which consists of lowercase or uppercase letters, find the length of the longes ...
- leetcode-383-Ransom Note(以空间换时间)
题目描述: Given an arbitrary ransom note string and another string containing letters from all the magaz ...
- STM32-RTC实时时钟-毫秒计时实现
OS:Windows 64 Development kit:MDK5.14 IDE:UV4 MCU:STM32F103C8T6 1.RTC时钟简介 STM32 的实时时钟(RTC)是一个独立的定时器, ...