十六、逻辑结构:表管理4
环境准备
su - omm
gsql-r
--首先创建一张测试表。
drop table if exists test2;
create table test(
id bigint,
name varchar(50) not null,
age int default 20,
primary key(id)
);

1.创建表,为表添加字段
create table test2(
id bigint,
name varchar(50) not null,
age int default 20,
primary key(id)
);
\d test2 --查看表名

alter table test2 add column sex Boolean;--为test2添加列sex,布尔值
alter table test2 add column course varchar(20);--为test2添加列course列,varchar(20)
\d test2 --查看表名



由图可见,test2的信息添加了sex和course列。
2.删除表中的已有字段
alter table test2 drop column sex;--対表test2删除sex字段。

由图可知,test2的信息删除了sex字段。
3.删除表的已有约束、添加约束
--表test上有一个名叫test_pkey的PRIMARY KEY约束。执行下面的SQL语句,删除这个约束:
alter table test2 drop constraint test2_pkey;
--执行下面的gsql命令,再次查看表test的信息:
\d test
--或直接查看约束是否被删除
select * from pg_constraint where conname like 'test2_pkey';

如图所示:test2_key主键被删除了。
4.修改表字段的默认值
--执行下面的SQL命令,为表test添加刚刚删除的主键约束:
alter table test2 add constraint test2_pkey primary key(id);
--再次查看表test的信息:
select * from pg_constraint where conname like 'test2_pkey';
\d test2

修改与删除约束的区别在于 修改是 add 同时在主键名后需要加上设置为主键的字段。
5.修改表字段的数据类型
--执行下面的SQL语句,将age的默认值变更为35
alter table test2 alter column age set default 35;
\d test2

如图所示,默认值变为35。
6.修改表字段的名字
ALTER TABLE test2 RENAME COLUMN age TO stuage;
\d test

age列已经被修改为stuage列了。
7.修改表的名字
--修改表的名字。执行下面的SQL语句,将表test的名字变更为mytest:
ALTER TABLE test2 RENAME TO mytest;
\d mytest

8.删除表
DROP TABLE mytest;

总结:本节课已经是表管理的第四节了,由此可见表是数据库最关键的一部分,本课重点在于修改表字段,删除表的约束,添加表的约束,修改表字段的名字,修改表的名字以及删除表等。语句与mysql的相关语法有相似之处,可以举一反三。
最后修改时间:2022-12-09 23:08:22
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




