修改基本表

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

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

说明:

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

例如:

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

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

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

    或:

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

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

    或:

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

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

    alter table 图书 alter column 单价 int;

删除基本表

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. 04 jumpserver资产管理

    4.资产管理: (1)管理用户: 管理用户是资产(被控服务器)上的 root,或拥有 NOPASSWD: ALL sudo 权限的用户, JumpServer 使用该用户来 `推送系统用户`.`获取资 ...

  2. 12.10File类

    要点提示:File类包含了获得一个文件/目录的属性,以及对文件/目录进行改名和删除的方法. 在文件系统中,每个文件都存放在一个目录下.绝对文件名,是由文件名和它的完整路径以及驱动器字母组成.例如,c: ...

  3. Linux:linux下解压*压缩tar.xz、tar、tar.gz、tar.bz2、tar.Z、rar、zip、war等文件方法

    tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 ------------------------------------------ 这 ...

  4. Python 脚本退出

    return:在定义函数时从函数中返回一个函数的返回值,终止函数的执行. os._exit(),sys.exit(),exit(),quit()都能够退出当前执行脚本,差别在于os._exit()直接 ...

  5. mysql某建表语句

    CREATE TABLE `product_info`( `product_id` VARCHAR(32) NOT NULL COMMENT '主键', `product_name` VARCHAR( ...

  6. mysql中的条件语句case when/if函数

    主要知识点为case函数,if函数,ifnull函数,elt函数几部分,主要用于mysql语句中的逻辑判断 待操作的表如下: p.p1 { margin: 0; font: 16px Menlo; c ...

  7. 扩大UIPageViewController的点击范围

    UIPageViewController中的边缘点击手势大概是屏幕的1/6,市面的大多数阅读器点击手势都在1/3以上,或者我干脆想自定义点击的范围,但又不想放弃系统的翻页效果,这时候该怎么做了?其实很 ...

  8. 青蛙跳台阶问题(斐波那契数列) python

    一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法 class Solution: def jump(self,n): if n ==0: return 0 el ...

  9. HCNA Routing&Switching之RIP防环机制

    前文我们了解了RIP的基础概念.RIP的特点.RIP报文格式.RIP度量以及RIP配置认证等相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/150085 ...

  10. Java基础00-异常25

    1. 异常 异常 1.1 异常概述 1.2 JVM的默认处理方案 有一行代码报错,下面的代码就不会执行. 1.3 异常处理 如果程序出现了异常,需要我们自己来处理,因为在实际的开发中,不能因为一处的报 ...