sql语句的简单用法 db2删除修改字段名,db2一次增加多个字段

DB2与MySQL操作指南
本文详细介绍DB2中如何修改字段名及增加多个字段的方法,并提供了MySQL中进行数据操作的各种实用SQL语句示例,包括分页查询、字段长度修改、表间数据移动等。


db2不能直接修改字段名,要先drop删除字段名再add新的,如下:

alter table TM_APP_FINAL_AUDIT_QUOTA  drop column  graduallyApprovalLevel
alter table TM_APP_FINAL_AUDIT_QUOTA  add column  gradually_Approval_Level varchar(12);

db2 增加多个字段

alter table TM_APP_CREDIT_INFO add column IS_FIT_PBOC_MARRIAGE varchar(1) add column IS_FIT_COM_MOBILE varchar(1) add column IS_FIT_HOME_ADDRESS_MOBILE varchar(1) add column IS_FIT_EDUCATIONAL varchar(1)


感觉麻烦就没有将表建进来,需要有基础的朋友替换相应的表和字段,谢谢

--mysql分页查询  5是查询在数据存储第5条数据20是从第五条开始的20条数据,因此显示的是6至26之间的数据

select * from tm_acl_dict where 1=1 limit 5,20    

--修改字段长度

 alter table tm_zm_score modify column CREDIT_UP_DATE varchar(32);

--移动表数据,从s2移动到tm_zm_watch_list_detail表,前提是两表的字段一致

insert into tm_zm_watch_list_detail 
    select * from s2 ;

--统计两张表的数据个数

select * from (select count(*) as c from tm_zm_watch_list_detail) as t0,
        (select count(*) from s2) as s0;

--删除表

drop table s2;  


--先去重一张表再右连接一张表,最后排序输出

select * from (
select distinct id_no from tm_zm_watch_list_detail) t0
right join cust on t0.id_no = cust.id_no
order by t0.id_no;

--先去重再计数

select count(distinct id_no) from cust;

//查询日期等于某天的

select * from tm_cis_req_prd_his t 
where t.req_date = '20170522'
select * from tm_zm_score t 
where t.zm_score='666'
//大于芝麻分666的
select zm_score as score from tm_zm_score
where zm_score>666
//求和
select sum(zm_score) as score from tm_zm_score
//求平均值
select avg(zm_score) as score from tm_zm_score
//求最大值
select max(zm_score+0) as score from tm_zm_score
//求最小值
select min(zm_score+0)as score from tm_zm_score
//求数据条数
select count(zm_score) from tm_zm_score
//数字字符串排序
select * from tm_zm_score order by zm_score+0 desc
//between and用法
select * from tm_zm_score where zm_score between 6 and 66 order by zm_score+0 
//in 用法
select * from tm_zm_score where zm_score in (66)
//查询某个时间段所有大于0的数据并按芝麻分降序排列
select * from tm_zm_score where zm_score>0 and create_date between '2017-04-30 00:00:00' and '2017-05-24 00:00:00' order by zm_score desc
//增加一列
alter table tm_zm_score add bb varchar(11)
//删除一列
alter table tm_zm_score drop aa
//模糊查询
select * from tm_zm_score where zm_score like '%6%' 
//插入数据
insert into  tm_zm_score(cust_id,org) value('01','01');
//删除数据
delete from tm_zm_score where cust_id='02'
//更新数据
update  tm_zm_score set cust_id='02' where cust_id='01'
//左连接表查询
select * from tm_zm_watch_list left join tm_zm_watch_list_detail on tm_zm_watch_list.cust_id=tm_zm_watch_list_detail.cust_id
//右连接查询
select * from tm_zm_watch_list right join tm_zm_watch_list_detail on tm_zm_watch_list.cust_id=tm_zm_watch_list_detail.cust_id
//内连接
select * from tm_zm_watch_list inner join tm_zm_watch_list_detail on tm_zm_watch_list.cust_id=tm_zm_watch_list_detail.cust_id
//索引创建
create   index q on tm_acl_dict(id)
//删除索引
drop index q on tm_acl_dict
select * from tm_acl_dict where id=1000


select zm_score as score from tm_zm_score where zm_score=66
//group by 分组查询
select type_name,count(type_name)  from tm_acl_dict group by type_name
select count(type_name) from tm_acl_dict t where t.type_name='省'
select count(type_name) from tm_acl_dict where type_name='省'
//case 用法
select type_name as '地区',
        case type when 'state'
                        then code else 0 end as'code'

                                from tm_acl_dict

//改变主键前要先删掉原先的主键

alter table tm_td_post_loan_monitoring_data_person_info drop PRIMARY KEY

alter table tm_td_post_loan_monitoring_data_person_info add primary key(id_number)

<think>好的,我现在要处理用户关于DB2创建多字段索引的SQL语句的问题。首先,我需要确认用户的需求。用户明确询问的是如何在DB2中创建由多个字段组成的索引,所以重点在于多字段索引的语法和注意事项。 接下来,我需要回忆DB2SQL语法。根据之前的引用内容,特别是引用[1]中提到创建索引的基本语法是CREATE INDEX index_name ON TABLE_NAME (column1, column2, ...),这应该适用于多字段的情况。但需要确认语法是否正确,是否有其他限制。 然后,查看用户提供的引用资料。引用[1]中的示例显示可以指定多个列,例如column1, column2等,这说明多字段索引是支持的。引用[2]和[3]虽然主要讨论字符串拼接和索引查询,但引用[3]中的“查询索引”部分可能涉及多字段索引的结构,但具体语法还是以引用[1]为准。 另外,需要注意DB2的版本是否对索引字段数量有限制,但通常主流数据库DB2允许创建包含多个字段的复合索引。用户可能还关心索引的排序方式,比如升序或降序,这在DB2中是否支持。根据DB2的文档,索引默认是升序,但可以在字段后指定ASC或DESC,不过需要确认版本支持情况。 然后,考虑用户可能的后续问题,比如如何选择字段顺序、索引的最佳实践等。因此,在回答中可以包含一些注意事项,帮助用户优化索引设计。 最后,验证示例的正确性。例如,创建一个包含name和age字段的索引,确保语法正确,字段用逗号分隔,索引名符合命名规则。同时,提醒用户索引命名规范和权限问题,确保用户在实际操作时不会遇到权限错误。</think>在DB2中创建多字段索引(复合索引)的SQL语句格式如下: ```sql CREATE INDEX 索引名称 ON 表名 (字段1 [ASC|DESC], 字段2 [ASC|DESC], ...); ``` 示例:为`employees`表创建基于`name`和`age`两个字段的复合索引 ```sql CREATE INDEX idx_emp_name_age ON employees (name ASC, age DESC); ``` **注意事项**: 1. 字段顺序影响查询效率,建议将高筛选度的字段放在前面[^1] 2. 单个索引最多支持64个字段(不同DB2版本可能有差异) 3. 索引命名需符合命名规范(字母开头,长度≤128字符) 4. 需要具有表的INDEX权限 **相关优化建议**: - 使用`INCLUDE`子句添加包含列可优化覆盖查询: ```sql CREATE INDEX idx_emp_cover ON employees (deptno) INCLUDE (name, salary); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老马识途2.0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值