sqlserver修改字段长度
‘壹’ 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作用),对于没有指定的字段以默认值插入。
‘贰’ sql语句修改字段长度
SQL Server修改表的字段长度的语法规则及示例如下:
SQL格式:ALTER TABLE table_name(表名) ALTER Column column_name(列名) type_name(数据类型) null(是否允许NULL)
--将UserList表的Name字段长度修改为varchar(100)
(100)notnull;
SQL Server 2008的教程示例如下图:
‘叁’ SQL SERVER中某个字段属性为varchar,我想把这个字段改成int型,如何操作
SQL SERVER中某个字段属性为varchar,我想把这个字段改成int型,如何操作? aa为表名 bb为字段名
alter table aa alter column bb int
还要注意 如果原有的记录中 这个字段有字符 则改的时候会将这些记录的字符转成INT不成功,要先做好处理
SQL server如何修改表某个字段的属性?
表中没有数据的话可以导出表结构的SQL语法,修改好字段属性后,重新再建立那个表!
如果有数据的话,可以在查询分析器中修改方法:(用SQL语句)
Alter table 表名
Alter column 列名 数据类型
sql server 如何批量修改某个字段
UPDATE [表名] SET [密码字段] = '999999'如果密码是加密过的,可以先用工具或小程序获取 999999的加密字符串,然后再执行UPDATE [表名] SET [密码字段] = '999999加密后的字符串'
在 mysql里如何将字段属性char(10)改为varchar(10)?
mysql基本更新语句:
修改表名:
alter table 表名 rename to 新表名 ;
修改字段长度:
alter table 表名 modify column 字段名 varchar(20) ;
添加字段:
alter table 表名 add 字段名 varchar(50);
更新字段值:
update 表名 set 字段名 = '新值' where 条件
Django 信号如何去改变一个字段属性
Django可以获取一个model里字段铅顷定义的属性:
User._meta.get_field_by_name('username')
返回的是tuple,所以没法修改
数据库中有一数据表table_a,且该表没有主键也无唯一键,有一列row1数据都是不同的模碧(没有唯一键),对应的django中的model为:
class TableA(models.Model):
row1 = models.CharField(primary_key=True, max_length=36)
row2 = models.CharField(max_length=36)
row3 = models.CharField(max_length=36)
class Meta:
db_table = u'table_a'
django中对应的model设置row1为主键,一切正常
如果row1有重复数据,model在过滤的时候去重,使用model一切正常
objs = TableA.objects.filter(Q('取出row1中的重复项'))
如果要操作那些重复项(只有row1中的数据是重复的),但这些重复项中row2和row3的数据都是不同的
如果能动态设置model字段属性就都解决了
当然直接用sql也可以
sql server 怎么在表里某个字段后增加旦激举一个字段
alter table [表名] add 字段名 varchar(N) [null];-- 增加变长文本型字段 大小为N(1~255)
alter table [表名] add 字段名 int default 0 ;--增加数字字段,长整型,缺省值为0
在某个模块 里面有个字段的值为A 过段时间我把这个字段的值改为B 怎样更新这个字段的值 SQL语句
updata table set 字段=B where 字段=A
sql telephone 是什么字段属性
这个用varchar2吧,有-字符,数据类型的貌似不行
求SQL命令,如何统一修改某个字段
update [表] set 字段1=值 where 字段x= 条件
如果将后面的" where 字段x= 条件"去除的话就是表的字段1的全部值修改成新值...
要是回答的内容有问题,或认为不妥,请发送网络消息给我,消息内容加上本页网址哦。。
·
‘肆’ SQL如何 重新设置text类型的长度
1 在MSSQL查询分析器中(sqlserver 的Text字段最大长度是65535B,更改大一点)
use [数据库名]
exec sp_configure 'max text repl size (B)','2097152'
reconfigure
exec sp_configure
执行其中是把text字段的最大值改成2097152B(2M)
2
查询得到max text repl size (B) 最大值为2147483647,可以结合实际情况设置小于等于这个数值的值。
‘伍’ sqlserver2008数据库中,我想设置varchar字段的长度为20000,要怎么做
楼主 你都知道了最长是8000 肯定不能这样改了
如果要使用这样的长度 就用下面的类型
nvarchar(max)
varchar(max)
varbinary(max)
脚本如下 把表名和列名换下就可以了
alter table 表名 alter column 列名 nvarchar(max) not null
如果解决了楼主的问题 希望采纳
‘陆’ 怎么修改sql表中列的数据长度
是变长字符型么?
修改长度有个要求,就是这个字段上不能有约束。主键或者外键,都不行。
SQLSERVER修改语法:
alter
table
表名
alter
column
字段名
varchar(新长度)
ORACLE
alter
table
表名
modify
字段名
varchar2(新长度)