SQL是一种介于关系代数与关系演算之间的结构化查询语言,全称是Structured Query Language,包括:
create table `sales_info` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`sku_id` varchar(32) NOT NULL COMMENT '商品ID',
`sale_date` varchar(32) NOT NULL COMMENT '销售日期yyyy-MM-dd',
`sale_num` int(11) NOT NULL DEFAULT 0 COMMENT '销量',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_key_biz` (`sku_id`,`sale_date`) USING BTREE COMMENT '业务索引'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品销量表'
基本格式:
ALTER TABLE <表名>
[ADD <列名><数据类型><完整性约束>]
[DROP <完整性约束>]
[MODIFY <列名><数据类型>]
alter table `sales_info` modify sale_date datetime;
在sku_id列后面追加shop_code字段:
alter table `sales_info` add `shop_code` varchar(32) not null default '' comment '店铺编码' after sku_id;
alter table `sales_info` drop shop_code;
alter table `sales_info` add index `idx_sale_date` (`sale_date`) using btree comment '日期索引';
基本格式:
DROP INDEX 索引名称 ON 表名;
删除索引idx_sale_date
drop index `idx_sale_date` on `sales_info`;
MySQL中没有真正意义上的修改索引,只有先删除之后再创建新的索引才可以达到修改的目的,原因是mysql在创建索引时会对字段建立关系长度等,只有删除之后创建新的索引才能创建新的关系保证索引的正确性;
将idx_key_biz索引修改成唯一索引;
drop index `idx_key_biz` on `sales_info`;
alter table `sales_info` add UNIQUE `idx_key_biz`(`sku_id`,`sale_date`) using btree comment '业务唯一键';
drop table `sales_info`
insert into `sales_info` (`sku_id`,`sale_date` ,`sale_num` ) values ('12345', '2022-06-17', '1000');
基本格式:
UPDATE <表名> SET <列名>=<表达式>
WHERE<条件>
update `sales_info` set sale_num=2000 where sku_id='12345' and sale_date='2022-06-17';
基本格式:
DELETE FROM <表名> WHERE <条件>
delete from `sales_info` where sku_id='12345' and sale_date='2022-06-17';
基本格式:
SELECT <列名> FROM <表名>
WHERE <条件表达式>
GROUP BY <列名> [HAVING <条件表达式>]
ORDER BY <列名> [ASC|DESC];
| 留言与评论(共有 0 条评论) “” |