资源描述:
《oracle和sqlserver增加修改删除字段约束》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Oracle增加修改删除字段 添加字段的语法:altertabletablenameadd(columndatatype[defaultvalue][null/notnull],….);修改字段的语法:altertabletablenamemodify(columndatatype[defaultvalue][null/notnull],….);删除字段的语法:altertabletablenamedrop(column); 添加、修改、删除多列的话,用逗号隔开。 使用altertable来增加、删除和
2、修改一个列的例子。 创建表结构:createtabletest1(idvarchar2(20)notnull); 增加一个字段:altertabletest1add(namevarchar2(30)default‘无名氏’notnull); 使用一个SQL语句同时添加三个字段:altertabletest1add(namevarchar2(30)default‘无名氏’notnull,ageintegerdefault22notnull,has_moneynumber(9,2)); 修改一个字段alte
3、rtabletest1modify(namevarchar2(16)default‘unknown’); 另:比较正规的写法是:--Add/modifycolumns altertableTABLE_NAMErenamecolumnFIELD_NAMEtoNEW_FIELD_NAME; 删除一个字段altertabletest1dropcolumnname; 需要注意的是如果某一列中已经存在值,如果你要修改的为比这些值还要小的列宽这样将会出现一个错误。例如前面如果我们插入一个值insertintotes
4、t1values(’1′,’我们很爱你’);然后曾修改列:altertabletest1modify(namevarchar2(8));将会得到以下错误:ERROR位于第2行:ORA-01441:无法减小列长度,因为一些值过大---------------------------------------------------------------------------------------------------------------高级用法:重命名表ALTERTABLE table_name
5、 RENAMETO new_table_name; 修改列的名称语法:ALTERTABLEtable_nameRENAMECOLUMNsupplier_nametosname;范例:altertables_deptrenamecolumnagetoage1; 附:创建带主键的表>>createtablestudent(studentidintprimarykeynotnull,studentnamevarchar(8),ageint); 1、创建表的同时创建主键约束(1)无命名createtablest
6、udent(studentidintprimarykeynotnull,studentnamevarchar(8),ageint);(2)有命名createtablestudents(studentidint,studentnamevarchar(8),ageint,constraintyyprimarykey(studentid));2、删除表中已有的主键约束(1)无命名可用SELECT*fromuser_cons_columns;查找表中主键名称得student表中的主键名为SYS_C002715a
7、ltertablestudentdropconstraintSYS_C002715;(2)有命名altertablestudentsdropconstraintyy;3、向表中添加主键约束altertablestudentaddconstraintpk_studentprimarykey(studentid); -------------------------------------------------------------------------------------------------
8、--------------转载自http://georgeinfo.blog.163.com/blog/static/163683341201112655637737/版权给原创所有!SqlServer增删SELECTt.[name]AS[表名],c.[name]AS[字段名],cast(ep.[value]asvarchar(100))AS[字段说明]FROMsys.tablesAStINNERJOINsys.columnsAScONt