二、数据定义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(二)相关推荐

  1. [转] 深入探讨PageRank(二):PageRank原理剖析

    深入探讨PageRank(二):PageRank原理剖析 关于PageRank的基础知识简介请参见博文:<深入探讨PageRank(一):PageRank算法原理入门>. http://b ...

  2. sql 删除重复记录保留一条_从零学会SQL·二——简单查询

    一.使用select查询语句完成以下练习 student表 查询姓名和性别 查询所有字段 给查询的字段名替换别名,姓名替换为s_name,性别替换为"人类性别" 查询姓名时删除重复 ...

  3. php sql 二次注入,espcms 二次注入一枚

    Author:Yaseng 1:通过 $alias 二次注入来控制sql 用户昵称 $alias 从数据库查询出来 未过滤 interface/member.php [php] $db_sql = & ...

  4. 深入探讨PageRank(二):PageRank原理剖析

    原文地址:https://blog.csdn.net/monkey_d_meng/article/details/6556295 一.PageRank算法的简单举例 Google PageRank算法 ...

  5. 有趣的SQL二:两个表没连接条件的JOIN

    文章节选自松华老师<SQL开发与优化>专栏,想内容请扫码订阅 今天逛论坛看到了一个,奇葩需求,他想把两个表的结果连在一起显示 我把需求整理如下 : 下面有两个表 a 和 t12 数据分别如 ...

  6. 一步一步学linq to sql(二)

    DataContext与实体 DataContext类型(数据上下文)是System.Data.Linq命名空间下的重要类型,用于把查询句法翻译成SQL语句,以及把数据从数据库返回给调用方和把实体的修 ...

  7. 【MySQL】全国省市县三级联动SQL语句—城市SQL(二)

    目录 -- >城市信息表数据 [MySQL]全国省市县三级联动SQL语句-建表和省份SQL(一)全国省市县三级联动SQL语句-建表和省份SQL(一)https://blog.csdn.net/z ...

  8. 全面探讨PL/SQL的复合数据类型

    http://www.yesky.com/20020819/1625866.shtml

  9. 微博收藏(机器学习探讨)(二)

    1.0关于深度学习与工程师的讨论 @龙星镖局 感受: 1)深度学习真成了,80%机器学习工程师失业: 2)大规模机器学习依赖数据.架构,算法其次: 3)NLP是深度学习的前沿阵地,Dean,Bengi ...

最新文章

  1. IIS初始化(预加载),解决第一次访问慢,程序池被回收问题
  2. linux下如何查看某软件是否已安装
  3. 计算机微机原理及接口技术实训室,《微机原理与接口技术》课程实验报告.doc...
  4. Mongo客户端MongoVUE的基本使用
  5. conda install 换源_ubuntu更换pip install,apt-get,conda install 成国内源
  6. 使用证书登陆Linux服务器
  7. mysql 游标的简单_mysql 简单游标
  8. LOIC网站压力测试工具
  9. 用java中的map解析微信MicroMsg里的CompatibleInfo.cfg和systemInfo.cfg
  10. AGND DGND PGND GND
  11. 模拟大规模电动车充电行为(Matlab实现)
  12. 扫地阿姨看完都学会了!写给即将正在找工作的Java攻城狮,砥砺前行!
  13. com.zxy.android tiny,遇到一个 SIGABRT 这样的错误
  14. Python——turtle(海龟绘图)
  15. TexMaker(Latex编辑器)软件的“文献引用”操作:Xelatex方式运行的操作方法
  16. 如何在三天内使用Thinkphp搭建商城系统(一)
  17. vue scoped html样式无效
  18. VScode调用KEIL-MDK
  19. 电路原理笔记整理,电路原理知识点总结.doc
  20. 全球及中国线性电位器行业研究及十四五规划分析报告

热门文章

  1. linux里以第一列排序,Linux操作系统中排序命令Sort的使用方法
  2. 列控系统 CTCS(重点是CTCS-2)
  3. 计算机作业微波炉工作的原理,微波炉的工作原理和原理图解析
  4. C#读写三菱PLC和西门子PLC数据 使用TCP/IP 协议
  5. Android优秀文章收集(转载)
  6. 我们的管理:绩效薪酬福利制度体系
  7. Flask开发轻博客(一):欢迎来到 Flask 的世界
  8. 最新】TCL智能电视root破解 安装第三方软件教程
  9. hdu 5224 Tom and paper
  10. app提现到微信开通流程图,微信里的零钱如何无损提现?你需要下这个App!