请教高手一个数据库添加列的问题

请教高手一个数据库添加列的问题,第1张

数据库类型中没有布尔类型,你可以用字符型或者数值型表示。
用字符型时可以存'1'/'0'或'true'/'false'或'真'/'假'或'T'/'F'都可以,自己决定。
用数值型时一般存1或0,1表示真,0表示假。
设表名为T1,列名为C1,C2,现加一个C3。然后对C3赋值。
alter table T1 add C3 varchar(2);
update T1 set C3='真' where C1>C2;
update T1 set C3='假' where C1<=C2;
这样做不是很好,因为以后C1和C2值修改之后C3并不能跟着修改,除非做触发器等。
最好是不在表中加字段,在查询时通过伪列实现。如:
select C1,C2,case when C1>C2 then 'true' else 'false' end C3 from T1;

alter table Test add name varchar(30) 增加一列 列名为name的字段个人认为这种 *** 作极有可能破坏数据的完整性和一致性。如果你在程序中还给用户提供一个这样的页面来运行它,运行用户自己来新增字段,向数据库发送 alter table add column这样的DDL,我认为不可取 。

sql server中建了一张表后,还想在表中增加一列的步骤如下:

1、打开数据库,进入--安全性--登录名--新建登录名

2、在常规这个选项卡中,创建登陆名,并设置默认的数据库

3、在表中新建表

4、在表的代码编程栏中输入代码:

alter table 表名 add 列名 nvarchar(20) null
go
UPDATE 表名 SET stuName = N'some_value' WHERE 列名 IS NULL
ALTER TABLE 表名 ALTER COLUMN 列名 NVARCHAR(20) NOT NULL
go

对于SQLite数据库而言有两个问题:

(1) 可以增加一列,但是该列只能是表的最后一列。

(2)不能删除一列。

如果想删除表A中的一列或者一行,首先通过SQL创建一个临时表,然后把表A中期望保留的数据存储到临时表中,然后把表A删除,再通过SQL的create语句创建表A,最后将临时表中的数据再复制回来

例1:在表coordinate中增加一列自动增长的id列。

BEGIN TRANSACTION;  
CREATE TEMPORARY TABLE ptemp(provinceID int, longitude double, latitude double);  
INSERT INTO ptemp SELECT provinceID,longitude, latitude FROM coordinate;  
DROP TABLE coordinate;  
CREATE TABLE provincecoordinate(id INTEGER PRIMARY KEY AUTOINCREMENT, provinceID int, longitude double, latitude double);  
INSERT INTO provincecoordinate(provinceID, longitude, latitude) SELECT provinceID, longitude, latitude FROM ptemp;  
DROP TABLE ptemp;  
COMMIT;

例2:在表china中增加一列自动增长的id列。

BEGIN TRANSACTION;  
CREATE TEMPORARY TABLE ptemp(longitude double, latitude double);  
INSERT INTO ptemp SELECT longitude, latitude FROM china;  
DROP TABLE china;  
CREATE TABLE china(id INTEGER PRIMARY KEY AUTOINCREMENT, longitude double, latitude double);  
INSERT INTO china(longitude, latitude) SELECT longitude, latitude FROM ptemp;  
DROP TABLE ptemp;  
COMMIT;

1、例如给某表添加一个Num自增列,这张表已经有很多行数据了,通过sqlserver表设计器,添加一个新字段Num,如图所示,

2、添加字段后,点击保存,会d出一个小框“不允许保存更改。所做的更改要求删除并重新创建一下表”,这个要求不能满足啊,这么多的数据,删除了怎么办?

3、点击SQL Server Management Studio顶部的菜单工具->选项,

4、打开选项d窗界面如图所示,默认展开的是常规选项,

5、拖动左侧的菜单,找到并点击表设计器->表设计器和数据库设计器,

6、在右侧出现的表选项中,找到并 取消勾选阻止保存要求重新创建表的更改,点击确定按钮,

7、再次在表设计界面,点击保存,如果表中的数据量很大的话,会有这个验证警告:“将定义更改保存到包含有大量数据的表中可能需要很长时间”,此项可以忽略,

8、直接点击是按钮,就可以保存成功了。


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

原文地址: https://outofmemory.cn/yw/13141881.html

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

发表评论

登录后才能评论

评论列表(0条)

保存