SQL常用操作
#新增列;
ALTER TABLE appointment ADD COLUMN sell_price decimal(11,2) DEFAULT NULL COMMENT '销售起价';
#修改列
ALTER TABLE appointment MODIFY UPGRADE_FLAG varchar(1) COMMENT '免费升房Y/N';
#删除列
ALTER TABLE appointment DROP COLUMN sell_price;
#清空表
TRUNCATE appointment;
#清空表
DELETE FROM appointment;
#创建联合主键
ALTER TABLE appointment DROP PRIMARY KEY, ADD PRIMARY KEY (book_id,student_id);
#修改为唯一主键
ALTER TABLE appointment DROP PRIMARY KEY, ADD PRIMARY KEY (`book_id`);
#创建联合索引
ALTER TABLE appointment add unique INDEX IDX_PROD_KEY(`book_id`,`student_id`);
#删除索引
ALTER TABLE appointment DROP INDEX IDX_PROD_KEY;
#求不同字段中逗号个数
SELECT v.product_id,v.a,v.b FROM (
SELECT t.product_id, LENGTH(t.SUBJECT_ID)-LENGTH(REPLACE(t.SUBJECT_ID,',','')) a,LENGTH(t.SUBJECT_NAME)-LENGTH(REPLACE(t.SUBJECT_NAME,',','')) b FROM vst_search_prod_hotel t
)v WHERE v.a != v.b
TRUNCATE 与 DELETE 区别:
1、TRUNCATE效率更高,速度更快,相当于删除表在重建表
2、delete会记录日志,TRUNCATE不会记录日志
3、TRUNCATE生成环境不推荐使用,需要申请drop权限