mysql和oracle增删改字段并且批量更新字段内容的操作
2015-10-15 13:53
776 查看
【mysql】
一、基础
--增加字段名称,并且给定长度
alter table t_test add address varchar(100);
--修改字段名称和类型长度
alter table t_test change address new_adds varchar(200);
--删除字段名称和长度
alter table t_test drop address;
二、难度
--批量更新内容
比如把新增加的字段里面添加varchar类型的值,而这些值是原有表中的username+邮编123456
有三种思路:
1、直接写(逐行更新,单表)
update t_test td set location=CONCAT(td.username,td.password); //concat函数可以拼接多个字符串
update t_test td set location=CONCAT(left(td.username,1),td.password); //left(str,2),截取字符str的左边三位数(str可以是int varchar或者double等等)
update t_test td set location=CONCAT(right(td.username,2),td.password);//right(str,2),截取字符str的右边2位数(str可以是int varchar或者double等等)
其他截取字符串的举例介绍请参考:http://www.cnblogs.com/zdz8207/p/3765073.html
2、建立临时表
select * from xslsb xb,(select mdh from xslsb ) xb2 where xb2.name=xb.name;
3、利用程序生成sql语句(可能有数万条)
写一个程序读取需要的数据,拼接成update table_name set rows='12344' 形式;但是语句相当多
不建议使用
三、修改表名称
alter table t_test rename t_test_name;
【oracle】
一、基础
--1、增加一个字段
语法:alter table tablename add(colum type [null/not null/check()]);
alter table t_test_name add(password varchar2(20)not null);
alter table t_test_name add(mail varchar2(20)check(length(mail)=20));
alter table t_test_name add(sex varchar2(20)check(sex in('男','女')));
alter table t_test_name add(time2 varchar2(20)check(instr(time2,'@')>0));
--2、删除一个字段
语法:alter table tablename drop column tablename ;
alter table t_test_name drop column time2;
--3、修改一个字段的类型和名称
语法:alter table tablename modify(column_name type );
alter table t_test_name modify(password int);
语法:alter table tablename rename column column_name to new_column_name;
alter table t_test_name rename column password to paw;
二、难度
重命名表名称语法:ALTER TABLE table_name RENAME TO new_table_name;
例:alter table t_test_name rename to t_name_test;
一、基础
--增加字段名称,并且给定长度
alter table t_test add address varchar(100);
--修改字段名称和类型长度
alter table t_test change address new_adds varchar(200);
--删除字段名称和长度
alter table t_test drop address;
二、难度
--批量更新内容
比如把新增加的字段里面添加varchar类型的值,而这些值是原有表中的username+邮编123456
有三种思路:
1、直接写(逐行更新,单表)
update t_test td set location=CONCAT(td.username,td.password); //concat函数可以拼接多个字符串
update t_test td set location=CONCAT(left(td.username,1),td.password); //left(str,2),截取字符str的左边三位数(str可以是int varchar或者double等等)
update t_test td set location=CONCAT(right(td.username,2),td.password);//right(str,2),截取字符str的右边2位数(str可以是int varchar或者double等等)
其他截取字符串的举例介绍请参考:http://www.cnblogs.com/zdz8207/p/3765073.html
2、建立临时表
select * from xslsb xb,(select mdh from xslsb ) xb2 where xb2.name=xb.name;
3、利用程序生成sql语句(可能有数万条)
写一个程序读取需要的数据,拼接成update table_name set rows='12344' 形式;但是语句相当多
不建议使用
三、修改表名称
alter table t_test rename t_test_name;
【oracle】
一、基础
--1、增加一个字段
语法:alter table tablename add(colum type [null/not null/check()]);
alter table t_test_name add(password varchar2(20)not null);
alter table t_test_name add(mail varchar2(20)check(length(mail)=20));
alter table t_test_name add(sex varchar2(20)check(sex in('男','女')));
alter table t_test_name add(time2 varchar2(20)check(instr(time2,'@')>0));
--2、删除一个字段
语法:alter table tablename drop column tablename ;
alter table t_test_name drop column time2;
--3、修改一个字段的类型和名称
语法:alter table tablename modify(column_name type );
alter table t_test_name modify(password int);
语法:alter table tablename rename column column_name to new_column_name;
alter table t_test_name rename column password to paw;
二、难度
重命名表名称语法:ALTER TABLE table_name RENAME TO new_table_name;
例:alter table t_test_name rename to t_name_test;
相关文章推荐
- Oracle 的sql优化提高性能
- Oracle 的sql优化提高性能
- Fedoa22 解决oracle 12c Could not initialize class sun.awt.X11.XToolkit
- aix6.1安装oracle12.1.0.2,dbca时候报错UnsatisfiedLinkError exception loading native library: njni12
- oracle 监听启动失败,报错无监听程序
- oracle 增加注释
- Oracle 的时区设置
- ole db 连接oracle
- Oracle生成千万测试数据
- Oracle 一些操作
- oracle卸载Oracle Clusterware(转载)
- Oracle数据库DB_NAME、SERVICE_NAME、SID、INSTANCE_NAME、DB_UNIQUE_NAME的区别
- linux下安装Oracle11g提示“无法使用命令/usr/bin/xdpyinfo自动检查显示器颜色”问题的解决
- oracle创建主键生成序列
- 问题:Oracle 树形遍历;结果:使用oracle进行遍历树操作
- Oracle Clusterware (CRS or GI) Rolling Upgrades (文档 ID 338706.1)
- Oracle 12c Dataguard 数据库恢复
- 实现 oracle数据库转意数据到Mysql,最简单最直接
- ORACLE之ASM概念
- oracle多表查询