数据库中对表的操作
来源:互联网 发布:vue组件引用js插件 编辑:程序博客网 时间:2024/06/05 03:32
对表定义的修改,不同的数据库系统有不同的限制。Oracle数据库就限制对列的修改只能是加大列的宽度而不能是缩小,而且不能删除列。
增加新列
ALTER TABLE table_name ADD colum_name data_type
向已有表中增加非空约束的列
ALTER TABLE student ADD Email CHAR(15) NOT NULL
表中不能有其他数据,有数据会报错,因为所添列为非空,必须为其设置缺省值!
指明缺省值
ALTER TABLE student ADD Email CHAR(15) NOT NULL DEFAULT 'No Email'
删除列
删除学生表中的birthday 列
ALTER TABLE student DROP COLUMN birthday
直接删除具有非空约束的列
ALTER TABLE student DROP COLUMN sex
该列设有缺省值,不能直接删除,需要先删除约束,再删除该列!约束名可从直接删除该列系统的出错报告信息中获取
ALTER TABLE student DROP CONSTRAINT DF_student_sex_4CA06362
ALTER TABLE student DROP COLUMN sex
修改列
ALTER TABLE student MODIFY column_name data_type
在SQL Server 数据库系统中,并不支持MODIFY 关键字。要修改数据库中的列,我们可以通过 ALTER COLUMN 关键字实现,即将MODIFY替换ALTER COLUMN 即可。
ALTER TABLE student ALTER COLUMN Email CHAR(25)
取消 student 表中 sname 列的非空约束
ALTER TABLE student ALTER COLUMN sname CHAR(25) NULL
修改表中的某列,为其增加非空约束时,我们必须确保该列已经存在的所有记录中没有NULL 值
与许多DBMS产品不同,SQL Server 不仅允许改变列的数据长度,而且还允许改变其数据类型。但是当列为一下情况时,则不能改变其数据类型。
当改变列的数据类型时,列中已有的数据必须与新的数据类型兼容。比较常用的转换是从INTEGER 转换为字符串,因为CHAR列可保存数字、字母和特殊符号。但是,如果要将CHAR 类型转换为 INTEGER 类型,必须保证表的每行上所转换的CHAR 字段具有数字或NULL 值。
将student 表的 sno 列的类型转换为CHAR 类型
ALTER TABLE student ALTER COLUMN sno CHAR(5) NOT NULL
增加新列
ALTER TABLE table_name ADD colum_name data_type
向已有表中增加非空约束的列
ALTER TABLE student ADD Email CHAR(15) NOT NULL
表中不能有其他数据,有数据会报错,因为所添列为非空,必须为其设置缺省值!
指明缺省值
ALTER TABLE student ADD Email CHAR(15) NOT NULL DEFAULT 'No Email'
删除列
删除学生表中的birthday 列
ALTER TABLE student DROP COLUMN birthday
直接删除具有非空约束的列
ALTER TABLE student DROP COLUMN sex
该列设有缺省值,不能直接删除,需要先删除约束,再删除该列!约束名可从直接删除该列系统的出错报告信息中获取
ALTER TABLE student DROP CONSTRAINT DF_student_sex_4CA06362
ALTER TABLE student DROP COLUMN sex
修改列
ALTER TABLE student MODIFY column_name data_type
在SQL Server 数据库系统中,并不支持MODIFY 关键字。要修改数据库中的列,我们可以通过 ALTER COLUMN 关键字实现,即将MODIFY替换ALTER COLUMN 即可。
ALTER TABLE student ALTER COLUMN Email CHAR(25)
取消 student 表中 sname 列的非空约束
ALTER TABLE student ALTER COLUMN sname CHAR(25) NULL
修改表中的某列,为其增加非空约束时,我们必须确保该列已经存在的所有记录中没有NULL 值
与许多DBMS产品不同,SQL Server 不仅允许改变列的数据长度,而且还允许改变其数据类型。但是当列为一下情况时,则不能改变其数据类型。
1.列是 TEXT、IMAGE、NTEXT、TIMESTAMP类型
2.列是索引的一部分
3.列是PRIMARY 或者 KEY FOREIGN KEY的一部分
4.列具有缺省值约束
5.列具有CHECK约束
当改变列的数据类型时,列中已有的数据必须与新的数据类型兼容。比较常用的转换是从INTEGER 转换为字符串,因为CHAR列可保存数字、字母和特殊符号。但是,如果要将CHAR 类型转换为 INTEGER 类型,必须保证表的每行上所转换的CHAR 字段具有数字或NULL 值。
将student 表的 sno 列的类型转换为CHAR 类型
ALTER TABLE student ALTER COLUMN sno CHAR(5) NOT NULL
0 0
- 数据库中对表的操作
- Hive中对数据库,表的操作
- 数据库中对表的一些基本操作
- Hive中java对数据库、表的操作
- Linux中对MySQL数据库及表的操作
- PHP中对数据库操作的封装
- PHP中对数据库操作的封装
- PHP中对数据库操作的封装
- PHP中对数据库操作的封装
- c#中对数据库的简单操作
- VB中对数据库的各种操作.
- Django中对数据库的操作说明
- ruby rails 中对数据库的操作
- VBA中对数据库的操作
- 项目中对数据库的操作
- PHP中对数据库操作的封装
- Xutils 中 对数据库的操作 DButils
- sqllite数据库中对时间的操作
- A Java Programmer Looks at C# Delegates
- mysql忘记root密码解决办法
- Java - NIO之Channel(FileChannel)
- DataTable源代码分析(一)
- shell脚本中的关于数值计算的命令
- 数据库中对表的操作
- NOJ[1272] Smart Cat
- java基础——RPC
- 挑战程序设计竞赛 2.1迷宫的最短路径
- Java中仿照C#代理
- 命名管道进程通信
- The 14th Zhejiang University Programming Contest(未完工)
- A20 文件系统预装APK
- Aizu 1315 Gift from the Goddess of Programming