常用sql语句记录

来源:互联网 发布:js 调用支付宝接口 编辑:程序博客网 时间:2024/05/15 01:05

知识点:《知识点会继续追加》
1、AUTO_INCREMENT --自增
eg: `ID` int NOT NULL AUTO_INCREMENT ,


2.指定固定列做索引

-- 未指定索引名
EXPLAIN SELECT * FROM t_text t
WHERE number='number1-2' AND t.id='001' ;
-- 指定USE INDEX('索引名')
EXPLAIN SELECT * FROM t_text t USE INDEX(index_id)
WHERE number='number1-2' AND t.id='001' ;


3.insert into |replace INTO | INSERT IGNORE INTO
replace INTO: 先删除再插入
INSERT IGNORE INTO : 查询(通过主键或unique索引)存在则更新否则插入

-- id number为主键或 是一个 UNIQUE索引列
INSERT IGNORE INTO t_text(
`id`,`name`,`number`
)
VALUES('001','name1-1','number1-1')
ON DUPLICATE KEY UPDATE
`name` = VALUES(`name`),
`number` = VALUES(`number`);
-- 批量操作
INSERT IGNORE INTO t_text(
`id`,`name`,`number`
)
VALUES('001','name1-1-1','number1-2'),
('002','name2-1-1','number2-2'),
('003','name3-1-1','number3-2')
ON DUPLICATE KEY UPDATE
`name` = VALUES(`name`),
`number` = VALUES(`number`);


4. 控制流程函数
1)case-when-then-else-end
case
when 条件 1 then 值1
when 条件 2 then 值2
when 条件 3 then 值3
else 值default
end
2)if (条件,value1,value2) 等价 三目用算
if(id > 1,'2' ,"3");

5.mysql长度问题
int 默认存储长度为32位,
int(11)表示存储的字段显示长度,与存储无关
vchar 是动太扩容存储
vchar(25 )表示值的长度,汉字也是25个


原创粉丝点击