比较探讨T-Sql(二)
二、数据定义DDL(create、alter、drop)
3、修改一个对象: alter+对象+对象名
1)、修改数据库database
(1)、修改数据库名称
alter database 数据库名 modify name=‘新数据库名’;
(2)、修改数据库文件
alter database 数据库名 modify file(
name=‘逻辑名’, newname=‘新逻辑名’,
filename=‘文件路径’, size=‘文件初始大小’, maxsize=‘文件最大容量’, filegrowth=‘文件自增长步长’);
注意:新修改的文件初始大小不能小于原来的设置.
(3)、修改(设置)数据库备份模式
alter database 数据库名 set recovery {simple|full};
2)、修改表table
(1)、增加字段
alter table 表名 add 字段名 类型 [完整性约束];
(2)、修改字段
alter table 表名 alter column 字段名 类型;
(3)、设置主键
a)、alter table 表名 add primary key(字段名);
b)、alter table 表名 add constraint 约束名 primary key(字段名);
很明显,b)方式便于管理,尤其是需要移除主键的时候,约束名是必须的。若由a)方式提供定义,将由系统自动为约束生成一个随机的约束名。
(4)、设置外键
a)、alter table 表名 add foreign key(字段名) references 主表名(字段名);
b)、alter table 表名 add constraint 约束名 foreign key(字段名) references 主表名(字段名);
很明显,b)方式便于管理,尤其是需要移除外键的时候,约束名是必须的。若由a)方式提供定义,将由系统自动为约束生成一个随机的约束名。
注意:
(i)、重命名表不能用alter语句,须调用sp_rename存储过程:
sp_rename ‘数据库名.架构名.表名’, ‘新的表名’;
(ii)、有主键、标识约束的字段不可以使用上述alter语句直接修改,需要先使用alter table 表名 drop constraint 约束名; 删除约束后再使用alter table 表名 alter column语句修改。
(iii)、若表中已定义主键,则无法再用alter table设置主键。
3)、修改存储过程procedure
alter procedure 参数1 类型 [output], 参数2 类型 [output], …, 参数n 类型 [output] [with encryption|recompile|execute_as_clause] [for replication] as
begin
…
end
如果原存储过程定义时选择了with encryption选项,则alter procedure语句也必须选择with encryption选项。修改后存储过程的权限和属性不变。
4)、修改触发器trigger
alter trigger on 表名|视图名|all server|database [with encryption] for {选项} as
begin
…
end
{选项}的含义同对应的create tringger语句。
如果原触发器定义时选择了with encryption选项,则alter trigger语句也必须选择with encryption选项。
5)、修改数据库用户user
alter user 用户名 with {name=‘新用户名’[,]|default_database=数据库名[,]|login=登录名};
6)、修改架构schema
alter schema 架构2 transfer 架构1.对象x; --把架构1的对象x让渡给架构2
比较探讨T-Sql(二)相关推荐
- [转] 深入探讨PageRank(二):PageRank原理剖析
深入探讨PageRank(二):PageRank原理剖析 关于PageRank的基础知识简介请参见博文:<深入探讨PageRank(一):PageRank算法原理入门>. http://b ...
- sql 删除重复记录保留一条_从零学会SQL·二——简单查询
一.使用select查询语句完成以下练习 student表 查询姓名和性别 查询所有字段 给查询的字段名替换别名,姓名替换为s_name,性别替换为"人类性别" 查询姓名时删除重复 ...
- php sql 二次注入,espcms 二次注入一枚
Author:Yaseng 1:通过 $alias 二次注入来控制sql 用户昵称 $alias 从数据库查询出来 未过滤 interface/member.php [php] $db_sql = & ...
- 深入探讨PageRank(二):PageRank原理剖析
原文地址:https://blog.csdn.net/monkey_d_meng/article/details/6556295 一.PageRank算法的简单举例 Google PageRank算法 ...
- 有趣的SQL二:两个表没连接条件的JOIN
文章节选自松华老师<SQL开发与优化>专栏,想内容请扫码订阅 今天逛论坛看到了一个,奇葩需求,他想把两个表的结果连在一起显示 我把需求整理如下 : 下面有两个表 a 和 t12 数据分别如 ...
- 一步一步学linq to sql(二)
DataContext与实体 DataContext类型(数据上下文)是System.Data.Linq命名空间下的重要类型,用于把查询句法翻译成SQL语句,以及把数据从数据库返回给调用方和把实体的修 ...
- 【MySQL】全国省市县三级联动SQL语句—城市SQL(二)
目录 -- >城市信息表数据 [MySQL]全国省市县三级联动SQL语句-建表和省份SQL(一)全国省市县三级联动SQL语句-建表和省份SQL(一)https://blog.csdn.net/z ...
- 全面探讨PL/SQL的复合数据类型
http://www.yesky.com/20020819/1625866.shtml
- 微博收藏(机器学习探讨)(二)
1.0关于深度学习与工程师的讨论 @龙星镖局 感受: 1)深度学习真成了,80%机器学习工程师失业: 2)大规模机器学习依赖数据.架构,算法其次: 3)NLP是深度学习的前沿阵地,Dean,Bengi ...
最新文章
- IIS初始化(预加载),解决第一次访问慢,程序池被回收问题
- linux下如何查看某软件是否已安装
- 计算机微机原理及接口技术实训室,《微机原理与接口技术》课程实验报告.doc...
- Mongo客户端MongoVUE的基本使用
- conda install 换源_ubuntu更换pip install,apt-get,conda install 成国内源
- 使用证书登陆Linux服务器
- mysql 游标的简单_mysql 简单游标
- LOIC网站压力测试工具
- 用java中的map解析微信MicroMsg里的CompatibleInfo.cfg和systemInfo.cfg
- AGND DGND PGND GND
- 模拟大规模电动车充电行为(Matlab实现)
- 扫地阿姨看完都学会了!写给即将正在找工作的Java攻城狮,砥砺前行!
- com.zxy.android tiny,遇到一个 SIGABRT 这样的错误
- Python——turtle(海龟绘图)
- TexMaker(Latex编辑器)软件的“文献引用”操作:Xelatex方式运行的操作方法
- 如何在三天内使用Thinkphp搭建商城系统(一)
- vue scoped html样式无效
- VScode调用KEIL-MDK
- 电路原理笔记整理,电路原理知识点总结.doc
- 全球及中国线性电位器行业研究及十四五规划分析报告