常用SQL语句

-- 创建普通索引
ALTER TABLE `user` ADD INDEX indx_address_name (address,city);
-- 创建唯一索引
alter TABLE `user` ADD UNIQUE INDEX indx_user_id (user_id);
-- 创建唯一约束,但不创建索引
ALTER TABLE `user` ADD CONSTRAINT user_id UNIQUE (user_id);
-- 替换相同key的一行,原理是先删除这行数据,再插入
REPLACE INTO `user` (id,user_id,last_name,first_name,address,city) VALUES (8,8,'张三','李四','重庆',99)
-- 类似于上面的语句
INSERT INTO `user`(id,user_id,last_name,first_name,address,city) VALUES (8,8,'张三','李四','重庆',99) ON DUPLICATE KEY UPDATE city='万州'
-- 插入或忽略,如果这个key已经存在,则什么也不干,否则插入这条数据
INSERT IGNORE INTO `user`(id,user_id,last_name,first_name,address,city) VALUES (9,007,'张三','李四','重庆',99)
-- 创建快照,将user表的id=1的数据存入新表user_info中
CREATE TABLE user_info select * from `user` WHERE id = 1;
-- 将查询的结果写入到表中,利用insert和select结合
INSERT into user_info (id,user_id,city) SELECT id,user_id,city from user WHERE `user`.id=2;
-- 强制使用索引【FORCE INDEX】
select * from FORCE INDEX (index_address) WHERE address = '北京';
-- ceiling()函数,向上取整 【CEILING】
select CEILING(COUNT(1)/4) as '向上取整' FROM `user`;
-- 聚合查询【GROUP BY】
SELECT address,city,COUNT(1) as num FROM user GROUP BY city,address;

-- 分页查询【LIMIT pageSize OFFSET startIndex】从startIndex开始,每页查询pageSize条数据
SELECT * FROM `user` LIMIT 4 OFFSET 0;

[ 版权声明 ]: 本文所有权归作者本人,文中参考的部分已经做了标记! 商业用途转载请联系作者授权! 非商业用途转载,请标明本文链接及出处!
原文地址:https://www.cnblogs.com/gslgb/p/14578067.html