`
wangqinqin
  • 浏览: 58737 次
  • 性别: Icon_minigender_2
  • 来自: 江苏
社区版块
存档分类
最新评论

创建表与表中字段的约束类型

阅读更多

1.      创建表:

一个oracle数据库中包含下列几种数据类型:

——table(表) 存储数据

——view (视图)从一个表或多个表的数据中得到的子集(虚的)

——sequence(序列) 生成主键值(自增)

——index (索引)提高查询性能

建表语法:

Create table 表名( 字段名1,类型(数据长度)(default……)约束条件,字段2,类型(数据长度) 约束条件。。。);

其中的default为缺省值:例:create table testid number name varchar230 default waa’);即当插入数据没有给此列插值时,此列name默认为‘waa’;

Oracle的数据类型:

Charsize):定长字符型,字符长度不够自动在右边加空格。

Varchar2size):可变长字符型,大小必须指定。

Numbermn):数据字符型,大小必须指定。

   其中m指有效位,n指的是小数位(四舍五入)

   有效位:从左边不为0的数字算起,四舍五入。如果有效位大于m报异常。

如:123.45642)——>123.46 // 报错。

   若是number 表示整形 。如 id number

Date日期类型。

Loblarge object)大对象,不能直接用insert插入。

Blob二进制大对象,也是以相当于指针的形式存放的。采用单字节存储,适合保存二进制数据,如图片,文件等。

Clob字符大对象,存文本。采用多字节存储,适合保存文本数据等。

 举例:

1:创建一个表mytest

Create table mytestid number name varchar230));

2:创建一个表mytest,将id字段默认设置位11

Create table mytest ( id number default 11 name varchar230));

3:创建一个表mytest,表中id字段必须大于10name字段不允许位空:

Create table mytestid name checkid>10),name varchar230 not null);

4:创建一个表mytest,表中要求id字段必须唯一:

Create table mytestid number unique name varchar230));

 

 

2.      约束(针对表中的字段进行定义的)类型:

l       PK: primary key(主键)

唯一且非空。保证实体的完整性,保证记录的唯一。主键唯一且非空,并且每一个表中只能有一个主键,有两个字段联合作为主键时,将两个字段组合在一起唯一表识记录,叫做联合主键

主键约束的定义:

第一种定义方式:列级约束

Create table testc number primary key); ——列级约束

Create table testc number constraint pk_c primary key);—— 给约束命名,其名字:pk_c

 

第二种定义方式(有三种方法):表级约束

Create table testc number , primary key( c ));—— 表级约束

Create table testc numberc1 numberprimary keyc c1);——用表级约束可以实现联合主键,且只能使用表级约束。

l       FK: foreign key(外键)  

外键约束,要求引用另一张表中已经存在的数据. 保证引用的完整性,外键约束,外键的取值是受另一张表中的主键或唯一值的约束,不能够取其他值,只能够引用主键或唯一键的值,被引用的表,叫做parent table(父表),引用方的表叫做child table(子表),想要创建子表,就要先创建父表;记录的插入也是如此,先父表后子表;删除记录,要先删除子表记录,后删除父表记录;要修改记录,如果要修改父表的记录要保证没有被子表引用。要删表时,要先删子表,后删除父表(可以通过使用cascade constraint选项来删除父表)。

创建父表和子表(即级联表):

第一种:Fk 使用“列级约束”来进行建表:

Create table parentc1 number primary key);

Create table childc number primary keyc2 number references parentc1));

第二种:Fk 使用“表级约束”来进行建表:

Create table parent (c1 number primary key)

Create table childc number primary keyc2 numberforeign keyc2references parentc1));

级联删除:

情况一:(如果删除父表中的某条记录,子表相应记录也被删除)

Create table parentid number primary key;

(插入操作:insert into parentidvalues1);

  删除操作:delete from parent where id=1;)

Create table childid number primary keyp_id number references parentid on delete cascade);

情况二:(如果删除父表某条记录,子表相应记录被置空)

Create table parentid number primary key);

Create table chileid number primary keyp_id number references parentidon delete set null);

l       UK:unique key (唯一键)

唯一且为空。唯一约束,允许为空,要求插入的记录中的值是唯一的。

例:create table student(id number ,name varchar2(30) ,address varchar2(30) , primary key(id) , unique(address));

检查(check)约束可以按照指定条件,检查记录的插入。Check中不能使用伪列,不能使用函数,不能引用其他字段。

1create table sal( a1 number  checka1> 1000)

2:创建表mytest表中id必须大于10name字段不能为空。

     Create table mytestid number checkid>10),name varchar2(30) not null);

3create table studentid number primary keyname varchar2(30) not nullage number(2) checkage between 10 and 90);

4create table student( id number primary keyname varchar2(30)sex varchar22checksex in’,’;

l       NN: not null(非空)

这是一个列级约束,在建表时,在数据类型的后面加上not null也就是在插入时不允许插入空值。

例:create table student (id number primary key ,name varchar2(30) not null unique , address varchar(30) );  // 一个字段上可以加多个约束

等价于:create table student (id number primary key ,name varchar2(30) not null, address varchar(30) ,unique( name ) );  // 一个字段上可以加多个约束

 

 

查看表约束:

Select * from user_constraints where table_name=’parent’;

Constraint_type:  c: check   p: primary key  r: foreign key  u: unique

0
0
分享到:
评论

相关推荐

    mysql创建表.docx

    mysql创建表 创建MySQL表需要使用CREATE TABLE语句,并指定表的名称以及各个字段的名称和数据类型。下面是一个示例,创建一个名为`...如果你想要更详细的解释,或者需要创建具有不同字段或约束的表,请随时告诉我。

    mysql创建表.pdf

    在创建表时,你还可以定义更多的复杂结构,例如设置字段的默认值、唯一性约束、外键等。 下面是一个更复杂的例子,它创建了一个名为 "products" 的表,包含 "id" (主键,自增), "name" (唯一,长度为100), "price" ...

    mysql创建表方法.zip

    MySQL 创建表是一个基础的数据库操作,它涉及到定义表的结构,包括列名、数据类型、约束等。下面我将详细解释如何在 MySQL 中创建表,并给出一个完整的例子。 • 表名:你想要创建的表的名称。 • 列名:表中的列...

    数据库系统之实体完整性约束.pdf

    删除上⾯添加的约束 (1)删除student表的主码约束 (2)删除course表的外码约束 (3)删除course表中cname取值唯⼀的约束 ⼆、题⽬准备 ⼆、题⽬准备 此次上机需要的各个数据库各个字段的数据类型为: 此次上机需要的各个...

    MySQL所支持的数据类型与表字段约束类型的学习教程

    在创建表的时候,要明确定义字段对应的数据类型。MySQL 主要的数据类型分为数值类型、字符串(文本)类型、时间日期类型和其他类型几类。 数值类型 数值类型说明: 补充说明 在 int(integer) 系列中,只能存储...

    数据库资料

    回顾SQL Server的约束约束的目的:确保表中数据的完整型常用的约束类型:主键约束(Primary Key Constraint):要求主键列数据唯一,并且不允许为空唯一约束(Unique Constraint):要求该列唯一,允许为空,但只能...

    数据库SQLserve2005

    (1)定义表结构:给表的每一列取字段名,并确定每一列的数据类型、数据长度、列数据是否可以为空等。 (2)设置约束:设置约束是为了限制该列输入值的取值范围,以保证输入数据的正确性和一致性。 (3)添加数据:...

    MySQL入门教程(五)之表的创建、修改和删除

    MySQL 为关系型数据库... 其中,属性名指表中字段的名称,数据类型即对应字段的数据类型,完整性约束条件指对应字段的某些特殊约束条件。  MySQL中基本的完整性约束条件有  1.1 设置表的主键  主键是表的一

    MySQL数据库:表的管理SQL语句.pptx

    [ADD <新字段名> <数据类型> [<列级完整性约束条件>] [FIRST|AFTER 已存在字段名]:为指定的表添加一个新字段。其中,“FIRST”表示将新添加的字段设置为表的第1个字段。“AFTER”是将新字段添加到指定的“已存在...

    SQL Server中用T-SQL语句实现(建表、键约束、建关系)

    create table 表名(字段 数据类型 约束) 例如: create table Student( StudentId int , --学生编号 StudenName varchar(50) --学生姓名 )  1.2 删除表 --使用 drop table 删除表 --注意事项:删除表...

    数据库SQL语句讲解.pptx

    完整地设置数据库表的一个字段需要哪几个步骤? 数据库SQL语句讲解全文共112页,当前为第1页。 回顾 添加各种约束一般在什么时候完成? 可以在创建表的时候添加 也可以在表创建完成以后添加。 SQL Server中约束包括...

    MySQL表的约束

    **真正约束字段的是数据类型,****但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,**从业 务逻辑角度保证数据的正确性。比如有一个字段是email,要求是唯一的。 表的约束很多,这里主要...

    第三章:数据表管理(2):创建表

    定义数据表的字段和主键 我们有两种方式可以创建数据表的和定义主键:SSMS界面直接创建、T-SQL语句。 1.SSMS界面创建表 (1).登陆你的数据库,点开右键”表”—-》新建—-》表。 (2).列名就是该列名称,数据类型就是...

    MySQL数据库创建表:从设计到实现的全过程.zip

    mysql创建表:详细介绍了在MySQL中创建表的过程,包括表结构设计、字段类型选择、约束条件设置以及创建表的SQL语句。通过掌握这些技巧和方法,读者可以更好地理解和应用MySQL的表创建功能,为构建高效、稳定的数据库...

    mssql数据库中的表、字段sql语句

    在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都对应一行。 列名 数据类型 说明 name sysname 对象名 id int 对象标识号 xtype char(2) 对象类型。可以是以下对象类型...

    MySQL学习笔记4:完整性约束限制字段

    完整性约束是对字段进行限制,从而符合该字段达到我们期望的效果比如字段含有默认值,不能是NULL等 直观点说:如果插入的数据不满足限制要求,数据库管理系统就拒绝执行操作 设置表的主键 主键能够标识表中每条信息...

    MySQL-②创建表

     字段名 数据类型 [列级约束],  字段名 数据类型 [列级约束] ,  …..  表级约束  ); 3. MySQL支持的主要数据类型  int 整型  char(n) 定长字符型  varchar(n) 变长字符型  float(m,d) 单精度型,m表示总...

    1数据库判断题.doc

    N 7."通过输入数据创建表"方式建立的表结构既说明了表中字段的名称,也说明了每个字 段的数据类型和字段属性。N 8.修改表结构在设计视图中完成,编辑表记录只能在数据表视图中完成。Y 9.格式属性用来决定数据的...

    oracle 表和视图.

    4.1 表的创建和操作 4.2 数据完整性和约束条件 4.3 修改表结构 4.4 分区表简介 4.5 视图创建和操作 4.6 阶段训练 4.7 练 习

    图书管理系统--创建数据库和表.doc

    /* 1管理员表(L_Administrator) 字段名 字段说明 数据类型 约束 备注 a_id 管理员编号 int Primary Key Identity(1000,1) a_name 管理员姓名 nvarchar(20) Not null a_pwd 管理员密码 varchar(20) Not Null */ use...

Global site tag (gtag.js) - Google Analytics