数据表的修改
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 people ADD tel varchar(20) --例 在people中添加年龄 ALTER TABLE people ADD age int DEFAULT 18 CHECK(age >= 0 and age <= 150) SELECT * FROM people --例 在people中添加id字段作主键 ALTER TABLE people ADD id varchar(10) CONSTRAINT pkey PRIMARY KEY
-- (2) 删除字段
ALTER TABLE 表名
DROP COLUMN 列名
--例如 删除“电话”字段 ALTER TABLE people DROP COLUMN tel
-- (3)修改字段类型
ALTER TABLE 表名
ALTER COLUMN 列名 新类型
--例 将出生日期改为日期型 ALTER TABLE people ALTER COLUMN birthday date ALTER TABLE people ALTER COLUMN age decimal(5,1) --即使修改类型也不能与建表时的约束产生冲突,这里出错
--(4)添加约束
ALTER TABLE 表名
ADD CONSTRAINT 约束名
CHECK (条件)
--例 为性别字段添加约束 ALTER TABLE people ADD CONSTRAINT pgender CHECK(gender=‘男‘ or gender=‘女‘)
--(5)删除约束
ALTER TABLE 表名
DROP CONSTRAINT 约束名
--例如 删除为性别加的约束 ALTER TABLE people DROP CONSTRAINT pgender --为约束命名,便于引用 --删除id上的主键 ALTER TABLE people DROP CONSTRAINT pkey
--(6)添加主键约束
ALTER TABLE 表名
ADD CONSTRAINT 约束名
PRIMARY KEY(字段列表)
--例如 将people中id和姓名设为主键(当前无主键)
--注: (1) 目前表中无主键
-- (2) 所用字段不允许空
ALTER TABLE people ALTER COLUMN name varchar(40) NOT NULL --修改name字段的类型 ALTER TABLE people ADD CONSTRAINT pkey PRIMARY KEY(id, name) --组合主键
--(7)添加外键约束
ALTER TABLE 表名
ADD CONSTRAINT 约束名 FOREIGN KEY(外键字段名)
REFERENCES 表名2(被参照字段名)
--例 id设为外键 ALTER TABLE people ADD CONSTRAINT fkey FOREIGN KEY(id) REFERENCES Student(snumb) --此时列的长度不匹配, 报错,即:先运行下段代码,再重新运行上段代码 ALTER TABLE people ALTER COLUMN id varchar(10) NOT NULL
--3.删除表
DROP
DROP TABLE 表名
--例如 删除people表 DROP TABLE people
时间: 2024-10-13 14:06:03