8.OceanBase4.0-数据库-表-序列等管理

本文详细介绍了如何修改数据库的字符集和排序规则,以及进行读写权限设置。此外,还涉及到了序列的创建、修改和使用,包括设置序列的起始值、最大值、步长等。接着,文章讨论了对表的操作,如添加、删除和重命名列,以及添加和删除主键、外键和索引。最后提到了检查约束的添加和删除,以及表的并行度调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.数据库属性修改。

ALTER DATABASE test DEFAULT CHARACTER SET utf8mb4;    --设置数据库字符集:utf8mb4
ALTER DATABASE test DEFAULT COLLATE utf8mb4_bin;      --设置数据库排序规则:utf8mb4_bin
ALTER DATABASE test READ WRITE;   --将数据库修改为读写模式。
ALTER DATABASE test READ ONLY;	

2.执行计划绑定。

--CREATE OUTLINE ol_1 ON SELECT /*+max_concurrent(1)*/ * FROM sjzt.t2_m_rcr;	
--不太会用。
select * from __all_outline;    --查询。

3.创建序列

ALTER SEQUENCE [ schema. ] sequence_name
{ RESTART [ START WITH int_value ]
|[ MINVALUE int_value | NOMINVALUE ]
|[ MAXVALUE int_value | NOMAXVALUE ]
|[ INCREMENT BY int_value ]
|[ CACHE int_value | NOCACHE ]
|[ ORDER | NOORDER ]
|[ CYCLE | NOCYCLE] 
} 
;
CREATE SEQUENCE SEQ1 START WITH 1 MINVALUE 1 NOCACHE ORDER NOCYCLE; --创建序列
ALTER SEQUENCE SEQ1 MAXVALUE 1024 CYCLE;  --指定序列最大值。
ALTER SEQUENCE SEQ1 MAXVALUE 1500 INCREMENT BY 5 CYCLE NOCACHE ORDER; --修改序列步长为5,循环-不缓存-排序
ALTER SEQUENCE SEQ1 RESTART;  --重置序列
ALTER SEQUENCE SEQ1 RESTART START WITH 3;--从3开始
ALTER SEQUENCE SEQ1 START WITH 3 RESTART MINVALUE  -100 CYCLE;--并没有从3开始,执行nextval后才会出现3;	
SELECT SEQ1.CURRVAL; --查看当前值。
SELECT SEQ1.NEXTVAL; 

4.更改表。

CREATE TABLE tbl1 (c1 INT(11) PRIMARY KEY,c2 VARCHAR(50)); 
ALTER TABLE tbl1 ADD c3 INT;
ALTER TABLE tbl1 DROP c3;
ALTER TABLE tbl1 CHANGE COLUMN c2 c3 VARCHAR(50);  --字段重命名。
ALTER TABLE tbl1 ADD COLUMN c4 INTEGER FIRST; --添加列并放在第一个位置。
ALTER TABLE tbl1 ADD COLUMN c2 INTEGER AFTER c1; --c1后面添加C2;
ALTER TABLE tbl1 ADD COLUMN c5 INT BEFORE c4;    --C4前面添加C5;

--TBL2 上添加外键。
CREATE TABLE tbl2(c1 INT PRIMARY KEY,c2 INT); 
CREATE TABLE tbl3(c1 INT PRIMARY KEY,c2 INT);
ALTER TABLE tbl2 ADD CONSTRAINT fk1 FOREIGN KEY (c2) REFERENCES tbl3(c1);
ALTER TABLE tbl2 DROP FOREIGN KEY fk1;--删除外键。
ALTER TABLE tbl2 DROP PRIMARY KEY; --删除主键

CREATE TABLE tbl2(c1 INT(11) PRIMARY KEY,c2 INT(50));
CREATE INDEX ind1 ON tbl2 (c2 ASC);  --创建索引。
ALTER TABLE tbl2 RENAME INDEX ind1 TO ind2; --重命名索引。
ALTER TABLE tbl2 ADD INDEX ind3 (c1,c2); --添加复合索引
SHOW INDEX FROM tbl2; --查看索引
ALTER TABLE tbl2 DROP INDEX ind2; --删除索引 
ALTER TABLE tbl3 PARALLEL 2; --修改表的并行度。

CREATE TABLE tbl4 (col1 BIGINT(10) NOT NULL,col2 INT);
ALTER TABLE tbl4 MODIFY col1 BIGINT(10) AUTO_INCREMENT;   --修改列为自增。
ALTER TABLE tbl4 ADD PRIMARY KEY (col1); --添加主键
ALTER TABLE tbl4 DROP PRIMARY KEY,ADD PRIMARY KEY (`col2`);--删除旧主键同时添加新主键

CREATE TABLE tbl7(col1 VARCHAR(10),col2 VARCHAR(10));
ALTER TABLE tbl7 ADD CONSTRAINT my_check CHECK (col1> col2) ;--添加检查约束。
ALTER TABLE tbl7 DROP CHECK my_check; --删除检查约束。
ALTER TABLE tbl7 MODIFY col1 VARCHAR(10) DEFAULT '12' NOT NULL; --修改为非空。

5.总结:
给表添加列可以添加到表的任意位置。
删除主键的同时可以添加索引。

索引可以重命名,字段可以重命名。字段属性可以修改。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值