MySQL查询今天数据
select * from 表名 where to_days(时间字段名) = to_days(now())
查询昨天
select * from 表名 where to_days(now())-to_days(时间字段名)=1
查询7天数据
select * from 表名 where date_sub(CURDATE(),INTERVAL 7 DAY) <= DATE(时间字段名)
查询近30天
select * from 表名 where date_sub(CURDATE(),INTERVAL 30 DAY) <= DATE(时间字段名)
查询本月
select * from 表名 where DATE_FORMAT(时间字段名,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m')
查询上个月
select * from 表名 where PERIOD_DIFF(DATE_FORMAT(NOW(),'%Y%m'),DATE_FORMAT(时间字段名,'%Y%m'))=1
查询本季度数据
select * from 表名 where QUARTER(create_date)=QUARTER(NOW())
查询上季度数据
select * from 表名 where QUARTER(create_date)= QUARTER(DATE_SUB(NOW(), INTERBAL 1 QUARTER))
查询本年数据
select * from 表名 where year(create_date)=year(now())
查询上年数据
select * from 表名 where year(create_date)=year(date_sub(now(),INTERVAL 1 YEAR))
查询当前这周的数据
select * from 表名 where YEARWEEK(date_from(时间字段名,'%Y-%m-%d'))=YEARWEEK(NOW())
查询上周的数据
select * from 表名 where YEARWEEK(date_from(时间字段名,'%Y-%m-%d'))=YEARWEEK(NOW())-1
查询上个月的数据
select * from 表名 where date_format(时间字段名,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m')select * from 表名 where pudate between 上月最后一天 and 下月第一天
添加外键
alter table locstock add foreign key locstock_ibfk2(stockid) refernces product(stokid)-- 注:locstock为表名,locstock_ibfk2为外键名,第一个括号里面填的是外键列名,product为表名,--第二个括号里面写的是外键关联的列名
删除外键
alter table 表名 drop foreign key 外键名
查看有哪些外键
show create table 表名
复制表格及数据到新表
这种方法会将oldtable中所有内部都拷贝过来,当然我们可以用delete from newtable 来删除,不过这种方法的一个最不好的地方就是新表中没有了旧表的primary key,Extra(auto increment)等属性,需要自己用alter 添加,而且容易搞错。
CREATE TABLE 新表名 SELECT * FROM 旧表名
只复制表结构到新表
CREATE TABLE 新表名 SELECT * FROM 旧表名 WHERE 1=2;CREATE TABLE 新表名 LIKE 旧表名;
复制旧表的数据到新表(假设两个表结构一样)
INSERT INTO 新表名 SELECT * FROM 旧表名
复制旧表的数据到新表(假设两个表结构不一样)
INSERT INTO 新表名(字段1,字段2,......) SELECT 字段1,字段2,...... FROM 旧表名
可以将表1的结构复制到表2
SELECT * INTO 表2 FROM 表1 WHERE 1=2
可以将表1的内容全部复制到表2
SELECT * INTO 表2 FROM 表1
将旧表的创建命令列表,我们只需要将该命令拷贝出来,更改table名字就可以建立一个完全一样的表
show create table 旧表名
查询数据索引
show index from 表名
创建索引
-- 创建普通索引alter table 表名 add index index_name(column list)-- 创建唯一索引alter table 表名 add unique index_name(column list)-- 创建主键索引alter table 表名 add primary key index_name(column list)
删除索引
drop index index_name on 表名 ;alter table 表名 drop index index_name ;-- 删除主键索引alter table 表名 drop primary key ;
