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权限