首页 > 代码库 > (三)数据表的修改
(三)数据表的修改
1. 创建实验表people
people
CREATE TABLE people(name varchar(40),gender varchar(10),birthday varchar(10))
2.修改表
ALTER TABLE 表名
子句
--(1) 添加字段
ALTER TABLE 表名
ADD 列名 类型 [列说明]
-- 列说明
-- [NULL | NOT NULL]
-- [DEFAULT]
-- [PRIMARY KEY][约束]
--例 在people中添加电话号码ALTER TABLE peopleADD tel varchar(20)--例 在people中添加年龄ALTER TABLE peopleADD age int DEFAULT 18 CHECK(age >= 0 and age <= 150)SELECT * FROM people--例 在people中添加id字段作主键ALTER TABLE peopleADD id varchar(10) CONSTRAINT pkey PRIMARY KEY
-- (2) 删除字段
ALTER TABLE 表名
DROP COLUMN 列名
--例如 删除“电话”字段ALTER TABLE peopleDROP COLUMN tel
-- (3)修改字段类型
ALTER TABLE 表名
ALTER COLUMN 列名 新类型
--例 将出生日期改为日期型ALTER TABLE peopleALTER COLUMN birthday dateALTER TABLE peopleALTER COLUMN age decimal(5,1) --即使修改类型也不能与建表时的约束产生冲突,这里出错
--(4)添加约束
ALTER TABLE 表名
ADD CONSTRAINT 约束名
CHECK (条件)
--例 为性别字段添加约束ALTER TABLE peopleADD CONSTRAINT pgender
CHECK(gender=‘男‘ or gender=‘女‘)
--(5)删除约束
ALTER TABLE 表名
DROP CONSTRAINT 约束名
--例如 删除为性别加的约束ALTER TABLE peopleDROP CONSTRAINT pgender --为约束命名,便于引用--删除id上的主键ALTER TABLE peopleDROP CONSTRAINT pkey
--(6)添加主键约束
ALTER TABLE 表名
ADD CONSTRAINT 约束名
PRIMARY KEY(字段列表)
--例如 将people中id和姓名设为主键(当前无主键)
--注: (1) 目前表中无主键
-- (2) 所用字段不允许空
ALTER TABLE peopleALTER COLUMNname varchar(40) NOT NULL --修改name字段的类型ALTER TABLE peopleADD CONSTRAINT pkeyPRIMARY KEY(id, name) --组合主键
--(7)添加外键约束
ALTER TABLE 表名
ADD CONSTRAINT 约束名 FOREIGN KEY(外键字段名)
REFERENCES 表名2(被参照字段名)
--例 id设为外键ALTER TABLE peopleADD CONSTRAINT fkey FOREIGN KEY(id)REFERENCES Student(snumb)--此时列的长度不匹配, 报错,即:先运行下段代码,再重新运行上段代码ALTER TABLE peopleALTER COLUMN id varchar(10) NOT NULL
--3.删除表
DROP
DROP TABLE 表名
--例如 删除people表DROP TABLE people
(三)数据表的修改
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。