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.总结:
给表添加列可以添加到表的任意位置。
删除主键的同时可以添加索引。
索引可以重命名,字段可以重命名。字段属性可以修改。