数据库字段的约束

数据库中的约束我归纳了一下有几种据我所知道的列举出来数据库中的字段的约束很有哟个他可以对输入的内容及逆行一个规则

为了防止以后忘了所以现在列举出来给大家和我一个参考

1)主键约束(primary  key)

主键约束通常都是在id字段上使用的他又两个特点不能为空或 不能重复 ,

主键约束(primary key)

  例如:create table 表名(

          uid number(20) primary key ,

          uname varchar2(6)

          );

2)非空约束(not null)

  非空约束,就是保证一个字段不能为空,不能有空值存在,如果插入空值,则会报错。

3)唯一约束(unique)

  如果想让某个字段唯一,则为它加上unique唯一约束,当插入了相同的值时会报错。

  例如:create table 表名(

            uname varchar2(6) unique,

            uid number(10) primary keye

           );

4)检查性约束(check (字段名 in (一个合法范围)))

   使用检查性约束可以用来约束某个字段值的合法范围。例如用1表示男,2表示女。

    create table 表名(    

            gender number(1) check (gender in(1,2)),

           );

5)外键约束

  外键约束用于两张表之间,用来保证关联数据的完整性。例如订单和订单明细表,一对多关系。

  创建订单表:

    create table 表名(

             order_id number(10),

             total_price number(10,2),

             );

   创建订单明细表:

      create table order_detail(

                 detail_id number(10),

                 order_id number(10),//在order表中是主键

                 item_name varchar2(10),

                 quantity number(10),

                 constraint order_detail_detail_id_pk primary key (detail_id),

                 constraint order_detail_order_id_fk foreign key (order_id) referencs orders(order_id)|on delete cascade|on update cascade

              );

6)自增(identity)

    identity一起使用的时候就会出现 他可以去自动的增长不用你去人为的输入。

    identity(1,1)自增从1开始每次自增 的空间是1

参考自:https://www.cnblogs.com/sunxuchu/p/5578057.html

参考自:https://www.cnblogs.com/jasonboren/p/10921508.html

原文地址:https://www.cnblogs.com/zsznh/p/11139808.html

时间: 2024-11-12 08:28:47

数据库字段的约束的相关文章

数据库高并发情况下重复值写入的避免 字段组合约束+ SQL SERVER 的SQL语句优化方式小结(转)

10线程同时操作,频繁出现插入同样数据的问题.虽然在插入数据的时候使用了: insert inti tablename(fields....) select @t1,@t2,@t3 from tablename where not exists (select id from tablename where [email protected],[email protected],[email protected]) 当时还是在高并发的情况下无效.此语句也包含在存储过程中.(之前也尝试线判断有无记

数据库的检查约束check约束

数据中的约束,主要有主键约束,外键约束,非空约束等. 主键约束其实就是非空唯一约束,非空唯一约束也可以通过建立唯一索引来实现,外键约束需要通过其他的表来帮助实现,非空约束在定义是数据库字段时就定义了.还有另一类约束check约束,用处挺大的,只是自己很少使用.   那check约束可以实现那些功能呢?   1范围规定   2枚举值规定   3特定的匹配 1范围规定   例如规定,金额只能大于0 ALTER TABLE tablename ADD CHECK (jine>0) 2枚举值规定 例如难

提取数据库字段里面的值,并改变+图片懒加载,jquery延迟加载

要求:手机端打开某个页面的详细信息,因为网速或者别的原因,响应太慢,因为图片大的原因,希望先进来,图片在网页运行的情况再慢慢加载(jquer延迟加载) http://www.w3cways.com/1765.html()  困难:因为页面的图片是用编辑器加进去的        :图片与文字存到数据库的字段中 :实现思路:从数据库中读取这个字段,把字段里面的src替换成lazyload 然后再返回给页面 这里主要讲是怎么把从数据库取到的数据里面的字段里面的值替换然后与页面直接的数据转换 首先 pu

mysql数据的类型以及字段的约束问题【重点】

1.确保mysql字段[包括库名.表名]的正确,必要使用反引号 2.校对集指的是字符之间的关系[对字段值的字符处理]校对集依赖于字符集校对集:在某个字符集下面,这些字符的排序关系称之为校对集[对字段进行某种排序处理] 在phpmyadmin中设置库的编码,使用的ci结尾的编码就是使用了校对集[默认是使用的,但是其实校对集基本用不上] _bin:二进制编码层面直接比较_ci:忽略大小写_cs:不忽略大小写[http://www.jb51.net/article/30865.htm] 3.整型介绍s

获取映射注解,查询数据库字段的信息

//通过循环 可以获得 注解中的name值@Column(name="EO_XXX"),本方法获取的是 get方法的注解 Method[] methods= EoOrderMaterielModel.class.getMethods();  Map<String,String> modelColumns=new HashMap<String, String>();  for(Method m:methods){   Annotation ats[]=m.getA

菜品原价为0,说明菜品没有原价.菜品原价大于0,则显示菜品原价.并以删除线删去.每个菜品都是直接取的数据库字段.

菜品原价为0,说明菜品没有原价.菜品原价大于0,则显示菜品原价.并以删除线删去.每个菜品都是直接取的数据库字段. 1 <script type="text/javascript"> 2 function deletelinedisplay() { 3 var str_s = document.getElementById("DataList1").getElementsByTagName("s").length; 4 for (var

关于金额,重量等浮点数的数据库字段设计(用Int,Long代替浮点数计算)

金额.重量.成绩等数据库字段推荐使用int或bigint类型. 通常我们数据库设计中金额,重量等涉及到小数位的字段会用float或decimal,mysql还可以用double,但往往每笔金额的计算我们只需要精确到分,重量精确到克,最佳的设计是用int型来代替浮点型,如果涉及到的数字比较大,超过int型的取值范围(-2,147,483,648~2,147,483,647),最大金额为21474836.47,即两千多万,或者2147483.647公斤,哪么我们可以用bigint,c#中使用long

实体类与数据库字段的映射常见错误(at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set)

严重: Servlet.service() for servlet springMVC threw exception java.lang.IllegalArgumentException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.refl

数据库字段关联更新

MS SQL Server 子查询更新: update log set uin= b.uin from log a,logs b where a.accountuin = b.accountuin mysql 更新: update t_stat_month_user a INNER JOIN t_dept b on a.op_dept=b.op_id set a.dept_short_name=b.dept_short_name; 数据库字段关联更新,布布扣,bubuko.com