当前位置:首页 » 编程语言 » sql数据表调整字段位置
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql数据表调整字段位置

发布时间: 2022-12-30 04:14:43

A. sql如何将一个数据库的一个表中两个字段的内容互换

如果用函数的办法比较麻烦 我想了个办法 你试试
select A1.其他字段,A1.B CC,A1.C BB FROM(SELECT 其他字段,BB B,CC C FROM AA) A1 ;
这个结果会达到你的要求,但是如果在这张表改变的话 还要做些工作,是有点麻烦了.
如果用函数的话
你需要定义一个游标,然后遍历 ,然后把那两个字段调换下位置, 还要删除那行 ,然后插入新行.

B. 请教 怎么在sql 指定位置添加新的字段 命令是什么啊

mysql可以实现,利用before和after 关键字就可以了
alter table xxx add 字段1 before a
alter table xxx add 字段2 after d
在bc之间也是一样的写法。

C. 在SQL表中,怎样把原先的字段改变位置

重新创建一个表:

1)把这个表rename ;
rename table1 to table2;
2)重新创建一个表
create table table1 as select ID,name,号码,住址,关系 from table2;
3)增加其他索引等对象。

D. sql的一张表,我想改变其中两个字段的顺序且表有值,该怎么做

1. 数据库表中的列顺序没有太大关系,你查询时,将列顺序调整好就可以了。

2. 如果确实要调整:
如果有外键(主要是被引用的情况),那么先删除,在下述工作完成后,再加上。
a. 将表备份: create table t_bak as select * from t;
b. 生成表的语法,将其中要调整的列调整。
c. 删除表t
d. 重新建表t (调整后的语法)
e. 将数据复制回来: insert into t(字段列表) select (字段列表) from t_bak

E. 在sql表中如何移动字段位置

建一个临时表,把数据复制过去,删除旧表
再建一个按你希望排序字段的新表,把临时表的数据复制到新表,删除临时表

F. 如何用SQL语句修改字段的排序规则

创建数据表的时候,字段在表中的排列位置就已经确定了。不过,使用ALTER TABLE语句可以改变字段在表中的排列位置。

在MySQL中,修改字段排列位置的基本语法格式如下:
ALTER TABLE 表名 MODIFY 字段名1 数据类型 FIRST | AFTER 字段名2;

其中:
•字段名1:表示需要修改位置的字段的名称。
•数据类型:表示“字段名1”的数据类型。
•FIRST:指定位置为表的第一个位置。
•AFTER 字段名2:指定“字段名1”插入在“字段名2”之后。

MySQL字段修改到第一个位置

FIRST参数可以指定字段为表的第一个字段。

实例:将ke369表中的stu_name字段修改为该表的第一个字段。操作步骤如下:

1. 使用DESC语句查看ke369表的结构,以查看stu_name字段的排列位置。如下图所示:

查看stu_name字段的排列位置

从查询结果中可以看出,stu_ www.hbbz08.com name字段为ke369表的第二个字段。

2. 将ke369表中的stu_name字段修改为该表的第一个字段。SQL代码如下:
ALTER TABLE ke369 MODIFY stu_name VARCHAR(30) FIRST;

在DOS提示符窗口中查看MySQL字段修改到第一个位置的操作效果。如下图所示:

在DOS提示符窗口中查看MySQL字段修改到第一个位置的操作效果

代码执行完毕,结果显示stu_name字段修改成功。

3. 使用DESC语句重新查看ke369表的结构,以检查stu_name字段在该表中的新位置。如下图所示:

检查stu_name字段在该表中的新位置

查询结果显示,stu_name字段已经成为了ke369表中的第一个字段,操作成功。

MySQL字段修改到指定位置

“AFTER 字段名2”参数可以将字段重新设置到表中指定的字段之后。

实例:将ke369表中num字段更改到address字段之后。操作步骤如下:

1. 从上图中可以看出,num字段排在address字段的前面。

2. 将ke369表中num字段更改到address字段之后。SQL代码如下:
ALTER TABLE ke369 MODIFY num INT(8) AFTER address;

在DOS提示符窗口中查看MySQL字段修改到指定位置的操作效果。如下图所示:

在DOS提示符窗口中查看MySQL字段修改到指定位置的操作效果

代码执行完毕,结果显示num字段修改成功。

3. 使用DESC语句重新查看ke369表的结构,以便检查num字段是否排在了address字段后面。如下图所示:

G. SQL2000表字段位置如何移动

在表中新建一个字段B,类型和字段A一致,然后Inset A字段的值到B字段,再把A字段删除

H. MYSQL表中新增字段指定位置,SQL语句该怎么写

数据表中添加一个字段的SQL语句写法为:

1、alter table 表名 ADD 字段 类型 NOT NULL Default 0

2、ALTER TABLE employee ADD spbh varchar(20) NOT NULL Default 0

3、在表employee 中加入 spbh 类型是varchar大小20 不为空 默认值是0

(8)sql数据表调整字段位置扩展阅读:

其他常用sql语句:

1、修改数据表中某项字段属性,为其添加备注。

语句格式:comment on column 库名.表名.字段名 is '输入的备注';

示例: 我要在ers_data库中 test表 document_type字段添加备注,则sql语句为:

comment on column ers_data.test.document_type is '文件类型';

2、删除数据表中的某字段。

语句格式:alter table 表名 drop (字段);

I. SQLServer2008中,在已经建好的表,如何修改列的前后位置

在表的【设计】模式下,移动字段的位置,无法保存并提示:【阻止保存要求重新创建表的更改】。
解决方案:在菜单栏依次选择【工具】—>【选项】—>【Designers】,将【阻止保存要求重新创建表的更改】前的CheckBox对号去掉

J. sql修改字段值的范围

1、字段的修改
增加字段
ALTER TABLE <表名> ADD <新字段名><数据类型>[约束条件]

对语法格式的说明如下:

1.<表名> 为数据表的名字;

2.<新字段名> 为所要添加的字段的名字;

3.<数据类型> 为所要添加的字段能存储数据的数据类型;

4.[约束条件] 是可选的,用来对添加的字段进行约束。

SQL 默认在表的最后位置添加新字段,如果希望在开头位置(第一列的前面)添加新字段,那么可以使用 FIRST 关键字,语法格式如下:

ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] FIRST;

-- 给actor表首位添加create_date字段
ALTER TABLE actor ADD COLUMN create_date datetime not null DEFAULT '2020-10-01 00:00:00' FIRST;
复制
删除字段
ALTER TABLE <表名> DROP COLUMN <字段名>

-- 将actor_new表的actor_id字段删除
alter table actor_new drop column actor_id;
复制
修改字段
1.修改字段名

ALTER TABLE <表名> RENAME COLUMN A to B

-- 将actor_new表的first_name字段名修改为first_name_new
alter table actor_new rename column first_name to first_name_new;
复制
2.修改字段类型

ALTER TABLE <表名> MODIFY COLUMN <字段名> <类型>

-- 将last_name字段数据类型由varchar(45)修改为char(45)
alter table actor_new modify column last_name char(45) not null;
复制
3.修改字段默认值

ALTER TABLE <表名> ALTER COLUMN <字段名> SET DEFAULT <默认值>

若字段有默认值,则需要先删除字段的约束,在添加新的默认值

根据约束名称删除约束

alter table <表名> alter column <字段名> drop default

-- 若本身存在默认值,则先删除
alter table actor_new alter column last_name drop default;
-- 给last_name添加默认值'洛'
alter table actor_new alter column last_name set default '洛';
复制
4.修改字段位置

将字段的位置修改为数据表的开头位置,使用FIRST关键字将当前字段修改为数据表的第一个字段

ALTER TABLE <表名> MODIFY <字段名> <数据类型> FIRST

-- 将字段first_name调整到actor表的首位
ALTER TABLE actor modify first_name varchar(45) FIRST;
复制
将选中字段修改到某字段之后

ALTER TABLE <表名> MODIFY <字段1名称> <字段1数据类型> AFTER <字段2名称>

-- 将字段first_name调整到last_name之后
ALTER TABLE actor MODIFY first_name varchar(45) AFTER last_name;
复制
2、数据的修改
增加数据
添加数据在SQL篇-创建数据表中有粗略的介绍,这里进行详细说明

1.插入一条新的数据 INSERT INTO <表名>[(列1,列2,列3,…)]VALUES(值1,值2,值3,…)

-- 插入数据的sql语句
insert into tablename(col1,col2,col3) values (value1,value2,value3);
复制
2.通过子查询插入数据 INSERT INTO <表名>[(列1,列2,列3,…)]子查询

-- 把actor_id=10的用户复制一遍
insert into tablename SELECT * FROM actor WHERE actor_id=10;
复制
删除数据
DELETE FROM <表名> [WHERE 删除条件]

注意:不写删除条件表示删除全部!

-- 删除演员编号是6的演员信息
delete from actor WHERE actor_id=6;
复制
更新数据
1.指定要更新数据的内容

UPDATE <表名> SET [字段=值,字段=值…][WHERE 更新条件]

-- 将SMITH(雇员编号为7)的工资修改为3000元,并且每个月有500元的奖金
update myemp set sal=3000,comm=500 where empno=7;
2.基于子查询的更新

UPDATE <表名> SET (列1,列2,…)=(SELECT 列1,列2,…FROM <表名>) [WHERE 查询条件]

-- 将雇员7369的职位、基本工资、雇佣日期更新为与7839相同的信息
update myemp set (job,sal,hiredate) = (select job,sal,hiredate from myemp where empno=7839) where empno=7369;
3.更新替换

-- 将address字段里的 “东” 替换为 “西” ,如下
update test_tb set address=replace(address,'东','西') where id=2
4.插入替换

-- 将id=6的name字段值改为wokou
replace into test_tb VALUES(6,'wokou','新九州岛','日本')
注意:插入替换时,若进行部分替换,则表其余字段要有默认值,否则,要列出该列的所有值

总结:向表中“替换插入”一条数据,如果原表中没有id=6这条数据就作为新数据插入(相当于insert into作用),
如果原表中有id=6这条数据就做替换(相当于update作用),对于没有指定的字段以默认值插入。