修改基本表

SQL语言用alter table语句修改基本表,其一般格式如下:

  1. alter table <表名>
  2. add <列名> <数据类型> [<列级完整性约束>] |
  3. drop [constraint] <完整性约束名> |
  4. drop column <列名> |
  5. alter column <列名> <数据类型>

说明:

  1. <表名>是要更改的表的名字
  2. add字句用于增加新列以及新的完整性约束条件。新增的列不能为not null约束,因为新增加的列一律为空值。
  3. drop constraint字句用于删除完整性约束条件。
  4. drop column字句用于删除原有的列。当在基本表中删除某一个列时,所有引用该列的视图和约束也一起自动被删除。有的系统规定若删除某一个列时,只有当没有视图和约束引用该列时才能删除,否则拒绝删除。
  5. alter column字句用于更改原有列的类型和宽度。有的系统不允许对列名和数据类型进行修改,以免原有基本表中的数据丢失。

例如:

  1. 向图书表中增加“出版年份”列,其数据类型为日期型:

    1. alter table 图书 add 出版年份 date;
  2. 向借阅表增加“借阅日期<还书日期”的约束条件:

    1. alter table 借阅 add constraint C_JY check (借阅日期<还书日期);

    或:

    1. alter table 借阅 add check (借阅日期<还书日期);
  3. 删除图书表中图书名称取唯一值的约束

    1. alter table 图书 drop constraint unique(图书名称);

    或:

    1. alter table 图书 drop unique(图书名称);
  4. 删除图书表中“出版年份”列:

    1. alter table 图书 drop column 出版年份;
  5. 将图书表中单价的数据类型改为整形:

    1. alter table 图书 alter column 单价 int;

删除基本表

  1. drop table <表名>

基本表一旦被删除,表中的数据、此表上建立的索引和视图都将自动删除。

有的系统删除基本表后相关的视图定义仍然存在,但是当用户引用这些视图时会报错。

[SQL]修改和删除基本表的更多相关文章

  1. sql server 笔记(数据类型/新建、修改、删除数据表/)

    1.数据类型: Character 字符串 / Unicode 字符串 / Binary 类型 / Number 类型  /  Date 类型  / 其他数据类型 详解:http://www.w3sc ...

  2. Spark SQL 之自定义删除外部表

    前言 Spark SQL 在删除外部表时,本不能删除外部表的数据的.本篇文章主要介绍如何修改Spark SQL 源码实现在删除外部表的时候,可以带额外选项来删除外部表的数据. 本文的环境是我一直使用的 ...

  3. Mysql学习—查看表结构、修改和删除数据表

    原文出自:http://blog.csdn.net/junjieguo/article/details/7668775 查看表结构 查看表结构可以用语句DESCRIBE或SHOW CREATE TAB ...

  4. MySQL的修改和删除数据表字段

    MySQL的修改和删除数据表字段 写在前面: 数据库存在的意义:数据存储和数据管理. 数据库:行(数据),列(字段) 注意:本页是解决了列的字段问题.下一页是解决行的数据问题. 注意,所有的字段名,最 ...

  5. 创建、修改、删除ORACLE表空间

    //创建表空间 create tablespace MyFirstSpace datafile '/opt/oracle/app/oracle/product/9.2.0/dbs/MyFirstSpa ...

  6. Sql Server批量删除指定表

    --批量删除以test的表开头的表 declare @name varchar(50) while(exists(select * from sysobjects where name like te ...

  7. sql server 批量删除数据表

    SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Auth ...

  8. 05Microsoft SQL Server 表创建,查看,修改及删除

    Microsoft SQL Server 表创建,查看,修改及删除 创建表 创建普通表 use 数据库名称 go create table 表名称( 列1 ) not null, 列2 ) not n ...

  9. 删除指定表的所有索引,包括主键索引,唯一索引和普通索引 ,适用于sql server 2005,

    原文:删除指定表的所有索引,包括主键索引,唯一索引和普通索引 ,适用于sql server 2005, --删除指定表中所有索引 --用法:declare @tableName varchar(100 ...

随机推荐

  1. 精尽Spring Boot源码分析 - Condition 接口的扩展

    该系列文章是笔者在学习 Spring Boot 过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring Boot 源码分析 GitHub 地址 进行阅读 Sprin ...

  2. Redis启动正常,一段时间后报错,连不上redis

    Redis报错 1.redis在最终目标上移动临时数据库文件时出错 错误:redis:Error moving temp DB file temp-13792.rdb on the final des ...

  3. 前端 JavaScript 实现一个简易计算器

    前端使用 JavaScript 实现一个简易计算器,没有难度,但是里面有些小知识还是需要注意的,算是一次基础知识回顾吧. 题目 实现一个简易版的计算器,需求如下: 1.除法操作时,如果被除数为0,则结 ...

  4. flink数据广播场景总结

    数据集广播,主要分为广播变量,广播维表(数据集)两种,一种为变量,一种为常量(抽象的说法): 一.数据广播背景 对于小变量,小数据集,需要和大数据集,大流进行联合计算的时候,往往把小数据集广播出去,整 ...

  5. Jenkins 进阶篇 - 权限配置

    Jenkins的授权策略 Jenkins 默认的授权策略是[登录用户可以做任何事],也就是人人都是管理员,可以修改所有的设置以及构建所有的任务,不用做任何设置,有账号登录到 Jenkins 系统即可, ...

  6. Luogu P4313 文理分科

    link 最小割 双倍经验 这道题运用了最小割最常用的一种用法:集合划分. 因为源汇最小割即就是将源汇划分到不同的集合,那么最简单的应用就是最小代价划分集合了. 本题中,题意是将 \(n\cdot m ...

  7. Nacos源码分析-事件发布机制

    温馨提示: 本文内容基于个人学习Nacos 2.0.1版本代码总结而来,因个人理解差异,不保证完全正确.如有理解错误之处欢迎各位拍砖指正,相互学习:转载请注明出处. Nacos的服务注册.服务变更等功 ...

  8. Spark编程基础_RDD编程

    RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变.可分区.里面的元素可并行计算的集合.RDD具有数据流模型的特 ...

  9. vue(22)Vuex的安装与使用

    前言 每一个 Vuex 应用的核心就是 store(仓库).store基本上就是一个容器,它包含着你的应用中大部分的状态 (state).Vuex 和单纯的全局对象有以下两点不同: Vuex 的状态存 ...

  10. [HNOI2011]XOR和路径 题解

    设 \(f(x)\) 表示从 \(x\) 节点走到 \(n\) 的期望.有 $$f(x)=\sum_{{x,y}}\frac{f(y)\oplus w(x,y)}{{\rm deg}(x)}$$ 由于 ...