当前位置:首页 » 编程语言 » sql增加列和完整性约束
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql增加列和完整性约束

发布时间: 2023-04-02 12:41:11

‘壹’ sql语句给表加新字段,不知道语法,怎么办

添加完整字段包括字段名、数据类型、完整性约束。桐乱哪添加字段的语法格式如下:

语法结陪孝构:alter table 表名 add 新字段 数据类型 约束条件 first | after 已存在的字段名;

(1) 添加无完整性约束条件的字段

语法结构:alter table 表名add 新字段 数据类型;

案例:在表tb_department1中添加一个完整性约束的int字段managerId(部门经理编号),SQL语句如下:

命令语句:alter table tb_department1 add managerId int(10);

执行结果如下:

‘贰’ sql问题,索引的修改。alter index语句如何使用,谢谢

alter index常用的语法如下:
(1)重建指定索引:
ALTER INDEX ind ON TA
REBUILD;
(2)重建全部索引:
ALTER INDEX ALL ON TA
REBUILD;
(3)禁用索引:
ALTER INDEX ALL ON TA
DISABLE;
(再次启用使用REBUILD重建而不是ENABLED)
(4)指定参数重建索引:
ALTER INDEX ALL ON TA
REBUILD WITH(FILLFACTOR=80);
(5)指定参数修改索引:
ALTER INDEX ALL ON TA
SET(IGNORE_DUP_KEY = ON);

注意:alter index语法,不能用于修改索引定义,如添加或删除列,或更改列的顺序

‘叁’ 数据库用SQL语言建表,什么是完整性约束请问如何写出各种完整性约束

一、数据的完整性

实体完整性

实体完整性简单的说,就是将表中的每一行看作一个实体。实体完整性要求表的标示符列或主键的完整性。可以通过建立唯一索引、PRIMARY KEY约束、UNIQUE约束,以及列的IDENTITY属性来实施实体完整性。

域完整性

域完整性是指给定列的输入有效性。要求表中指定列的数据具有正确的数据类型、格式和有效的数据范围。强制域有效性的方法有:限制类型(通过数据类型)、格式(通过 CHECK 约束和规则)或可能值的范围。域完整性通过 FOREIGN KEY 约束、CHECK 约束、DEFAULT 定义、NOT NULL 定义和规则来实现。

引用完整性

引用完整性又称参照完整性。引用完整性维持被参照表和参照表之间的数据一致性,他通过主键(PRIMARY KEY)约束和外键(FOREIGN KEY)约束来实现。

用户定义完整性

二、约束操作

与表相关的约束

在SQL 2008中,常用有6种约束,分别是NOT NULL,UNIQUE,PRIMARY KEY,FOREIGN KEY,DEFAULT和CHECK.

--添加主键约束(即primary key约束)

alter table goods add constraint pk_gid primary key(gid)

--1.删除主键约束

alter table goods drop pk_gid

--添加唯一约束(即unique约束)

alter table goods add constraint uq_gname unique(gname)

--删除唯一约束:仿1.

--添加缺省约束(即default约束)

alter table goods add constraint def_gtel default 0000-00000000 for gtel

--删除缺省约束:仿1.

--添加检查约束(即check约束)

alter table goods add constraint ck_gprice check(gprice>500)

--删除check约束:仿1.

--创建表2

create table g_p

(

wno int identity(1,1) primary key,

gno int

)

--添加外键约束(即foreign key约束)

alter table g_p

add constraint fk_gno

foreign key(gno) references goods(gid)

--删除外键约束:仿1.

--使用newid()

select newid()--生成全球唯一的ID号

create table customer

(

custID uniqueidentifier not null default newid(),

customer char(30) not null

)

insert customer values(newid(),\''\''accp\''\'')--向customer中插入信息

-----------------------------------慢慢研究----

‘肆’ 怎样使用SQL语句定义主码完整性约束和引用完整性约束

可以在建表时定义、
create table test1(t1 int primary key,t2 int) ti是主键、主码完整性约束
create table test2(t3 int primary key,t1 int foreign key references test1(t1))
test2中t3为主键、t5为外键引用test1的t1
也可以使用
alter table test2
add constraint fk_s foreign key (t1) referneces test1(t1) 添加引用完整性,fk_s是约束名、自己随便起

如果test1的ti不是主键、可以通过
alter table test1
add constraint fk_t primary key (t1) 添加主码完整性,被指定的列、原表中一定要不能为空

‘伍’ 在SQL中,列级完整性约束和表级完整性约束分别分为几种情况请列举。

建表的同时通常还可以定义与该表有关的完整性约束条件,这些完整性约束条件被存入系统的数据字典中,当用户操作表中数据时由DBMS自动检查该操作是否违背这些完整性约束条件.如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级.
例1 建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成.其中学号不能为空,值是唯一的,并且姓名取值也唯一.
CREATE TABLE Student
(Sno CHAR(5)NOT NULL UNIQUE,/*列级完整性约束条件,Sno取值唯一,
Sname CHAR(20)UNIQUE,不许取空值*/
Ssex CHAR(1),
Sage INT,
Sdept CHAR(15));
常用完整性约束:
主码约束:PRIMARY KEY
唯一性约束:UNIQUE
非空值约束:NOT NULL
参照完整性约束

‘陆’ sql中表达完整性约束的机制主要有哪几种

在SQL中,表达完整性约束的规则有主键约束、外键约束、属性值约束和全局约束等多种形式。 x0dx0a(1)主键约束:可用主键子句或主键短语来定义。 x0dx0a如 PRIMARY KEY (S#) (主键子句) x0dx0aS# CHAR (4) PRIMARY KEY (其中,PRIMARY KEY 为主键短语) x0dx0a(2)外键约束:可用外键子句来定义 x0dx0a如 FOREIGN KEY (S#) REFERNCE S(S#) x0dx0a x0dx0a(3)属性值约束:包括非空值约束(NOT NULL);基于属性的检查子句(CHECK) ; x0dx0a域约束子句(在“CREAT DOMAIN”语句中出现CHECK子句)x0dx0a如CREAT DOMAIN AGE SMALLINT CHECK (VALUE>10) x0dx0a(4)全局约束:包括基于元组的检查子句(CHECK)和断言 x0dx0a断言的句法为:CREATE ASSERTION 断言名 CHECK 条件