数据表的相关操作
创建表
create table 表名
 (字段1 数据类型,
字段2 数据类型);create table student
 (name varchar2(20),
stuId number(3),
add varchar2(50));修改表
添加一个字段
alter table 表名 add
 (字段名 数据类型);alter table student add
 (classId number(2));查看表
desc 表名
修改字段的数据长度
alter table 表名 modify
 (字段名 新修改的数据长度);alter table student modify
 (name varchar(30));修改字段数据的长度,如果该字段内无任何数据,则修改成功
 如果字段内已经有数据并且输出长度超过设置的长度,则无法更改修改字段的数据类型(该字段内不能有数据,如果修改同类型时精度必须高于原数据类型)
alter table 表名 modify
 (字段名 新数据类型);alter table >alter table student modify
 (add char(50));修改字段名
alter table 表名 rename column 原字段 to 新字段;
alter table student rename column name to stuname;
删除字段
alter table 表名 drop column 字段;
alter table student drop column name;
修改表的名字
rename 表名 to 新表名;
rename student to stu;
删除表
drop table 表名;
drop table student;
对所有字段插入值
insert into 表名 values (对应字段对值用逗号分隔);
insert into student values (‘小王’,12,‘北京’);
日期格式设置
Oracle中默认对日期格式是’DD-MON-YY’ DD是 日子(天) MON是 月份 YY是2位的年 如‘09-6月-99’ 就是 1999年 6月 9日
修改日期的默认格式
alter session set nls_date_format = ‘yyyy-mm-dd’;
修改以后就可以用我们熟悉的格式添加日期类型了
insert into student values (‘小王’,12,‘北京’,1998-02-02’);
对null值的操作
对如下学生表 字段birthday插入值为null,如何查询birthday值为null或不为null的行
insert into student (name,age,add,birthday) values (‘小明’,12,‘北京’,null);
查询student表下birthday字段值为null的行
select * from student where birthday is null;
查询student表下birthday字段为非null的行
select * from student where birthday is not null;
修改一个字段的值
update 表名 set 字段名 = 新值 where 字段名 = 原值;
修改多个字段
update 表名 set 字段1 = 新值,字段2 = 新值 where 字段 = 原值;
删除数据
delete from 表名
删除所有数据,表结构还在,写日志,可以恢复,删除速度慢
删除之前需要先使用命令 savepoint a设置回滚点 然后再使用命令rollback to a回滚操作恢复数据 ’a‘ 为回滚点,名字可以自己命名。drop table 表名;
删除表和数据结构
delete from 表名 where 字段名 = 值;
删除表中的某一条数据
truncate table 表名;
删除表中的数据,表结构还在,不写日志,无法找回被删除的数据,删除速度快
ALTER TABLE project_stakeholder MODIFY position_name VARCHAR(100) [NOT NULL] [COMMENT '职能'];
// 执行sql成功,提取数据
org.springframework.jdbc.core.JdbcTemplate.query() 221行 > var3 = rse.extractData(rs);
 	// 逐行遍历解析
	> org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData() 33行 > results.add(this.rowMapper.mapRow(rs, var3++));
		// 逐列遍历,组装数据行
		> org.springframework.jdbc.core.ColumnMapRowMapper.mapRow() 27行 > mapOfColumnValues.put(this.getColumnKey(column), this.getColumnValue(rs, i));
			// 抽取列元素
			> org.springframework.jdbc.support.JdbcUtils.getResultSetValue() 185行 > Object obj = rs.getObject(index);
			> com.mysql.jdbc.ResultSetImpl.getObject() 2714行 > return this.getInt(columnIndex);
ALTER TABLE tt_accident CHANGE safe_deal_account safe_deal_account VARCHAR(1000) DEFAULT '' COMMENT '字段注释';
ALTER TABLE table_name
MODIFY column_name datatype(size);
alter table 数据表名称
alter column 数据列名称 新类型名称(列长度)

---例:修改数据表 maomao365中列 info 的长度为varchar(80)
alter table [maomao365] 
alter column info varchar(80)
ALTER TABLE 表名 MODIFY COLUMN 字段名 类型(长度);
ALTER TABLE `operation_log` MODIFY COLUMN operator VARCHAR(50);
flowchart TD
    A[准备工作] --> B[连接HBase]
    B --> C[获取表描述器]
    C --> D[修改列族描述]
    D --> E[关闭连接]
ALTER TABLE users MODIFY COLUMN name VARCHAR(100);
ALTER TABLE 表名 MODIFY COLUMN 字段名 类型(长度);
ALTER TABLE controller MODIFY COLUMN phoneNo VARCHAR(200)
--sql修改字段长度的语法:
ALTER TABLE 表名 MODIFY 字段名 字段类型;

--sql修改字段长度的示例代码:
ALTER TABLE qtline MODIFY qtl_bidernote VARCHAR(4000);

--标准SQL,对任何数据库都适用:
ALTER TABLE fzrtmis.reporttemplate MODIFY REPNAME  VARCHAR(100);

--修改字段名名称:
ALTER TABLE  TABLENAME RENAME COLUMN COL1 TO COL2;

--添加字段:
ALTER TABLE fzrtmis.itiembuildqk ADD  STATIONSTATE  CHAR(1);


ALTER TABLE 表名
MODIFY COLUMN 字段名 字段类型(新长度);
Select o.Name As ObjectsName , c.name As ColumnsName , t.name As ColumnsType , c.length As ColumnsLength
From SysObjects As o , SysColumns As c , SysTypes As t
Where o.type in ('u','v') And o.id = c.id And c.xtype = t.xtype
Order By o.name , c.name , t.name , c.Length
CREATE TABLE mytest(t1 varchar(10),t2 varchar(10),t3 char(10),t4 varchar(10)) engine = innodb;insert into mytest VALUES('a','bb','bb','ccc');insert into mytest VALUES('d',NULL,NULL,'fff');
转:http://blog.sina.com.cn/s/blog_4c0137d10100bb5r.html

 一、通常我们在使用db2导入数据或进行别的操作时会遇到事物日志已满的情况,导致操作无法继续。

在windows系统中,我们可先db2 get db cfg for dbname(要修改的数据库名) 来查看数据的配置情况。

这时根据你的需要来修改日志文件的大小、主日志文件数目和辅助日志文件的数目。命令如下:

1、db2 "update db cfg for dbname using logfilsiz XXX (4-262144)".

2、db2 "update db cfg for dbname using logprimary X (2-256)".

3、db2 "update db cfg for dbname using logsecond XX (0-254)".

在进行这些操作的时候都要断掉应用和数据库的连接。

二、如何扩充数据的表空间。

首先,可通过 db2 list tablespaces show detail 来查看你的表空间状况。

表空间有二种类型:

1、SMS【SYSCATSPACE】,为系统管理表空间。

2、DMS,用户自己的表空间,为数据库管理表空间。

通过上面的命令来查看表空间中总的表空间(Total pages)和 剩余表空间(Free pages),如果是系统管理表空间(SMS)不够,则是由于磁盘空间不够,需要增加磁盘空间。如果是数据库管理表空间(DMS)不够,则需要扩展表空间。扩展表空间的命令为:
db2 alter tablespace extend (all <num_pages> )
例如:db2 alter tabblespace yourtablespace  extend(all 1024M)
扩展了数据库表空间1 G.

三、扩充表中字段的长度。

由于数据的变化导致原本varchar(2000)字段长度不够使用,其实很简单希望对大家有帮助:

db2 "alter table tabname alter column colname set data type varchar(4000) "

修改tabname表的colname字段将他的字段长度设置为4000。

data type 后的数据类型要和tabname中的colname类型一致哦。
test=# create table t01(id numeric,dat date);
CREATE TABLE
test=# select sys_relation_filenode('t01');
 SYS_RELATION_FILENODE 
-----------------------
                190997
(1 row)

test=# \x     
Expanded display is on.
test=# select * from sys_attribute where attrelid='t01'::regclass and attname='id';
-[ RECORD 1 ]-+--------------
ATTRELID      | 190997
ATTNAME       | id
ATTTYPID      | 1700
ATTSTATTARGET | -1
ATTLEN        | -1
ATTNUM        | 1
ATTNDIMS      | 0
ATTCACHEOFF   | -1
ATTTYPMOD     | -1
ATTBYVAL      | f
ATTSTORAGE    | m
ATTALIGN      | i
ATTNOTNULL    | f
ATTHASDEF     | f
ATTHASMISSING | f
ATTIDENTITY   | 
ATTGENERATED  | 
ATTISDROPPED  | f
ATTISLOCAL    | t
ATTINHCOUNT   | 0
ATTCOLLATION  | 0
ATTACL        | 
ATTOPTIONS    | {column_id=1}
ATTFDWOPTIONS | 
ATTMISSINGVAL |
SIGNED INT -2147483648~2147483647UNSIGNED INT 0~4294967295
CREATE TABLE `risk_request_log_bak` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `risk_buss_no` varchar(32) DEFAULT NULL COMMENT '',
  `buss_no` varchar(32) DEFAULT NULL COMMENT '',
  `buss_order_no` varchar(32) DEFAULT NULL COMMENT '',
  `server_name` varchar(30) DEFAULT NULL COMMENT '',
  `url` varchar(500) DEFAULT NULL COMMENT '',
  `interface_code` varchar(10) DEFAULT NULL COMMENT '',
  `request_msg` longtext COMMENT '请求参数体',
  `response_msg` longtext COMMENT '响应参数体',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `remark` varchar(50) DEFAULT NULL COMMENT '',
  `resp_time` datetime DEFAULT NULL COMMENT '响应时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=451029 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='接';
  • 1
  • 2
  • 3
  • 4
  • 5