数据库类型约束自增长

一、数据类型:

整数:int,bigint,smallint

小数:float,real,decimal(长度,精度),numeric(长度,精度)

字符:char(n),varchar(n) 8000英文字符,4000汉字

text——大文本。

逻辑:bit 0,1/true/false

二进制类型:binary 8000,image

日期:datetime(1753-1-1~9999,12,31),smalldatetime(1900.1.1--2079.6.6)

数据类型的作用:建表,SQL编程

二、约束——保证数据的完整性。

(一)主键约束——实体

1.不重。2.不空。3.排序。4.唯一(不能出现两个主键)5.组合主键。

建主键:

1.可视化建主键。

表的设计视图中

2.代码建主键。 primary key

(二)外键约束——引用

两个表,主表和从表。主表——用主键来约束对方的。从表——被约束的表,被约束的列称为外键列。

外键总是建在从表上。

从表外键上填写的内容必须是主表主键里面的已经有的内容。

建外键:

1.可视化:表的设计视图中--关系——外建窗口;使用数据库关系图。

2.代码:references 主表名(主键列)

(三)非空约束 ——不能为空

1.可视化:表的设计界面,每一列后都有一个“允许为null”的复选框。

2.代码:not null

(四)自增长

它有“种子”(起始值)和"步长"(每次增长的数量)。

注意:

1.每个自增长的值,一旦被用过了,就废了,不会再重复使用。

2.任何向自增长列添加值的行为都不正确。

3.对列有类型要求:int decimal

1.可视化:在列的属性中,标识规范——是。

2.代码:identity

(五)Check约束

主要是对列里面的值做进一步的规范化。

1.可视化:在列上右击——check约束——在弹出的对话框中添加check约束。

2.代码:check(表达式)

(六)默认值

1.可视化:在列的属性——默认值或绑定

2.代码:default 值

(七)唯一约束

可以空,但不能重。

1.可视化:在列上右击选择——索引/键——在这个界面中既可以建索引又可以建唯一约束。

2.代码:unique

三、索引

提高查询的效率。一个表可以对不同的列建立多个索引。

簇索引(排序,主键),非簇索引(普通索引)。

索引的劣势:对增、删、改的效率会降低。

1.可视化:跟唯一约束的建法相似。

2.代码:create index 索引名 on 表名(列名)

四、视图

把查询给包装起来,使用起来就像用一个表一样。

视图本身不存储数据。

视图可以从一个表、多个表、多个表和视图上建立起来。

视图的优势:查看方便。劣势:增、删、改不方便。

1.可视化:对象资源管理器中,数据库--视图右击--新建视图。

2.代码:create view 视图名

时间: 2024-08-01 10:45:49

数据库类型约束自增长的相关文章

数据库的约束

数据库的约束用于保证数据的完整性,即保证数据的正确性和唯一性. 总的来说有五种:唯一性和主键约束.外键约束.检查约束.空值约束.默认值约束, 有五大关键词,UNIQUE和Primary Key, Foreign Key, CHECK, NOT NULL, DEFAULT 1.--主键约束(Primay Key Coustraint) 唯一性,非空性主关键字约束指定表的一列或几列的组合的值在表中具有惟一性,即能惟一地指定一行记录.每个表中只能有一列被指定为主关键字,且IMAGE 和TEXT 类型的

数据持久化、单例、重载【添加对不可访问的成员的操作】、魔术方法、类常量、static关键字对self的补充【静态延迟绑定实现$this的效果】、参数类型约束【参数前加类名】、遍历【iterator接口】、快速排序

1.数据持久化过程[传输(例如表单提交或php交互mysql)和保存过程] 使用的是字符串形式的流数据. 数据流就是为了传输[按照序列的形式进行传输] [http://baike.baidu.com/link?url=0MtUQMhFzc_EwJc09rXZV8KlfOL4jis6XNbRfmGA3rQhDcGwOp8togLVQjXBV34M] 所以将其他类型数据转化为字符串的过程也是序列化的过程 [这个概念和图片.视频的流媒体的区别?] [注意点] 另外mysql中sql语句中的某些关键词为

引擎,创建完整表,数据库模式,数据库类型,约束条件

引擎(****) 前提:引擎是提供给表使用的,不是数据库 mysql> show engines;#展示所有的引擎 #重点: #innodb(默认):支持事务,行级锁,外键 #myisam:查询效率优于innodb,当不需要支持事物,行级锁,外键,可以通过设置myisam来优化数据库 mysql> use db1; mysql> create table t1(id int)engine=innodb; mysql> create table t2(id int)engine=my

第81讲:Scala中List的构造和类型约束逆变、协变、下界详解

今天来学习一下scala中List的构造和类型约束等内容. 让我们来看一下代码 package scala.learn /** * @author zhang */abstract class Big_Data class Hadoop extends Big_Dataclass Spark extends Big_Data object List_Constructor {  def main(args:Array[String]){    val hadoop = new Hadoop ::

Winform开发框架中实现同时兼容多种数据库类型处理

在很多应用系统里面,虽然一般采用一种数据库运行,但是由于各种情况的需要,可能业务系统会部署在不同类型的数据库上,如果开发的系统能够很方便支持多种数据库的切换,那可以为我们减少很多烦恼,同时提高系统的适应性和强壮型.还有一种情况,由于业务数据库的不断膨胀或者方便数据库的切割隔离,有时候也会把不同的业务数据库进行分拆,如权限提供数据库,客户关系管理数据库,工作流程数据库,企业营运数据库等等,因此在一个系统里面,同时使用2个或者以上的数据库的情况也是有的. 在我较早期的一篇随笔<Winform开发框架

泛型中的类型约束和类型推断

前一篇文章介绍了泛型的基本概念.在本文中,我们看一下泛型中两个很重要的特性:类型约束和类型推断. 类型约束 相信你还记得前面一篇文章中的泛型方法,在这个泛型方法中,我们就使用了类型约束. 类型约束(type constraint)进一步控制了可指定的类型实参,当我们创建自己的泛型类型或者泛型方法的时候,类型约束是很有用的. 回到前一篇例子中的泛型方法,这个泛型方法就要求可指定的类型实参必须实现了IComparable接口. 为什么会有这个约束呢?原因很简单,因为我们在泛型方法的实现中直接调用T类

atitit. hb 原生sql跨数据库解决原理 获得hb 数据库类型运行期获得Dialect

#-----原理 Hibernate 运行期获得Dialect 2010-07-28 12:59:58|  分类: 软件开发 |举报 |字号 订阅 String dialect = ((SessionFactoryImpl) session.getSessionFactory()).getDialect() .getClass().getName(); //     //org.hibernate.dialect.MySQLDialect 如果是spring + hibernate则可以: St

渗透测试之各种数据库类型特点的总结

背景介绍:从攻击者角度分析,如果要对一个完全未知(数据库类型.数据库.数据表.网站后台)的网站进行攻击,简单来说,我们要对一个陌生的网站进行盲注.那么实行注入可以从数据库入手,那么一个数据库可从从哪些方面入手呢?独特的数据表.独特的SQL语句的用法....... 那么接下来,我们来总结一下几个数据库的特点,欢迎各位大侠进行总结. 数据库类型介绍: 1.MSSQL 这些数据库时sqlserver自带的数据库,可以通过sql语句,对这些数据库进行一个简单的监测 select * from S_Use

Scala 深入浅出实战经典 第81讲:Scala中List的构造是的类型约束逆变、协变、下界详解

王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-97讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2土豆:http://www.tudou.com/programs/view/ceac2IoB-ik/优酷:http://v.youku.com/v_show/id_