如何修改服务器上的数据库中的表

如何修改服务器上的数据库中的表,第1张

安装mysql远程工具来 *** 作db修改:

1、安装mysql管理工具

navicat for mysql

2、本地安装mysql

mysql windows版本

>

进入mysql安装目录的bin文件夹(客户都没设置环境变量找不到mysql命令只能到那个目录)比如:D:\Program Files\MySQL\MySQL Server 50\bin>

>mysql -h  8888  -u root -p

远程登录后 *** 作

修改方法:

使用update语句。语法是:update table_name set column = value[, colunm = value] [where condition];

[ ]中的部分表示可以有也可以没有。

例如:update students set stu_name = "zhangsan", stu_gender = "m" where stu_id = 5;

具体 *** 作方法:

a lter table table_name add xxoo number(4) default 0 ;

因此 不仅要修改字典, 还要刷新全部数据

1) 在ALTER sql中有带缺省值,ORACLE 会直接刷新全部的记录。

2) 在ALTER sql中没有带缺省值,ORACLE 只会影响到后来的记录。

1 2 3 4 alter table table_name add xxoo number(4) default null; Table altered,Executed in 0062 seconds。

带有default null 就可以了,1 2 3 4 alter table table_name add xxoo number(4) default 0;Table altered,Executed in 1625 seconds,原来的话 要更新所有的行, 会导致UNDO 段占用

使用语句Alter table a add test number(10) default 0;更新一个大表中字段时,表有四个分区,数据达到几十亿行,增加一个字段竟然要几个小时的时间,修改语句加上Nologging ,怎么没有作用呢?去找是不是哪有锁了呢,使用语句 select 。

1、首先你要保证你的两个表都有主键,或者有关联字段。

例如:

表A(id,name,date) id是主键

表B(id,name,date) id是主键

1)导入B数据数据到A表保留date字段值(确切的说这种情况应该叫利用B表数据更新A表数据),用下面的sql就可以达到目的:

update A set Adate=(select Bdate from B where Bid=Aid);

说明:这样做的话要保证A表和B表都有数据并且id字段能够关联上,而且这样修改的数据只是关联上的数据,假设A表中有id=1的数据而B表中没有

id=1的数据,那么A表中id=1的数据就不会被修改。

2)如果A表和B表都没有主键的话,那么寻找一个能够关联两个表数据的字段(这个字段可以从一定意义上作为"主键"区分表中数据),假设是id和name字段联合起来:

update A set Adate=(select Bdate from B where Bid=Aid and Bname=Aname);

说明:在这个更新中更新条目也只限定于能够关联上的数据。

3)如果A表中没有数据只是想把B表中的数据全部插入A表(B表中date字段的值必须被保留的话)

insert into A select from B;

说明:在这个语句中,把B表中所有的数据不加修改的全部放入了B表,自然也就包含了date字段的值不变。

insert intp A select 1,'张三',date from B;

说明:在这个语句中,把B表中的date字段的只保留,id和name字段分别换成了1和张三(当然是所有数据的id和name字段都换了)

2、综合上面的观点

1)如果表1没有数据:insert into 表1 select from 表2;

2)如果表1中有数据,并且和表2中的数据完全关联的上的话:

update 表1 set 表1sj=(select 表2sj from 表2 where 表2字段X=表1字段X and);

3)如果表1中有数据,但是表2中只有一部分能够关联上,目的是关联上的更新,关联不上的插入表1的话:

先:update 表1 set 表1sj=(select 表2sj from 表2 where 表2字段X=表1字段X and);

后:insert 表1 select from 表2 where 表2关联字段X not in(select 表1关联字段X from 表1) and

表2关联字段Y not in(select 表1关联字段Y from 表1)

---

以上,希望对你有所帮助。

以上就是关于如何修改服务器上的数据库中的表全部的内容,包括:如何修改服务器上的数据库中的表、如何修改数据库表中的某一个字段的值、SQL数据库修改表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10191814.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存