SQL语句删除和添加外键、主键的方法
--删除外键
语法:alter table 表名 drop constraint 外键约束名
如:
alter table Stu_PkFk_Sc drop constraint FK_s
alter table Stu_PkFk_SC drop constraint FK_c
--添加外键
语法:alter table 表名 add constraint 外键约束名 foreign key(列名) references 引用外键表(列名)
如:
alter table Stu_PkFk_Sc
add constraint Fk_s
foreign key (sno)
references Stu_PkFk_S(sno)
go
--删除主键
语法:alter table 表名 drop constraint 主键约束名
如:
alter table Stu_PkFk_S drop constraint PK_S
go
--增加主键
语法:alter 表名 add constraint 主键约束名 primary key(列名)
alter table Stu_PkFk_S add constraint PK_S primary key (sno)
go
相关推荐
-
sqlserver主键设计的注意点
在设计主键的时候往往需要考虑以下几点: 1.无意义性:此处无意义是从用户的角度来定义的.这种无意义在一定程度上也会减少数据库的信息冗余.常常有人称呼主键为内部标识,为什么会这样称呼,原因之一在于"内部",所谓内部从某种程度上来说就是指表记录,从大的范围来说就是数据库,如果你在设计的时候选择了对用户来说有意义的信息来作为主键,那么迟早会面对用户提出对这块信息进行更新的需求,那么你就违背了它应有的静态. 2.静态性:主键除了唯一地标识一条记录及外键的关联外,应不再考虑其他的意义,最理想的状
-
主键与聚集索引
主键(PRIMARY KEY ) 来自MSDN的描述: 表通常具有包含唯一标识表中每一行的值的一列或一组列.这样的一列或多列称为表的主键 (PK),用于强制表的实体完整性.在创建或修改表时,您可以通过定义 PRIMARY KEY 约束来创建主键. 一个表只能有一个 PRIMARY KEY 约束,并且 PRIMARY KEY 约束中的列不能接受空值.由于 PRIMARY KEY 约束可保证数据的唯一性,因此经常对标识列定义这种约束. 如果为表指定了 PRIMARY KEY 约束,则 SQL Ser
-
Oracle创建主键自增表(sql语句实现)及触发器应用
1.创建表 复制代码 代码如下: createtableTest_Increase( useridnumber(10)NOTNULLprimarykey,/*主键,自动增加*/ usernamevarchar2(20) ); 2.创建自动增长序列 复制代码 代码如下: CREATESEQUENCETestIncrease_Sequence INCREMENTBY1--每次加几个 STARTWITH1--从1开始计数 NOMAXVALUE--不设置最大值,设置最大值:maxvalue9999 NO
-
SQL Server设置主键自增长列(使用sql语句实现)
1.新建一数据表,里面有字段id,将id设为为主键 复制代码 代码如下: create table tb(id int,constraint pkid primary key (id)) create table tb(id int primary key ) 2.新建一数据表,里面有字段id,将id设为主键且自动编号 复制代码 代码如下: create table tb(id int identity(1,1),constraint pkid primary key (id)) create
-
mysql下创建字段并设置主键的php代码
复制代码 代码如下: mysql_select_db("hills_database_test",$dbcon); $alterpkadd="alter table hills_testcreatetable add id int(32) not null auto_increment primary key;"; mysql_query($alterpkadd,$dbcon); mysql_close($dbcon); 嘿嘿..好容易哟..一句话搞定
-
sqlserver数据库主键的生成方式小结(sqlserver,mysql)
主键的生成方式主要有三种: 一. 数据库自动生成 二. GUID 三. 开发创建 严格讲这三种产生方式有一定的交叉点,其定位方式将在下面进行讲解. 第一种方式,主要将其定位在自增长的标识种子:可以设置起始数值,及增长步长.其优点在于使用时完全将并发任务交于数据库引擎管理,你不用担心存在多用户使用的时候会产生两个相同的ID的情况.其缺点也在于此,多数的数据库不提供直接获取标识ID的方式,对于开发人员来说产生ID的方式是透明的,开发人员几乎无法干预此项.对于数据的迁移也不是很方便. 由于存在上面的利
-
SQL语句删除和添加外键、主键的方法
--删除外键 语法:alter table 表名 drop constraint 外键约束名 如: alter table Stu_PkFk_Sc drop constraint FK_s alter table Stu_PkFk_SC drop constraint FK_c --添加外键 语法:alter table 表名 add constraint 外键约束名 foreign key(列名) references 引用外键表(列名) 如: alter table Stu_PkFk_Sc
-
SQL语句分组获取记录的第一条数据的方法
使用Northwind 数据库 首先查询Employees表 查询结果: city列里面只有5个城市 使用ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY COL2) 先进行分组 注:根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的). sql语句为: select EmployeeID,LastName,FirstName,Title,TitleOfCourtesy,City,ROW_NUM
-
用SQL语句实现随机查询数据并不显示错误数据的方法
问题:上级单位要来检查数据,我的服务器的数据库是SQL server 2000,上级单位要求我用SQL语句在服务器端随机查询50条数据出来.可是我的服务器里有些错误数据不希望他们看到,能不能有什么办法不让他们看到. SQL语句: select top 50 x from a_1 where c=xxxx 语句就是要求这样写,然后他们来运行,怎么办,有什么办法可以在sql server上设置,然后使得这50条数据只在我找出的数据(比如正确的数据400)里随机查询出.尽量不要改动SQL语句. Pea
-
SQL语句删除2条重复数据一条保留一条
-- 任意的测试表 复制代码 代码如下: CREATE TABLE test_delete( name varchar(10), value INT ); go -- 张三100 与 王五80 是有重复的 INSERT INTO test_delete SELECT '张三', 100 UNION ALL SELECT '张三', 100 UNION ALL SELECT '李四', 80 UNION ALL SELECT '王五', 80 UNION ALL SELECT '王五', 80 U
-
sqlserver中操作主从关系表的sql语句
典型的方法就是对于主表的各数据字段进行更新或新增,对于从表一般都会先删除相关的所有记录,然后再进行插入.也就是说每次保存时,从表的数据都要重新执行一遍删除再插入的过程.这是一个不错的方法,在使用数据库事务后,不会存在删除后又没有插入导致数据不一致的情况. ok,原理是这样,那么到实际的操作中,大家如何操作的呢?有人通过在程序中,通过多次数据库操作完成如上的要求,这种方法可能存在这数据的不一致性,因为无法保证在两个数据语句操作之间出现意外.那么我们就合并到一个存储过程中去完成吧,复杂的参数和接收后
-
初探SQL语句复合主键与联合主键
一.复合主键 所谓的复合主键 就是指你表的主键含有一个以上的字段组成,不使用无业务含义的自增id作为主键. 比如 create table test ( name varchar(19), id number, value varchar(10), primary key (name,id) ) 上面的name和id字段组合起来就是你test表的复合主键 ,它的出现是因为你的name字段可能会出现重名,所以要加上ID字段这样就可以保证你记录的唯一性 ,一般情况下,主键的字段长度和字段数目要越少越
-
oracle中添加删除主键的方法
1.创建表的同时创建主键约束 (1)无命名 create table student ( studentid int primary key not null, studentname varchar(8), age int); (2)有命名 create table students ( studentid int , studentname varchar(8), age int, constraint yy primary key(studentid)); 2.删除表中已有的主键约束 (1
-
mysql主键,外键,非空,唯一,默认约束及创建表的方法
目录 一.操作前提 二.mysql创建/新建表 1.首先我们需要创建一个数据库: 2.然后进入这个数据库: 3.创建表: 4.查看表: 三.使用主键约束 1.单字段主键 2.多字段联合主键 四.使用外键约束 1.mysql中外键是什么? 2.什么是主表?什么是从表? 3.如何在mysql中创建外键呢? 五.使用非空约束 六.使用唯一性约束 七.使用默认约束 八.设置表的属性值自动增加 前言: 在数据库中,数据表是数据库中最重要.最基本的操作对象,是数据存储的基本单位.数据表被定义为列的集
-
oracle使用sql语句增加字段示例(sql删除字段语句)
添加字段的语法:alter table tablename add (column datatype [default value][null/not null],-.); 修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],-.); 删除字段的语法:alter table tablename drop (column); 添加.修改.删除多列的话,用逗号隔开. 使用alter
-
mysql添加索引方法详解(Navicat可视化加索引与sql语句加索引)
目录 使用索引的场景: 下面是通过sql语句添加索引的方法: 1.普通索引 1).直接创建索引 2).修改表结构的方式添加索引 3).删除索引 2.唯一索引 1).创建唯一索引 2).修改表结构 3.主键索引 4.组合索引 5.全文索引 1).创建表的适合添加全文索引 2).修改表结构添加全文索引 3).直接创建索引 总结 使用索引的场景: 阿里云日志里出现了慢sql 然后发现publish_works_id字段会经常用于一些关联,所以决定把这个字段加上索引,优化sql 可视化navicat操作
随机推荐
- 利用jquery正则表达式在页面验证url网址输入是否正确
- python函数中return后的语句一定不会执行吗?
- Mongodb中MapReduce实现数据聚合方法详解
- Vue学习笔记进阶篇之函数化组件解析
- 原生JS实现移动端web轮播图详解(结合Tween算法造轮子)
- 基于JavaScript实现快速转换文本语言(繁体中文和简体中文)
- php的header和asp中的redirect比较
- 纯jsp打造无限层次的树代码
- Opencv学习教程之漫水填充算法实例详解
- JS实现仿Windows7风格的网页右键菜单效果代码
- linux系统下dd命令的使用方法
- 使用Java代码来比较Android客户端版本号
- 基于Lucene的Java搜索服务器Elasticsearch安装使用教程
- 全面接触神奇的Bootstrap导航条实战篇
- 关于2014年五一劳动节放假安排的通知
- SQL 语句优化方法30例
- 安装oracle11g INS-30131执行安装程序验证所需的初始设置失败的解决方法
- ES6中箭头函数的定义与调用方式详解
- 小发现之浅谈location.search与location.hash的问题
- javascript正则表达式之search()用法实例