SQL语句扩充字段、修改字段、修改类型、修改暗许值

by admin on 2019年9月12日

1.电话字段设置24个Byte竟然不够,好吧设置为50的长度。

alter table <表名> alter column <字段名> 新类型名(长度)

举例:
alter table T_CustomerFile alter MobilePhoneNumber nvarchar(50)

语法:

修改字段类型步骤:

修改字段类型步骤:

一、修改字段默认值

 2.删除一个表,整个表在数据库中消失

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[T_ABC]') AND type in (N'U'))

DROP TABLE [dbo].[T_ABC]

alter table <表名> alter column <字段名> 新类型名(长度)

1、首先需要检查字段约束

1、首先需要检查字段约束

alter table 表名 drop constraint 约束名字  
——说明:删除表的字段的原有约束

3、整型bigint、int、smallint、tinyint的区别

bigint

从 -2^63 (-9223372036854775808) 到 2^63-1(9223372036854775807)
的整型数据

(所有数字)。存储大小为 8 个字节。

 

int

从 -2^31 (-2,147,483,648) 到 2^31 – 1(2,147,483,647)
的整型数据(所有数字)。

存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。

 

smallint

从 -2^15 (-32,768) 到 2^15 – 1 (32,767) 的整型数据。存储大小为 2
个字节。

 

tinyint

从 0 到 255 的整型数据。存储大小为 1 字节。

示例:假如有名T1,字段名F1,原来F1为varchar(3),现在要改为varchar(10),则可以这么写:
alter table T1 alter column F1 varchar(10)

2、删除字段约束

2、删除字段约束

alter table 表名 add constraint 约束名字 DEFAULT 默认值 for
字段名称 ——-说明:添加一个表的字段的约束并指定默认值

 4、varchar、nvarchar、char、nchar

varchar(n)
长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和
8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n
个字节。

nvarchar(n)
包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000
之间。字节的存储大小是所输入字符个数的两倍。

 如字段值只是英文可选择varchar,而字段值存在较多的双字节(中文等)字符时用nvarchar

 

char的长度是不可变的,而varchar的长度是可变的。char的存取数度比varchar要快得多,因为其长度固定,方便程序的存储与查找;char为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据空间,可谓是以空间换取时间效率,而varchar是以空间效率为首位的

 

nchar的长度是不可变的,Unicode字符数据。

 

char,varchar 最多8000个英文,4000个汉字
nchar,nvarchar 可存储4000个字符,无论英文还是汉字

TEXT

text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。

ntext
可变长度 Unicode 数据的最大长度为 2^30 – 1 (1,073,741,823)
个字符。存储大小是所输入字符个数的两倍(以字节为单位)。ntext 在 SQL-92
中的同义词是 national text。

 

如果数据量非常大,又能100%确定长度且保存只是ansi字符,那么使用char
能确定长度又不一定是ansi字符或者,那么使用nchar
对于超大数据,如文章内容,使用nText 
其他的通用nvarchar

 

3、修改字段类型

3、修改字段类型

二、修改字段名:

 5、DECIMAL``(P,D)

表示列可以存储D位小数的P位数。十进制列的实际范围取决于精度和刻度。

剩余数字
0 0
1–2 1
3–4 2
5–6 3
7-9 4

例如:DECIMAL(19,9)对于小数部分具有9位数字,对于整数部分具有19位-9位
10位数字,小数部分需要4个字节。
整数部分对于前9位数字需要4个字节,1个剩余字节需要1个字节。DECIMAL(19,9)列总共需要9个字节。

 

一般地,改字段名可以用这条语句:
alter table A rename column a to c
但是,实际应用中,我们往往是用J-SQL进行编译,而J-SQL不支持修改字段名,所以,如果一定要修改字段名,那么只有通过变通的方法了,具体思路为:
1.新建一个字段,取名为c;
2.将字段a的内容拷贝到c;
3.删除字段a;

4、加上字段约束

4、加上字段约束

alter table 表名 rename column A to B

PowerDesigner  和 astah professional 

业务比较简单的数据库设计,使用PowerDesigner就够了。

 

点击新建新模型->Categories->Infomation->Physical
Data,即可开启数据库表结构设计之旅。

设计好的数据库表结构,双击在“Table
Properties”标签页下,有一个“Preview”的标签,打开,即可看到对应数据库表设计的SQL语句。直接复制到MSSQLServer、Oracle或其他数据库的执行窗口,执行即可创建。

 

如果业务相对复杂,可以使用astah
professional版本来进行业务和数据库设计,在astah的主界面的tools->ER
Diagram->Export Sql… 可以导出对应的SQL语句。

图片 1

 

参考

 

–不加这个条件,库中所有默认约束都可以看到

–不加这个条件,库中所有默认约束都可以看到

三、修改字段类型:

sql修改字段长度的语法:

SELECT  a.name AS DFName ,

SELECT  a.name AS DFName ,

alter table 表名 alter column UnitPrice decimal(18, 4) not null 

alter table 表名 modify 字段名 字段类型;

        b.Name AS ColumnName

        b.Name AS ColumnName

三、修改增加字段:

sql修改字段长度的示例代码

FROM    sys.objects a

FROM    sys.objects a

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

alter table qtline modify qtl_bidernote VARCHAR2(4000);

        INNER JOIN sys.columns b ON a.object_id = b.default_object_id

        INNER JOIN sys.columns b ON a.object_id = b.default_object_id

标准SQL,对任何数据库都适用

WHERE   a.type = ‘D’

WHERE   a.type = ‘D’

alter table fzrtmis.reporttemplate modify REPNAME varchar(100);

        AND b.object_id = OBJECT_ID(‘表名’)

        AND b.object_id = OBJECT_ID(‘表名’)

修改字段名名称

        AND b.name=’字段名’

        AND b.name=’字段名’

ALTER TABLE  TABLENAME RENAME COLUMN COL1 TO COL2;

 

 

添加字段

—-1.删除默认约束

—-1.删除默认约束

alter table fzrtmis.itiembuildqk add  STATIONSTATE  CHAR(1)

–ALTER TABLE 表名DROP CONSTRAINT 约束名

–ALTER TABLE 表名DROP CONSTRAINT 约束名

—-2.修改字段类型

—-2.修改字段类型

–ALTER TABLE 表名

–ALTER TABLE 表名

–ALTER COLUMN 字段名 BIGINT NOT NULL

–ALTER COLUMN 字段名 BIGINT NOT NULL

—-3.加上默认约束

—-3.加上默认约束

–ALTER TABLE 表名ADD  CONSTRAINT 约束名  DEFAULT ((0)) FOR 字段名

–ALTER TABLE 表名ADD  CONSTRAINT 约束名  DEFAULT ((0)) FOR 字段名

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图