SQL实现表名更改,列名更改,约束更改
修改表名
格式:sp_rename tablename,newtablename
sp_rename tablename,newtablename
修改字段名
格式:sp_rename 'tablename.colname',newcolname,'column'
sp_rename 'tablename.colname',newcolname,'column'
添加字段
格式:alter table table_name add new_column data_type [interality_codition]
示例1
ALTER TABLE student Add nationality varchar(20) --示例2 添加int类型的列,默认值为 0alter table student add studentName int default 0
--示例3 添加int类型的列,默认值为0,主键
alter table student add studentId int primary key default 0
--示例4 判断student中是否存在name字段且删除字段
if exists(select * from syscolumns where id=object_id('student') and name='name') begin
alter table student DROP COLUMN name
end更改字段
格式:alter table table_name alter column column_name
ALTER TABLE student ALTER COLUMN name VARCHAR(200)
删除字段
格式:alter table table_name drop column column_name
ALTER TABLE student DROP COLUMN nationality;
查看字段约束
格式: select * from information_schema.constraint_column_usage where TABLE_NAME = table_name
SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME FROM information_schema.CONSTRAINT_COLUMN_USAGE
WHERE TABLE_NAME = 'student'查看字段缺省约束表达式 (即默认值等)
格式:select * from information_schema.columns where TABLE_NAME = table_name
SELECT TABLE_NAME, COLUMN_NAME, COLUMN_DEFAULT FROM information_schema.COLUMNS
WHERE TABLE_NAME='student'查看字段缺省约束名
格式:select name from sysobjects where object_id(table_name)=parent_obj and xtype=’D’
select name from sysobjects
where object_id('表?名?')=parent_obj and xtype='D'删除字段约束
格式:alter table tablename drop constraint constraintname
ALTER TABLE student DROP CONSTRAINT PK__student__2F36BC5B772B9A0B
添加字段约束
格式:alter table tablename add constraint constraintname primary key (column_name)
--示例1
ALTER TABLE stuInfo ADD CONSTRAINT PK_stuNo PRIMARY KEY (stuNo)
--示例2 添加主键约束(Primary Key)
-- 存在主键约束PK_stuNO,则删除IF EXISTS(SELECT * FROM sysobjects WHERE name='PK_stuNo' and xtype='PK')
Alter TABLE stuInfo
Drop Constraint PK_stuNo
Go-- 重新添加主键约束PK_stuNO
ALTER TABLE stuInfo ADD CONSTRAINT PK_stuNo PRIMARY KEY (stuNo)
Go--示例3 添加 唯一UQ约束(Unique Constraint)
-- 存在唯一约束UQ_stuNO,则删除IF EXISTS(SELECT * FROM sysobjects WHERE name='UQ_stuID' and xtype='UQ')
Alter TABLE stuInfo
Drop Constraint UQ_stuID
Go-- 重新添加唯一约束UQ_stuID
ALTER TABLE stuInfo ADD CONSTRAINT UQ_stuID UNIQUE (stuID)
--示例4 添加默认DF约束(Default Constraint)
-- 存在默认约束UQ_stuNO,则删除IF EXISTS(SELECT * FROM sysobjects WHERE name='DF_stuAddress' and xtype='D')
Alter TABLE stuInfo Drop Constraint DF_stuAddress
Go-- 重新添加默认约束DF_stuAddress
ALTER TABLE stuInfo ADD CONSTRAINT DF_stuAddress DEFAULT ('地址不详') FOR stuAddress--示例5 检查CK约束(Check Constraint)
-- 存在检查约束UQ_stuNO,则删除IF EXISTS(SELECT * FROM sysobjects WHERE name='CK_stuAge' and xtype='C')
Alter TABLE stuInfo Drop Cons
SQL实现表名更改,列名更改,约束更改的更多相关文章
- Oracle表名、列名、约束名的长度限制
Oracle数据库版本11.2.0.1.0 Oracle表名.列名.约束名的长度限制 1.查询用户所有的表 select * from USER_TABLES; 2.查询用户所有表的列 select ...
- Hvie SQL 修改表名 注释 列名注释
一.修改hive表注释 ALTER TABLE 数据库名.表名 SET TBLPROPERTIES('comment' = '新的表备注'); 二.修改hive表字段注释 ALTER TABLE 数据 ...
- ylb:sql语句重命名表名和列名
ylbtech-SQL Server:SQL Server-sql语句重命名表名和列名 sql语句重命名表名和列名 ylb:sql语句重命名表名和列名 返回顶部 一.更改数据库名 sp_rena ...
- MySQL数据库表名、列名、别名区分大小写的问题
MySQL在Linux下数据库名.表名.列名.别名大小写规则是这样的: 1.数据库名与表名是严格区分大小写的: 2.表的别名是严格区分大小写的: 3.列名与列的别名在所有的情况下均是忽略大小写的: 4 ...
- JPA中自动使用@Table(name = "userTab")后自动将表名、列名添加了下划线的问题
一.问题 JPA中自动使用@Table(name = "userTab")后自动将表名.列名添加了下划线的问题,如下图: 二.解决 在application.properties文 ...
- mybatis动态传入表名、列名
原文:http://luoyu-ds.iteye.com/blog/1517607 要实现动态传入表名.列名,需要做如下修改 添加属性statementType=”STATEMENT” (可省略) 同 ...
- SQL-修改表名,列名
sql 1.sql server修改表名.列名 修改表名:EXEC sp_rename ‘原有表名’, '新表名'; 修改列名:EXEC sp_rename ‘表名.[原有列名]’, ‘新列名' , ...
- MySQL表名、列名区分大小写详解
前言:出现的问题 在本地数据库上执行修改银行卡没有报错 但线上执行报错 发现是表找不到,发现表名不对应该是card_cardinfo,但本地上没有问题,能正常修改,然后在数据库里测试,发现本地库(wi ...
- Hive分区表新增字段及修改表名,列名,列注释,表注释,增加列,调整列顺序,属性名等操作
一.Hive分区表新增字段 参考博客:https://blog.csdn.net/yeweiouyang/article/details/44851459 二.Hive修改表名,列名,列注释,表注释, ...
- C#获取Access数据库中的所有表名和列名
//C#获取Access数据库中的所有表名和列名 string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" ...
随机推荐
- C语言编程实现Linux命令——who
C语言编程实现Linux命令--who 实践分析过程 who命令是查询当前登录的每个用户,它的输出包括用户名.终端类型.登录日期及远程主机,在Linux系统中输入who命令输出如下: 我们先man一下 ...
- Unix NetWork Programming(unix环境编程)——环境搭建(解决unp.h等源码编译问题)
此配置实例亲测成功,共勉,有问题大家留言. 环境:VMware 10 + unbuntu 14.04 为了unix进行网络编程,编程第一个unix程序时遇到的问题,不能包含unp.h文件,这个感觉和a ...
- 轻量级DAO层实践初体验
最近快被 Hibernate 给坑哭了,有了自己动手实现 ORM 映射 DAO 的冲动. 工作之余折腾了快一星期,总算是有点小成就. 现打算将过程记录下来,方便自己后续回顾填补遗漏. 1. 传统 JD ...
- C#进阶系列——MEF实现设计上的“松耦合”(终结篇:面向接口编程)
序:忙碌多事的八月带着些许的倦意早已步入尾声,金秋九月承载着抗战胜利70周年的喜庆扑面而来.没来得及任何准备,似乎也不需要任何准备,因为生活不需要太多将来时.每天忙着上班.加班.白加班,忘了去愤,忘了 ...
- JVM_垃圾回收串行、并行、并发算法(总结)
一.串行 JDK1.5前的默认算法 缺点是只有一个线程,执行垃圾回收时程序停止的时间比较长 语法 -XX:+UseSerialGC 新生代.老年代使用串行回收 新生代复制算法 老年代标记-压缩 示例图 ...
- 【OpenJudge 1793】矩形覆盖
http://noi.openjudge.cn/ch0405/1793/ 好虐的一道题啊. 看数据范围,一眼状压,然后调了好长时间QwQ 很容易想到覆盖的点数作为状态,我用状态i表示至少覆盖状态i表示 ...
- spring-poi-excle往单元格写入图片
HSSF是POI工程对Excel 97(-2007)文件操作的纯Java实现 XSSF是POI工程对Excel 2007 OOXML (.xlsx)文件操作的纯Java实现 在POI中有HSSFPat ...
- yii 核心类classes.php详解(持续更新中...)
classes.php在yii运行的时候将被自动加载,位于yii2文件夹底下. <?php /** * Yii core class map. * * This file is automati ...
- Redis模式匹配删除key
Redis keys命令支持模式匹配,但是del命令不支持模式匹配,有时候需要根据一定的模式来模糊删除key,这时只能结合shell命令来完成了. 具体命令是: redis-cli KEYS &quo ...
- 11月13日上午ajax返回数据类型为JSON数据的处理
ajax返回数据类型为JSON数据的处理 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...