-
ALTER TABLE 语句用于在已有的表中添加、修改或删除列。
在表中添加列:alter table
ALTER TABLE table_name
ADD column_name datatype
还可以设置默认值
例如:
ALTER TABLE user_info add(log_time TIMESTAMP(6) default sysdate not null);
添加多个字段:
alter table table_name add (col_1 varchar2(8) default ‘00000000’ not null, col_2 NUMBER default 3 not null); -
添加字段前应先判断表中是否已经存在这个字段
可以用下面SQL语句,查询是否已存在字段LOG_TIME
select count(*) from USER_TAB_COLUMNS where TABLE_NAME = ‘USER_INFO’ AND COLUMN_NAME = ‘LOG_TIME’? 注意这里表名与列名必须是大写的。。。。。
也可以查询ALL_TAB_COLUMNS
select count(*) from USER_TAB_COLUMNS where TABLE_NAME = ‘USER_INFO’ AND COLUMN_NAME = ‘LOG_TIME’;
返回值为1—存在此字段
返回值为0—不存在此字段。
-
删除字段:
ALTER TABLE user_info
DROP COLUMN log_time;
删除多个字段:
ALTER TABLE table_name drop (col_1,col_2) ; -
更新时间戳为系统时间+1小时。
update USER_INFO set LOG_TIME = sysdate +INTERVAL ‘1’ hour where USER_ID=‘2’; -
oracle TIMESTAMP 由 System.Data.OracleClient存入数据库时,保存精度到秒,所以可以直接将从数据库读到的TIMESTAMP类型数据mapping为 System.DateTime 类型。不用考虑精度掉失问题。
-
OracleCommand.ExecuteNonQuery方法:
对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。
对于 ALTER TABLE,CREATE TABLE 和 DROP TABLE 语句,返回值为 0。 对于其他所有类型的语句,返回值为 -1。 如果发生回滚,则返回值也为-1。 -
修改表中字段的长度
alter table 表名称 modify 字段名 varchar2(100 byte);
例如: 将表epc_info 中的epc字段长度改为100。
alter table epc_info modify epc varchar2(100 byte);
8.主键约束 (Constraints)
aa.主键约束:
要对一个列加主键约束的话,这列就必须要满足的条件就是分空
因为主键约束:就是对一个列进行了约束,约束为(非空、不重复)
语法为:
alter table 表格名称 add constraint 约束名称 增加的约束类型 (列名)