常用sql

表操作

  • 添加字段
ALTER TABLE tab_name ADD column_name varchar(200) DEFAULT NULL COMMENT '备注';
  • 修改字段类型、长度、注释等
ALTER TABLE tab_name MODIFY COLUMN column_name varchar(100) DEFAULT NULL COMMENT '备注2';
-- 查看表信息
SHOW TABLE STATUS
-- 复制表(带数据)(不会复制索引等信息)
CREATE TABLE gg SELECT * from zxl_user;
-- 复制表(不带数据)
CREATE TABLE gg LIKE zxl_user;
-- 查询创建表语句
show create table zxl_user;

 

索引

  • 添加索引
--添加普通索引
ALTER TABLE tab_name ADD INDEX index_name (column_name);

 

数据库

--选择数据库(localsql为例)
use localsql;
-- 创建数据库(指定编码集)
CREATE DATABASE IF NOT EXISTS localsql CHARACTER set utf8;
-- 删除数据库
DROP localsql;
-- 修改数据库全局属性(全局属性只有字符集和排序规则)
ALTER DATABASE localsql CHARACTER set utf8;

 

存储引擎

-- 查看数据库版本支持的引擎
show ENGINES
-- 修改某个表存储引擎
ALTER TABLE zxl_user ENGINE = InnoDB;

 

表数据

限制结果个数(LIMIT)(可用于分页)

select * from user limit 1; --获取到第一条
-- 获取到跳过前两条数据之后的5条数据
select * from user limit 2,5; 

根据日期年月日查询 

-- 年份是2018年的,month();dayofmonth()分别对应月和日
select * from zxl_user u where YEAR(birth_day) = 2018;
-- 年月日是今年的语句,月、日同理
select * from user u where year(birth_day) = year(curdate());

计算时间间隔 

-- 创建时间大于10天的
SELECT * from zxl_user u where (TO_DAYS(CURDATE()) - TO_DAYS(u.create_time)) >5
--   方案2 
SELECT * from zxl_user u where TIMESTAMPDIFF(DAY,u.create_time,CURDATE()) > 5;

时间增加减少DATE_ADD; DATE_sub


SELECT * from zxl_user u where DATE_ADD(u.create_time, INTERVAL 10 YEAR);

名字是有四个字符构成的

select * from user where username like '____';

mysql 排序分页

order by执行顺序在limit前面,在Where之后,在group by 之后

select * from user order by id desc limit 2,4

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值