SQLite
仅仅支持
ALTER
TABLE
语句的一部分功能,我们可以用
ALTER
TABLE
语句来更改一个表的名字,也可向表中增加一个字段(列),但是我们不能删除一个已经存在的字段,或者更改一个已经存在的字段的名称、数据类型、限定符等等。
改变表名
-
ALTER
TABLE
旧表名
RENAME
TO
新表名
增加一列
-
ALTER
TABLE
表名
ADD
COLUMN
列名
数据类型
限定符
数据表结构变了就要重建表,好像有其他方法解决,但这偶就不知道了
通过update语句实现
sql:update tablename set age=4 where age=2。
解释 :上面表的意思是更新tablename表中age字段值2为4。update语句的作用主要就是通过对某些特定表进行更新,如果没有where条件语句的话,就是更加整张表的age字段值为4。
首先,修改主键字段的字段类型,肯定是要先删除主键才能 *** 作的
--1查找主键
--SQLSERVER
select name as pkName from dbosysobjects where xtype='PK' and parent_obj=(select id from dbosysobjects where name='表名')
--ORACLE
SELECT CONSTRAINT_NAME FROM USER_CONSTRAINTS WHERE TABLE_NAME = UPPER('表名') AND CONSTRAINT_TYPE ='P'
--2删除主键约束
ALTER TABLE 表名 DROP CONSTRAINT 约束名
--ORACLE
--删除主键连同索引
ALTER TABLE 表名 DROP CONSTRAINT 约束名 CASCADE DROP INDEX;
或者
ALTER TABLE 表名 DROP PRIMARY KEY CASCADE DROP INDEX;--3修改字段
--先把这一列的值备份到临时列里,再把这一列update成null,再修改类型,再把数据拷贝回来
--SQLSERVER
--默认值单独处理,关联约束
--默认值的变更涉及到约束,如有约束,需要先查询出越是再进行删除
ALTER TABLE 表名 DROP CONSTRAINT 约束名
ALTER TABLE 表名 ALTER COLUMN 字段名 字段类型(长度精度) 是否为空
ALTER TABLE 表名 ADD CONSTRAINT 约束名 DEFAULT 默认值 FOR 字段名
--ORACLE
--删除默认值:default null
ALTER TABLE 表名 MODIFY COLUMN 字段名 VARCHAR2(20) DEFAULT ' ' NOT NULL--4新增主键
--指定主键名字
ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY (F1,F2);
--未指定主键名字
ALTER TABLE 表名 ADD PRIMARY KEY (F1,F2)
/判断该表是否已经存在/
if exists ( select from sysobjects where name ='表名')
print '表存在'
else
print '表不存在'
if exists(select from syscolumns where name='字段名' and id=object_id('表名'))
print '字段名存在'
else
print '字段名不存在'
--修改表字段类型
ALTER TABLE 表名 ALTER COLUMN 字段名 数据类型
ALTER TABLE User ALTER COLUMN name varchar(150)
if exists (select from dbosysobjects where id = object_id(N'[dbo][存储过程名]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo][存储过程名] --删除存储过程
1修改数据表名
ALTER TABLE OLD_TABLE_NAME RENAME TO NEW_TABLE_NAME;
2修改列名
ALTER TABLE TABLE_NAME RENAME COLUMN OLD_COLUMN_NAME TO NEW_COLUMN_NAME;
3修改列的数据类型
ALTER TABLE TABLE_NAME MODIFY COLUMN_NAME NEW_DATATYPE;
4插入列
ALTER TABLE TABLE_NAME ADD COLUMN_NAME DATATYPE;
5删除列
ALTER TABLE TABLE_NAME DROP COLUMN COLUMN_NAME;
以上就是关于sqlite sql 修改字段类型全部的内容,包括:sqlite sql 修改字段类型、SQL 数据库表字段中数据如何修改、SQL语句如何修改主键字段的字段类型类型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)